diff options
author | Amichai Hemli <ah0398@intl.att.com> | 2019-07-09 14:23:37 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2019-07-09 14:23:37 +0000 |
commit | 58d22b526418ffeb89337fed9e20406da420bc6f (patch) | |
tree | 4357c9cfe1c92d57ac0a3f90167cade7af505b95 /vid-webpack-master/src | |
parent | 302b02a847e7aa8ccf3ff4bc14ff8a9cf67511b0 (diff) | |
parent | 97d9f66df456ef4573047a90baa3cc3ee4bfb0b7 (diff) |
Merge changes Ib4430bf2,Icc0bdb9e,I2736b984
* changes:
Merge from ecomp 718fd196 - Ext. Services Simulator
Merge from ecomp 718fd196 - Integration Tests
Merge from ecomp 718fd196 - Modern UI
Diffstat (limited to 'vid-webpack-master/src')
178 files changed, 18588 insertions, 4815 deletions
diff --git a/vid-webpack-master/src/app/angular-tree-component.scss b/vid-webpack-master/src/app/angular-tree-component.scss index 40333b9d1..be3533d7b 100644 --- a/vid-webpack-master/src/app/angular-tree-component.scss +++ b/vid-webpack-master/src/app/angular-tree-component.scss @@ -34,13 +34,8 @@ transition: background-color .15s,box-shadow .15s; } .node-wrapper {display: flex; align-items: flex-start;} -.node-content-wrapper-active, -.node-content-wrapper.node-content-wrapper-active:hover, -.node-content-wrapper-active.node-content-wrapper-focused { - background: #beebff; -} + .node-content-wrapper-focused { background: #e7f4f9 } -.node-content-wrapper:hover { background: #f7fbff } .node-content-wrapper-active, .node-content-wrapper-focused, .node-content-wrapper:hover { box-shadow: inset 0 0 1px #999; } diff --git a/vid-webpack-master/src/app/drawingBoard/drawingBoard.module.ts b/vid-webpack-master/src/app/drawingBoard/drawingBoard.module.ts index 6a3574f23..67b54059e 100644 --- a/vid-webpack-master/src/app/drawingBoard/drawingBoard.module.ts +++ b/vid-webpack-master/src/app/drawingBoard/drawingBoard.module.ts @@ -34,6 +34,8 @@ import {SdcUiServices} from "onap-ui-angular/dist"; import {CreateDynamicComponentService} from "onap-ui-angular/dist/utils/create-dynamic-component.service"; import {ComponentInfoComponent} from './service-planning/component-info/component-info.component'; import {ComponentInfoService} from "./service-planning/component-info/component-info.service"; +import {NetworkStepService} from "./service-planning/objectsToTree/models/vrf/vrfModal/networkStep/network.step.service"; +import {VpnStepService} from "./service-planning/objectsToTree/models/vrf/vrfModal/vpnStep/vpn.step.service"; @NgModule({ @@ -66,7 +68,9 @@ import {ComponentInfoService} from "./service-planning/component-info/component- SdcUiServices.LoaderService, CreateDynamicComponentService, ComponentInfoService, - DragAndDropService], + DragAndDropService, + NetworkStepService, + VpnStepService], declarations: [ AvailableModelsTreeComponent, HighlightPipe, diff --git a/vid-webpack-master/src/app/drawingBoard/objectsToTree/objectToModelTree/modelTreeNode.model.ts b/vid-webpack-master/src/app/drawingBoard/objectsToTree/objectToModelTree/modelTreeNode.model.ts new file mode 100644 index 000000000..36dd3ac47 --- /dev/null +++ b/vid-webpack-master/src/app/drawingBoard/objectsToTree/objectToModelTree/modelTreeNode.model.ts @@ -0,0 +1,30 @@ +import {ITreeNode} from "angular-tree-component/dist/defs/api"; +import {ModelInformationItem} from "../../../shared/components/model-information/model-information.component"; +import {ComponentInfoType} from "../../service-planning/component-info/component-info-model"; + +export interface IModelTreeNodeModel { + id?: string; + modelCustomizationId? : string; + modelVersionId?: string; + modelUniqueId? : string; + name?: string; + tooltip?: string; + type?: string; + count?: number; + max?: number; + children?: any[]; + disabled?: boolean; + dynamicInputs?: any; + isEcompGeneratedNaming?: boolean; + typeName? : string; + componentInfoType?: ComponentInfoType; + + + onAddClick?(node, serviceId); + getNodeCount?(node, serviceId); + getMenuAction?(node, serviceId); + showNodeIcons?(node, serviceId); + getModel?(modelId: string, instance: any, serviceHierarchy) + getInfo?(model, instance): ModelInformationItem[]; + +} diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/available-models-tree/available-models-tree.component.html b/vid-webpack-master/src/app/drawingBoard/service-planning/available-models-tree/available-models-tree.component.html index 91acca0d1..7864808fc 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/available-models-tree/available-models-tree.component.html +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/available-models-tree/available-models-tree.component.html @@ -34,7 +34,7 @@ [name]="'maximum'"> </svg-icon> </span> - <span class="icon-plus" *ngIf="node?.data?.showNodeIcons(node, serviceModelId)?.addIcon"> + <span class="icon-plus" *ngIf="_store.getState().service.serviceInstance[serviceModelId].action !== 'Delete' && node?.data?.showNodeIcons(node, serviceModelId)?.addIcon"> <span tooltip="Add" [attr.data-tests-id]="'node-'+node.data.name+'-add-btn'" (click)="onClickAdd(node, serviceModelId)"> <i class="fa fa-plus-circle" aria-hidden="true"></i> </span> diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/available-models-tree/available-models-tree.component.scss b/vid-webpack-master/src/app/drawingBoard/service-planning/available-models-tree/available-models-tree.component.scss index 90c2cd878..62e9be73a 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/available-models-tree/available-models-tree.component.scss +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/available-models-tree/available-models-tree.component.scss @@ -168,7 +168,7 @@ available-models-tree { .node-content-wrapper.node-content-wrapper-focused { tree-node-content { > div { - background: #009FDB; + background: #009FDB !important; color: white; } } @@ -178,7 +178,7 @@ available-models-tree { > div { background: #F2F2F2; &.tree-node-focused:not(.tree-node-disabled) { - background: #009FDB; + background: #009FDB !important; color: white; } span.actions { @@ -206,6 +206,8 @@ available-models-tree { border-color: #1EB9F3; } .node-content-wrapper-focused{ + background: #009FDB !important; + border-color: #1EB9F3; box-shadow: none; tree-node-content { @@ -395,6 +397,7 @@ available-models-tree { .node-content-wrapper.node-content-wrapper-focused{ border-color:#1EB9F3 ; + background: #009FDB !important; tree-node-content > div{ .vf-type,.model-info,.model-info .property-name { color: white; @@ -410,7 +413,9 @@ available-models-tree { } - + available-models-tree .node-content-wrapper.node-content-wrapper-focused { + background: #009FDB !important; + } .vf-type { width: 40px; height: 45px; diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/available-models-tree/available-models-tree.component.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/available-models-tree/available-models-tree.component.ts index 31d7b03b8..145ee19da 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/available-models-tree/available-models-tree.component.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/available-models-tree/available-models-tree.component.ts @@ -25,6 +25,9 @@ import {VnfGroupControlGenerator} from "../../../shared/components/genericForm/f import {HighlightPipe} from "../../../shared/pipes/highlight/highlight-filter.pipe"; import * as _ from 'lodash'; import {DrawingBoardTreeComponent} from "../drawing-board-tree/drawing-board-tree.component"; +import {ComponentInfoModel} from "../component-info/component-info-model"; +import {ComponentInfoService} from "../component-info/component-info.service"; +import {FeatureFlagsService, Features} from "../../../shared/services/featureFlag/feature-flags.service"; @Component({ @@ -72,6 +75,7 @@ export class AvailableModelsTreeComponent { value => { this.serviceHierarchy = value; this.nodes = this._objectToModelTreeService.convertServiceHierarchyModelToTreeNodes(this.serviceHierarchy); + this.shouldOpenVRFModal(this.nodes); }, error => { console.log('error is ', error) @@ -102,6 +106,13 @@ export class AvailableModelsTreeComponent { }; + shouldOpenVRFModal(nodes) :void { + const node = this._availableModelsTreeService.shouldOpenVRFModal(nodes, this.serviceModelId, this.store.getState().service); + if(!_.isNil(node)){ + this.onClickAdd(node, this.serviceModelId); + } + } + getNodeName(node : ITreeNode, filter : string) { return this._highlightPipe.transform(node.data.name ,filter ? filter : ''); } @@ -119,6 +130,13 @@ export class AvailableModelsTreeComponent { node.expand(); this._sharedTreeService.setSelectedVNF(null); this.highlightInstances.emit(node.data.modelUniqueId); + if (FeatureFlagsService.getFlagState(Features.FLAG_1906_COMPONENT_INFO, this.store)) { + const serviceHierarchy = this._store.getState().service.serviceHierarchy[this.serviceModelId]; + const model = node.data.getModel(node.data.name, node.data, serviceHierarchy); + const modelInfoItems = node.data.getInfo(model, null); + const componentInfoModel :ComponentInfoModel = this._sharedTreeService.addGeneralInfoItems(modelInfoItems, node.data.componentInfoType, model, null); + ComponentInfoService.triggerComponentInfoChange.next(componentInfoModel); + } } @@ -127,7 +145,7 @@ export class AvailableModelsTreeComponent { this.isNewObject = isNewObject; let data = node.data; let dynamicInputs = data.dynamicInputs; - let isAlaCarte: boolean = this.serviceHierarchy.service.instantiationType == "A-La-Carte"; + let isAlaCarte: boolean = this.serviceHierarchy.service.vidNotions.instantiationType == 'ALaCarte'; let isEcompGeneratedNaming: boolean = data.isEcompGeneratedNaming; let type: string = data.type; if (!this.store.getState().global.flags['FLAG_SETTING_DEFAULTS_IN_DRAWING_BOARD'] || node.data.type === ServiceNodeTypes.VF || @@ -150,7 +168,8 @@ export class AvailableModelsTreeComponent { let existVnf = this._store.getState().service.serviceInstance[this.serviceModelId].vnfs; if(!_.isNil(existVnf)){ for(let vnfKey in existVnf){ - if(existVnf[vnfKey]['modelInfo'].modelUniqueId === node.parent.data.id){ + const modelUniqueId = existVnf[vnfKey]['modelInfo'].modelCustomizationId || existVnf[vnfKey]['modelInfo'].modelInvariantId; + if(modelUniqueId === node.parent.data.id){ this.store.dispatch(createVFModuleInstance(vfModule, node.data.name, this.serviceModelId, null, vnfKey)); DrawingBoardTreeComponent.triggerreCalculateIsDirty.next(this.serviceModelId); } diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/available-models-tree/available-models-tree.service.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/available-models-tree/available-models-tree.service.spec.ts index cf9d04aae..4abc20324 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/available-models-tree/available-models-tree.service.spec.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/available-models-tree/available-models-tree.service.spec.ts @@ -1,9 +1,6 @@ -import {TestBed, getTestBed} from '@angular/core/testing'; -import { - HttpClientTestingModule, - HttpTestingController -} from '@angular/common/http/testing'; -import {AvailableModelsTreeService, AvailableNodeIcons} from './available-models-tree.service'; +import {getTestBed, TestBed} from '@angular/core/testing'; +import {HttpClientTestingModule, HttpTestingController} from '@angular/common/http/testing'; +import {AvailableModelsTreeService} from './available-models-tree.service'; import {ServiceNodeTypes} from "../../../shared/models/ServiceNodeTypes"; import {DefaultDataGeneratorService} from "../../../shared/services/defaultDataServiceGenerator/default.data.generator.service"; import {MessageBoxService} from "../../../shared/components/messageBox/messageBox.service"; @@ -63,9 +60,9 @@ describe('Available Models Tree Service', () => { // add vfModule with dynamicInputs without defaultValues should return true result = service.shouldOpenDialog(ServiceNodeTypes.VFmodule, [{ - id: '2017488_adiodvpe0_vnf_config_template_version', + id: '2017488_pasqualevpe0_vnf_config_template_version', type: 'string', - name: '2017488_adiodvpe0_vnf_config_template_version', + name: '2017488_pasqualevpe0_vnf_config_template_version', isRequired: true, description: 'VPE Software Version' }], true); @@ -73,9 +70,9 @@ describe('Available Models Tree Service', () => { // add vfModule with dynamicInputs with defaultValues should return false result = service.shouldOpenDialog(ServiceNodeTypes.VFmodule, [{ - id: '2017488_adiodvpe0_vnf_config_template_version', + id: '2017488_pasqualevpe0_vnf_config_template_version', type: 'string', - name: '2017488_adiodvpe0_vnf_config_template_version', + name: '2017488_pasqualevpe0_vnf_config_template_version', value: '17.2', isRequired: true, description: 'VPE Software Version' @@ -84,6 +81,160 @@ describe('Available Models Tree Service', () => { }); }); + + test('shouldOpenVRFModal', () => { + const nodes = [{ + "id": "dd024d73-9bd1-425d-9db5-476338d53433", + "modelCustomizationId": "dd024d73-9bd1-425d-9db5-476338d53433", + "modelVersionId": "9cac02be-2489-4374-888d-2863b4511a59", + "modelUniqueId": "dd024d73-9bd1-425d-9db5-476338d53433", + "name": "VRF Entry Configuration 0", + "tooltip": "VRF", + "type": "VRF", + "count": 0, + "max": 1, + "children": [], + "disabled": false, + "dynamicInputs": [], + "isEcompGeneratedNaming": false, + "typeName": "VRF", + "componentInfoType": "VRF", + "getModel" : ()=>{ + return { + min : 1 + } + } + }]; + + + const serviceStore = { + "serviceInstance": { + "4117a0b6-e234-467d-b5b9-fe2f68c8b0fc": { + "action": "Create", + "isDirty": false, + "vnfs": {}, + "vrfs": { + "VRF Entry Configuration": { + "action": "Create", + "uuid": "9cac02be-2489-4374-888d-2863b4511a59", + "inputs": {}, + "type": "Configuration", + "trackById": "s0z58emiprq", + "modelInfo": { + "modelInvariantId": "b67a289b-1688-496d-86e8-1583c828be0a", + "modelVersionId": "69e09f68-8b63-4cc9-b9ff-860960b5db09", + "modelName": "VRF Entry Configuration", + "modelVersion": "5.0", + "modelCustomizationId": "dd024d73-9bd1-425d-9db5-476338d53433", + "modelUniqueId": "dd024d73-9bd1-425d-9db5-476338d53433", + "modelCustomizationName": "VRF Entry Configuration", + "uuid": "9cac02be-2489-4374-888d-2863b4511a59" + }, + "vpns": { + "VRF Entry Configuration vpns 1": { + "action": "Create", + "instanceId": "46fcb25a-e7ba-4d96-99ba-3bb6eae6aba7", + "instanceName": "LPPVPN", + "platformName": "AVPN", + "instanceType": "SERVICE-INFRASTRUCTURE", + "region": "USA,EMEA", + "customerId": "VPN1271", + "modelInfo": { + "modelCustomizationId": null, + "modelInvariantId": null, + "modelVersionId": null + }, + "routeTargets": null, + "isSelected": true + } + }, + "networks": { + "VRF Entry Configuration networks 1": { + "action ": "Create", + "instanceName": "AUK51a_oam_calea_net_0", + "instanceType": "SR-IOV-PROVIDER2-0", + "role": "role-1", + "orchStatus": "Active", + "physicalName": "sriovnet0", + "instanceId": "46fcb25a-e7ba-4d96-99ba-3bb6eae6aba7", + "serviceName": "LPPVPN", + "serv§iceUUID": "VPN1271", + "tenantName": "ecomp_ispt", + "lcpCloudRegionId": "USA,EMEA", + "modelInfo": { + "modelCustomizationId": "46fcb25a-e7ba-4d96-99ba-3bb6eae6aba7", + "modelInvariantId": "46fcb25a-e7ba-4d96-99ba-3bb6eae6aba7", + "modelVersionId": "7010093-df36-4dcb-8428-c3d02bf3f88d", + "modelType": "vpn" + } + } + } + } + }, + "instanceParams": [], + "validationCounter": 0, + "existingNames": {}, + "existingVNFCounterMap": {}, + "existingVRFCounterMap": {}, + "existingVnfGroupCounterMap": {}, + "existingNetworksCounterMap": {}, + "optionalGroupMembersMap": {}, + "networks": {}, + "vnfGroups": {}, + "bulkSize": 1, + "service": { + "vidNotions": { + "instantiationUI": "serviceWithVRF", + "modelCategory": "other", + "viewEditUI": "serviceWithVRF", + "instantiationType": "ALaCarte" + }, + "uuid": "4117a0b6-e234-467d-b5b9-fe2f68c8b0fc", + "invariantUuid": "7ee41ce4-4827-44b0-a48e-2707a59905d2", + "name": "VRF Service for Test", + "version": "1.0", + "toscaModelURL": null, + "category": "Network L4+", + "serviceType": "INFRASTRUCTURE", + "serviceRole": "Configuration", + "description": "xxx", + "serviceEcompNaming": "true", + "instantiationType": "A-La-Carte", + "inputs": {} + }, + "collectionResources": {}, + "configurations": {}, + "fabricConfigurations": {}, + "serviceProxies": {}, + "vfModules": {}, + "volumeGroups": {}, + "pnfs": {}, + "isALaCarte": true, + "testApi": "VNF_API", + "vidNotions": { + "instantiationUI": "serviceWithVVRF", + "modelCategory": "other", + "viewEditUI": "serviceWithVRF", + "instantiationType": "ALaCarte" + } + } + } + }; + + const serviceModelId :string = '4117a0b6-e234-467d-b5b9-fe2f68c8b0fc'; + + let result: boolean = service.shouldOpenVRFModal(nodes, serviceModelId, serviceStore); + expect(result).not.toBeNull(); + + serviceStore.serviceInstance[serviceModelId].existingVRFCounterMap = { + "dd024d73-9bd1-425d-9db5-476338d53433" : 1 + }; + + result = service.shouldOpenVRFModal(nodes, serviceModelId, serviceStore); + expect(result).toBeNull(); + + }); + function getServiceServiceHierarchy() { return JSON.parse(JSON.stringify( { @@ -103,11 +254,11 @@ describe('Available Models Tree Service', () => { 'inputs': {} }, 'vnfs': { - 'VF_vMee 0': { + 'VF_vGeraldine 0': { 'uuid': 'd6557200-ecf2-4641-8094-5393ae3aae60', 'invariantUuid': '4160458e-f648-4b30-a176-43881ffffe9e', - 'description': 'VSP_vMee', - 'name': 'VF_vMee', + 'description': 'VSP_vGeraldine', + 'name': 'VF_vGeraldine', 'version': '2.0', 'customizationUuid': '91415b44-753d-494c-926a-456a9172bbb9', 'inputs': {}, @@ -277,54 +428,54 @@ describe('Available Models Tree Service', () => { 'sctp-b-egress-dst_end_port': '65535.0' }, 'type': 'VF', - 'modelCustomizationName': 'VF_vMee 0', + 'modelCustomizationName': 'VF_vGeraldine 0', 'vfModules': { - 'vf_vmee0..VfVmee..vmme_vlc..module-1': { + 'vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1': { 'uuid': '522159d5-d6e0-4c2a-aa44-5a542a12a830', 'invariantUuid': '98a7c88b-b577-476a-90e4-e25a5871e02b', 'customizationUuid': '55b1be94-671a-403e-a26c-667e9c47d091', 'description': null, - 'name': 'VfVmee..vmme_vlc..module-1', + 'name': 'VfVgeraldine..vflorence_vlc..module-1', 'version': '2', - 'modelCustomizationName': 'VfVmee..vmme_vlc..module-1', + 'modelCustomizationName': 'VfVgeraldine..vflorence_vlc..module-1', 'properties': {'minCountInstances': 0, 'maxCountInstances': null, 'initialCount': 0}, 'commands': {}, 'volumeGroupAllowed': false }, - 'vf_vmee0..VfVmee..vmme_gpb..module-2': { + 'vf_vgeraldine0..VfVgeraldine..vflorence_gpb..module-2': { 'uuid': '41708296-e443-4c71-953f-d9a010f059e1', 'invariantUuid': '1cca90b8-3490-495e-87da-3f3e4c57d5b9', 'customizationUuid': '6add59e0-7fe1-4bc4-af48-f8812422ae7c', 'description': null, - 'name': 'VfVmee..vmme_gpb..module-2', + 'name': 'VfVgeraldine..vflorence_gpb..module-2', 'version': '2', - 'modelCustomizationName': 'VfVmee..vmme_gpb..module-2', + 'modelCustomizationName': 'VfVgeraldine..vflorence_gpb..module-2', 'properties': {'minCountInstances': 0, 'maxCountInstances': null, 'initialCount': 0}, 'commands': {}, 'volumeGroupAllowed': false }, - 'vf_vmee0..VfVmee..base_vmme..module-0': { + 'vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0': { 'uuid': 'a27f5cfc-7f12-4f99-af08-0af9c3885c87', 'invariantUuid': 'a6f9e51a-2b35-416a-ae15-15e58d61f36d', 'customizationUuid': 'f8c040f1-7e51-4a11-aca8-acf256cfd861', 'description': null, - 'name': 'VfVmee..base_vmme..module-0', + 'name': 'VfVgeraldine..base_vflorence..module-0', 'version': '2', - 'modelCustomizationName': 'VfVmee..base_vmme..module-0', + 'modelCustomizationName': 'VfVgeraldine..base_vflorence..module-0', 'properties': {'minCountInstances': 1, 'maxCountInstances': 1, 'initialCount': 1}, 'commands': {}, 'volumeGroupAllowed': true } }, 'volumeGroups': { - 'vf_vmee0..VfVmee..base_vmme..module-0': { + 'vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0': { 'uuid': 'a27f5cfc-7f12-4f99-af08-0af9c3885c87', 'invariantUuid': 'a6f9e51a-2b35-416a-ae15-15e58d61f36d', 'customizationUuid': 'f8c040f1-7e51-4a11-aca8-acf256cfd861', 'description': null, - 'name': 'VfVmee..base_vmme..module-0', + 'name': 'VfVgeraldine..base_vflorence..module-0', 'version': '2', - 'modelCustomizationName': 'VfVmee..base_vmme..module-0', + 'modelCustomizationName': 'VfVgeraldine..base_vflorence..module-0', 'properties': {'minCountInstances': 1, 'maxCountInstances': 1, 'initialCount': 1} } } @@ -370,52 +521,52 @@ describe('Available Models Tree Service', () => { }, 'serviceProxies': {}, 'vfModules': { - 'vf_vmee0..VfVmee..vmme_vlc..module-1': { + 'vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1': { 'uuid': '522159d5-d6e0-4c2a-aa44-5a542a12a830', 'invariantUuid': '98a7c88b-b577-476a-90e4-e25a5871e02b', 'customizationUuid': '55b1be94-671a-403e-a26c-667e9c47d091', 'description': null, - 'name': 'VfVmee..vmme_vlc..module-1', + 'name': 'VfVgeraldine..vflorence_vlc..module-1', 'version': '2', - 'modelCustomizationName': 'VfVmee..vmme_vlc..module-1', + 'modelCustomizationName': 'VfVgeraldine..vflorence_vlc..module-1', 'properties': {'minCountInstances': 0, 'maxCountInstances': null, 'initialCount': 0}, 'commands': {}, 'volumeGroupAllowed': false }, - 'vf_vmee0..VfVmee..vmme_gpb..module-2': { + 'vf_vgeraldine0..VfVgeraldine..vflorence_gpb..module-2': { 'uuid': '41708296-e443-4c71-953f-d9a010f059e1', 'invariantUuid': '1cca90b8-3490-495e-87da-3f3e4c57d5b9', 'customizationUuid': '6add59e0-7fe1-4bc4-af48-f8812422ae7c', 'description': null, - 'name': 'VfVmee..vmme_gpb..module-2', + 'name': 'VfVgeraldine..vflorence_gpb..module-2', 'version': '2', - 'modelCustomizationName': 'VfVmee..vmme_gpb..module-2', + 'modelCustomizationName': 'VfVgeraldine..vflorence_gpb..module-2', 'properties': {'minCountInstances': 0, 'maxCountInstances': null, 'initialCount': 0}, 'commands': {}, 'volumeGroupAllowed': false }, - 'vf_vmee0..VfVmee..base_vmme..module-0': { + 'vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0': { 'uuid': 'a27f5cfc-7f12-4f99-af08-0af9c3885c87', 'invariantUuid': 'a6f9e51a-2b35-416a-ae15-15e58d61f36d', 'customizationUuid': 'f8c040f1-7e51-4a11-aca8-acf256cfd861', 'description': null, - 'name': 'VfVmee..base_vmme..module-0', + 'name': 'VfVgeraldine..base_vflorence..module-0', 'version': '2', - 'modelCustomizationName': 'VfVmee..base_vmme..module-0', + 'modelCustomizationName': 'VfVgeraldine..base_vflorence..module-0', 'properties': {'minCountInstances': 1, 'maxCountInstances': 1, 'initialCount': 1}, 'commands': {}, 'volumeGroupAllowed': true } }, 'volumeGroups': { - 'vf_vmee0..VfVmee..base_vmme..module-0': { + 'vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0': { 'uuid': 'a27f5cfc-7f12-4f99-af08-0af9c3885c87', 'invariantUuid': 'a6f9e51a-2b35-416a-ae15-15e58d61f36d', 'customizationUuid': 'f8c040f1-7e51-4a11-aca8-acf256cfd861', 'description': null, - 'name': 'VfVmee..base_vmme..module-0', + 'name': 'VfVgeraldine..base_vflorence..module-0', 'version': '2', - 'modelCustomizationName': 'VfVmee..base_vmme..module-0', + 'modelCustomizationName': 'VfVgeraldine..base_vflorence..module-0', 'properties': {'minCountInstances': 1, 'maxCountInstances': 1, 'initialCount': 1} } }, diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/available-models-tree/available-models-tree.service.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/available-models-tree/available-models-tree.service.ts index dc72f8f12..39a3c5070 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/available-models-tree/available-models-tree.service.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/available-models-tree/available-models-tree.service.ts @@ -7,6 +7,8 @@ import {MessageBoxService} from "../../../shared/components/messageBox/messageBo import * as _ from "lodash"; import { SdcUiCommon} from "onap-ui-angular"; import {SharedTreeService} from "../objectsToTree/shared.tree.service"; +import {VrfModel} from "../../../shared/models/vrfModel"; +import {clearAllGenericModalhelper} from "../../../shared/storeUtil/utils/global/global.actions"; export class AvailableNodeIcons { addIcon: boolean; @@ -16,6 +18,7 @@ export class AvailableNodeIcons { this.addIcon = addIcon; this.vIcon = vIcon; } + } @Injectable() @@ -73,4 +76,20 @@ export class AvailableModelsTreeService { MessageBoxService.openModal.next(messageBoxData); } + shouldOpenVRFModal(nodes, serviceModelId: string , service) { + for(const node of nodes){ + if(node.type === 'VRF' && service.serviceInstance[serviceModelId].existingVRFCounterMap && !service.serviceInstance[serviceModelId].existingVRFCounterMap[node.modelUniqueId]){ + const vrfModel : VrfModel = node.getModel(node.name, node, service.serviceInstance[serviceModelId]); + const vrfCounter : number = service.serviceInstance[serviceModelId].existingVRFCounterMap[node.modelUniqueId]; + console.log('vrfCounter', vrfCounter); + if(vrfModel.min > 0 && (_.isNil(vrfCounter) || vrfCounter === 0)){ + node.data = node; + this.store.dispatch(clearAllGenericModalhelper()); + return node; + } + } + } + return null; + } + } diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/component-info/component-info-model.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/component-info/component-info-model.ts index 4c5bf6747..d06dfbe9a 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/component-info/component-info-model.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/component-info/component-info-model.ts @@ -7,11 +7,11 @@ export class ComponentInfoModel { title: string; - constructor(type: ComponentInfoType, modelInfoItems: ModelInformationItem[], additionalInfoItems: ModelInformationItem[], isInstance:boolean=true) { + constructor(type: ComponentInfoType, modelInfoItems: ModelInformationItem[], additionalInfoItems: ModelInformationItem[], isInstance:boolean = true) { this.type = type; this.modelInfoItems = modelInfoItems; this.additionalInfoItems = additionalInfoItems; - this.title=this.type+(isInstance ? " Instance" : ""); + this.title = this.type + (isInstance ? " Instance" : ""); } } @@ -22,5 +22,11 @@ export enum ComponentInfoType { NETWORK = "Network", VFMODULE = "VFModule", VNFGROUP = "Group", - VNFMEMBER = "VNF" + VNFMEMBER = "VNF", + CONFIGURATION = "Configuration", + COLLECTION_RESOURCE = "Collection Resource", + VRF = "VRF", + PNF = "PNF", + VPN = "VPN", + NCF = "Network Collection Function" } diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/component-info/component-info.component.scss b/vid-webpack-master/src/app/drawingBoard/service-planning/component-info/component-info.component.scss index 2d7735678..62e53ed0d 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/component-info/component-info.component.scss +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/component-info/component-info.component.scss @@ -26,7 +26,6 @@ font-family: OpenSans-Regular; font-size: 12px; color: #5A5A5A; - text-transform: capitalize; } .model-item-value { @@ -34,6 +33,7 @@ font-size: 14px; color: #191919; line-height: 16px; + word-break: break-word; } } diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/component-info/component-info.component.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/component-info/component-info.component.ts index c69ab52e1..d9fa98555 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/component-info/component-info.component.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/component-info/component-info.component.ts @@ -7,8 +7,8 @@ import {ActivatedRoute} from "@angular/router"; @Component({ selector: 'component-info', templateUrl: './component-info.component.html', - styleUrls: ['./component-info.component.scss'], - changeDetection: ChangeDetectionStrategy.OnPush + styleUrls: ['./component-info.component.scss']//, + // changeDetection: ChangeDetectionStrategy.OnPush }) export class ComponentInfoComponent implements OnInit { componentInfoModel: ComponentInfoModel = null; diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/component-info/component-info.service.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/component-info/component-info.service.spec.ts index 8b0da409b..6671e2e18 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/component-info/component-info.service.spec.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/component-info/component-info.service.spec.ts @@ -7,6 +7,7 @@ import {HttpClient, HttpHandler} from '@angular/common/http'; import {FeatureFlagsService} from '../../../shared/services/featureFlag/feature-flags.service'; import {ModelInformationItem} from "../../../shared/components/model-information/model-information.component"; import {ComponentInfoModel, ComponentInfoType} from "./component-info-model"; +import {SharedTreeService} from "../objectsToTree/shared.tree.service"; class MockAppStore<T> { getState() { @@ -58,6 +59,7 @@ beforeAll(done => (async () => { HttpHandler, FeatureFlagsService, ComponentInfoService, + SharedTreeService, {provide: NgRedux, useClass: MockAppStore}, MockNgRedux] }); @@ -77,12 +79,12 @@ describe('Service Info Data', () => { let actualServiceInfo = service.getInfoForService('1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd'); let expectedServiceInfo = [ ModelInformationItem.createInstance('Type', 'pnf'), - ModelInformationItem.createInstance('Model Version', '1.0'), - ModelInformationItem.createInstance('Model Customization ID', ''), + ModelInformationItem.createInstance('Model version', '1.0'), + ModelInformationItem.createInstance('Model customization ID', ''), ModelInformationItem.createInstance('Instance ID', '2f7130e8-27d6-4c01-8988-60ca67e8dae4'), - ModelInformationItem.createInstance('Subscriber Name', 'SILVIA ROBBINS'), - ModelInformationItem.createInstance('Service Type', 'TYLER SILVIA'), - ModelInformationItem.createInstance('Service Role', 'Testing'), + ModelInformationItem.createInstance('Subscriber name', 'SILVIA ROBBINS'), + ModelInformationItem.createInstance('Service type', 'TYLER SILVIA'), + ModelInformationItem.createInstance('Service role', 'Testing'), ]; expect(actualServiceInfo).toEqual(new ComponentInfoModel(ComponentInfoType.SERVICE, expectedServiceInfo, [])); diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/component-info/component-info.service.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/component-info/component-info.service.ts index 9318b3aa7..32610d993 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/component-info/component-info.service.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/component-info/component-info.service.ts @@ -6,36 +6,27 @@ import {Subject} from "rxjs"; import {ComponentInfoModel, ComponentInfoType} from "./component-info-model"; import {ModelInformationItem} from "../../../shared/components/model-information/model-information.component"; import * as _ from 'lodash'; +import {SharedTreeService} from "../objectsToTree/shared.tree.service"; @Injectable() export class ComponentInfoService { static triggerComponentInfoChange: Subject<ComponentInfoModel> = new Subject<ComponentInfoModel>(); - constructor( private _store: NgRedux<AppState>, private _aaiService : AaiService){ } + constructor( private _store: NgRedux<AppState>, private _aaiService : AaiService, private _sharedTreeService : SharedTreeService){ } getInfoForService(serviceModelId):ComponentInfoModel { if(_.isNil(this._store.getState().service.serviceHierarchy[serviceModelId])) return null; - let serviceHierarchy = this._store.getState().service.serviceHierarchy[serviceModelId].service; + const serviceHierarchy = this._store.getState().service.serviceHierarchy[serviceModelId].service; const serviceInstance = this._store.getState().service.serviceInstance[serviceModelId]; const modelInfoItems: ModelInformationItem[] = [ - ModelInformationItem.createInstance("Subscriber Name",this._aaiService.extractSubscriberNameBySubscriberId(serviceInstance.globalSubscriberId)), - ModelInformationItem.createInstance("Service Type",serviceInstance.subscriptionServiceType), - ModelInformationItem.createInstance("Service Role",serviceHierarchy.serviceRole), + ModelInformationItem.createInstance("Type", serviceHierarchy.serviceType), + ModelInformationItem.createInstance("Model version", serviceHierarchy.version ), + ModelInformationItem.createInstance("Model customization ID", serviceHierarchy.customizationUuid ), + ModelInformationItem.createInstance("Instance ID", serviceInstance.instanceId), + ModelInformationItem.createInstance("Subscriber name",this._aaiService.extractSubscriberNameBySubscriberId(serviceInstance.globalSubscriberId)), + ModelInformationItem.createInstance("Service type",serviceInstance.subscriptionServiceType), + ModelInformationItem.createInstance("Service role",serviceHierarchy.serviceRole), ]; - serviceHierarchy.type = serviceHierarchy.serviceType; - return this.addGeneralInfoItems(modelInfoItems, ComponentInfoType.SERVICE, serviceHierarchy, serviceInstance ); - } - - addGeneralInfoItems(modelInfoSpecificItems: ModelInformationItem[], type: ComponentInfoType, model, instance) { - let modelInfoItems: ModelInformationItem[] = [ - ModelInformationItem.createInstance("Type", (model && model.type) ? model.type : ((instance && instance.modelInfo) ? instance.modelInfo.modelType : null)), - ModelInformationItem.createInstance("Model Version", model ? model.version : null), - ModelInformationItem.createInstance("Model Customization ID", model ? model.customizationUuid : null), - ModelInformationItem.createInstance("Instance ID", instance ? instance.instanceId : null), - ModelInformationItem.createInstance("In Maintenance", instance? instance.inMaint : null), - ]; - modelInfoItems = modelInfoItems.concat(modelInfoSpecificItems); - const modelInfoItemsWithoutEmpty = _.filter(modelInfoItems, function(item){ return !item.values.every(_.isNil)}); - return new ComponentInfoModel(type, modelInfoItemsWithoutEmpty, []); + return this._sharedTreeService.getComponentInfoModelByModelInformationItems(modelInfoItems, ComponentInfoType.SERVICE, serviceInstance ); } } diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.component.html b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.component.html index f02ed6293..46807607d 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.component.html +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.component.html @@ -10,7 +10,7 @@ </svg-icon> </span> - <div class="header-col middleDetails" style="padding-top: 5px;padding-left: 13px;line-height: 100%;" *ngIf="isServiceFailed"> + <div class="header-col middleDetails" style="padding-top: 7px;padding-left: 13px;line-height: 100%;" *ngIf="isServiceFailed"> <custom-popover class="failed-popover-wrap" [value]= "serviceStatusMessage" [placement]="'bottom'" [popoverType]="'error'"> <span [attr.data-tests-id]="'service-failed-msg'" class="failed-msg labelPosition" >Failed</span> </custom-popover> @@ -22,7 +22,9 @@ <div class="header-col middleDetails notShowOnCreateMode" style="padding-top: 0px;padding-left: 13px;line-height: 100%;"> <span [attr.data-tests-id]="'orchStatusLabel'" class="service-instance-label labelPosition">Orch Status:</span> - <span [attr.data-tests-id]="'orchStatusValue'" class="orch-status-value">{{serviceOrchStatus}}</span> + <span [attr.data-tests-id]="'orchStatusValue'" + [ngClass]="{'tag-status-value' :serviceOrchStatus?.toLowerCase()!= 'active'}" + class="orch-status-value">{{serviceOrchStatus}}</span> </div> <div class="quantity-container header-col middleDetails" style="padding-top: 0px;padding-left: 13px;line-height: 100%;" @@ -38,6 +40,8 @@ <div class="right-header"> + <span class="action-status-type-header delete" [attr.data-tests-id]="'delete-status-type-header'" *ngIf="isDeleted === true">Delete</span> + <span class="action-status-type-header resume" [attr.data-tests-id]="'resume-status-type-header'" *ngIf="isResume === true">Resume</span> <span class="menu-container notShowOnViewMode notShowOnRetryMode"> <span [attr.data-tests-id]="'openMenuBtn'" class="icon-browse" (click)="onContextMenu($event)"></span> <context-menu> @@ -46,7 +50,7 @@ <span class="icon-edit"></span>Edit</div> </ng-template> <ng-template *ngIf="mode === 'EDIT'" contextMenuItem - (execute)="isDeleted=!isDeleted; drawingBoardHeaderService.deleteService(serviceModelId,isDeleted)"> + (execute)="onDeleteUndoDeleteClick()"> <div [attr.data-tests-id]="'context-menu-header-delete-item'"><span class="icon-trash"></span>{{isDeleted ? 'Undo delete': 'Delete'}}</div> </ng-template> <ng-template *ngIf="mode !== 'CREATE'" contextMenuItem @@ -60,6 +64,10 @@ </svg-icon></div> <div style="padding-left: 12px;">Show Audit Info</div> </ng-template> + <ng-template *ngIf="drawingBoardHeaderService?.showResumeService(serviceModelId)" contextMenuItem + (execute)="onResumeUndoResumeClick()"> + <div [attr.data-tests-id]="'context-menu-header-resume-item'"><span class="icon-trash"></span>{{isResume ? 'Undo resume': 'Resume'}}</div> + </ng-template> </context-menu> </span> <button [disabled]="drawingBoardHeaderService?.deployShouldBeDisabled(serviceModelId, mode)" diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.component.scss b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.component.scss index 1242f9429..353c1151f 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.component.scss +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.component.scss @@ -85,6 +85,13 @@ font-family: OpenSans-Regular; font-size: 14px; color: #191919; + &.tag-status-value { + background: #009fdb; + color: white; + border-radius: 2px; + text-align: center; + padding: 5px; + } } .scale-value { font-family: OpenSans-Regular; @@ -111,9 +118,25 @@ height: 45px; } } + .right-header { display: flex; align-items: center; + .action-status-type-header { + background: transparent; + font-family: OpenSans-SemiBold; + font-size: 12px; + border-radius: 50px; + border: 1px solid gray; + padding: 5px 20px; + margin-right: 10px; + &.delete { + color: red; + } + &.resume { + color: #009fdb; + } + } .quantity-container { .quantity-label { padding-left: 10px; diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.component.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.component.ts index 6e4391572..51f90534b 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.component.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.component.ts @@ -39,6 +39,7 @@ export class DrawingBoardHeader { mode : DrawingBoardModes = DrawingBoardModes.CREATE; serviceOrchStatus: string; isDeleted: boolean = false; + isResume: boolean = false; store : NgRedux<AppState>; drawingBoardPermissions : DrawingBoardPermissions; drawingBoardHeaderService : DrawingBoardHeaderService; @@ -122,7 +123,7 @@ export class DrawingBoardHeader { type: PopupType.SERVICE, uuidData: <any>{ type : PopupType.SERVICE, - isMacro : this.store.getState().service.serviceHierarchy[this.serviceModelId].service.instantiationType === 'Macro', + isMacro : this.store.getState().service.serviceHierarchy[this.serviceModelId].service.vidNotions.instantiationType === 'Macro', serviceId: this.serviceModelId, popupService: this._servicePopupService }, @@ -130,6 +131,32 @@ export class DrawingBoardHeader { }); } + onDeleteUndoDeleteClick(){ + this.cancelResume(this.serviceModelId); + this.isDeleted = !this.isDeleted; + this._drawingBoardHeaderService.deleteService(this.serviceModelId, this.isDeleted) + } + + onResumeUndoResumeClick(){ + this.cancelDelete(this.serviceModelId); + this.isResume = !this.isResume; + this._drawingBoardHeaderService.toggleResumeService(this.serviceModelId, this.isResume); + } + + cancelDelete(serviceModelId: string) { + if (this.isDeleted) { + this.isDeleted = false; + this._drawingBoardHeaderService.deleteService(serviceModelId,this.isDeleted); + } + } + + cancelResume(serviceModelId: string) { + if (this.isResume) { + this.isResume = false; + this._drawingBoardHeaderService.toggleResumeService(serviceModelId,this.isResume); + } + } + extractOwningEntityNameAccordingtoId(id:String): string { let owningEntityName; _.forEach(this.store.getState().service.categoryParameters.owningEntityList,(owningEntity: OwningEntity) => { diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.service.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.service.spec.ts index bcf6753b9..76fc28a9e 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.service.spec.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.service.spec.ts @@ -85,7 +85,7 @@ describe('Generate path to old View/Edit ', () => { }); test('deployShouldBeDisabled with validationCounter greater then 0',()=>{ - jest.spyOn(store, 'getState').mockReturnValue({ + jest.spyOn(store, 'getState').mockReturnValue(<any>{ service: { serviceInstance : { 'serviceInstanceId' : { @@ -94,12 +94,12 @@ describe('Generate path to old View/Edit ', () => { } } }); - let result = service.deployShouldBeDisabled("serviceInstanceId"); + let result = service.deployShouldBeDisabled("serviceInstanceId", DrawingBoardModes.RETRY_EDIT); expect(result).toBeTruthy(); }); test('deployShouldBeDisabled with validationCounter is 0 and not dirty',()=>{ - jest.spyOn(store, 'getState').mockReturnValue({ + jest.spyOn(store, 'getState').mockReturnValue(<any>{ service: { serviceInstance : { 'serviceInstanceId' : { @@ -109,12 +109,12 @@ describe('Generate path to old View/Edit ', () => { } } }); - let result = service.deployShouldBeDisabled("serviceInstanceId"); + let result = service.deployShouldBeDisabled("serviceInstanceId", DrawingBoardModes.RETRY_EDIT); expect(result).toBeFalsy(); }); test('deployShouldBeDisabled with validationCounter is 0 and dirty',()=>{ - jest.spyOn(store, 'getState').mockReturnValue({ + jest.spyOn(store, 'getState').mockReturnValue(<any>{ service: { serviceInstance : { 'serviceInstanceId' : { @@ -125,12 +125,12 @@ describe('Generate path to old View/Edit ', () => { } } }); - let result = service.deployShouldBeDisabled("serviceInstanceId"); + let result = service.deployShouldBeDisabled("serviceInstanceId", DrawingBoardModes.RETRY_EDIT); expect(result).not.toBeTruthy(); }); test('deployShouldBeDisabled with validationCounter is 0 and not and action is None and dirty',()=>{ - jest.spyOn(store, 'getState').mockReturnValue({ + jest.spyOn(store, 'getState').mockReturnValue(<any>{ service: { serviceInstance : { 'serviceInstanceId' : { @@ -141,7 +141,7 @@ describe('Generate path to old View/Edit ', () => { } } }); - let result = service.deployShouldBeDisabled("serviceInstanceId"); + let result = service.deployShouldBeDisabled("serviceInstanceId", DrawingBoardModes.RETRY_EDIT); expect(result).not.toBeTruthy(); }); @@ -157,8 +157,8 @@ describe('Generate path to old View/Edit ', () => { expect(result).toEqual('REDEPLOY'); }); test('getButtonText',()=>{ - expect(service.getButtonText("VIEW")).toEqual('EDIT'); - expect(service.getButtonText("RETRY")).toEqual('REDEPLOY'); + expect(service.getButtonText(DrawingBoardModes.VIEW)).toEqual('EDIT'); + expect(service.getButtonText(DrawingBoardModes.RETRY)).toEqual('REDEPLOY'); }); const showEditServiceDataProvider = [ @@ -169,7 +169,7 @@ describe('Generate path to old View/Edit ', () => { ['None action EDIT mode',DrawingBoardModes.EDIT, ServiceInstanceActions.None, false], ['None action RETRY_EDIT mode', DrawingBoardModes.RETRY_EDIT, ServiceInstanceActions.None, false]]; each(showEditServiceDataProvider).test('showEditService service with %s', (description, mode, action, enabled) => { - jest.spyOn(store, 'getState').mockReturnValue({ + jest.spyOn(store, 'getState').mockReturnValue(<any>{ service: { serviceInstance : { 'serviceInstanceId' : { @@ -181,4 +181,49 @@ describe('Generate path to old View/Edit ', () => { expect(service.showEditService(mode, 'serviceInstanceId')).toBe(enabled); }); + + const showResumeServiceDataProvider = [ + ['all conditions of resume- should show resume',true, 'MACRO', 'VPE', 'AssiGNed', true], + ['flag is disabled- should not show resume ',false, 'MACRO', 'VPE', 'AssiGNed', false], + ['transport service (PNF)- should not show resume', true, 'Macro', 'transport', 'Assigned', false], + ['instantiationType is a-la-carte- should not show resume', true, 'ALaCarte', 'VPE', 'Assigned', false], + ['orchestration Status is not assigned- should not show resume', true, 'Macro', 'VPE', 'Created', false], + ['orchestration Status is Inventoried - should show resume', true, 'Macro', 'VPE', 'iNventOriEd', true] + ]; + + each(showResumeServiceDataProvider).test('showResumeService when %s', (description, flagResumeMacroService,instantiationType, subscriptionServiceType, orchStatus, shouldShowResumeService) => { + jest.spyOn(store, 'getState').mockReturnValue(<any>{ + global: { + flags:{ + 'FLAG_1908_RESUME_MACRO_SERVICE': flagResumeMacroService + } + }, + service: { + serviceInstance : { + 'serviceModelId' : { + 'vidNotions': { + 'instantiationType': instantiationType + }, + 'subscriptionServiceType':subscriptionServiceType, + 'orchStatus': orchStatus + } + } + } + }); + expect(service.showResumeService('serviceModelId')).toBe(shouldShowResumeService); + + }); + + + const toggleResumeServiceDataProvider = [ + [ServiceInstanceActions.None, true], + [ServiceInstanceActions.Resume, false] + ]; + + each(toggleResumeServiceDataProvider).test('toggleResumeService - should call %s for resume/ undo Resume',(serviceAction, isResume)=>{ + jest.spyOn(store, 'dispatch'); + service.toggleResumeService("serviceInstanceId", isResume); + expect(store.dispatch).toHaveBeenCalledWith(addServiceAction("serviceInstanceId", serviceAction)); + }); + }); diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.service.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.service.ts index 946c5cab5..7df2f3a3f 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.service.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.service.ts @@ -11,6 +11,7 @@ import * as _ from 'lodash'; import {ErrorMsgService} from "../../../shared/components/error-msg/error-msg.service"; import {DrawingBoardModes} from "../drawing-board.modes"; import {ServiceInstance} from "../../../shared/models/serviceInstance"; +import {FeatureFlagsService, Features} from "../../../shared/services/featureFlag/feature-flags.service"; @Injectable() export class DrawingBoardHeaderService{ @@ -38,7 +39,13 @@ export class DrawingBoardHeaderService{ showAuditInfo(serviceModelId) : void { let instance: ServiceInstance = this.store.getState().service.serviceInstance[serviceModelId]; let model = new ServiceModel(this.store.getState().service.serviceHierarchy[serviceModelId]); - AuditInfoModalComponent.openInstanceAuditInfoModal.next({instanceId : serviceModelId , type : 'SERVICE', model : model , instance : instance, trackById: instance.trackById}); + AuditInfoModalComponent.openInstanceAuditInfoModal.next({instanceId : serviceModelId , type : 'SERVICE', model : model , instance : instance}); + } + + toggleResumeService(serviceModelId, isResume: boolean) : void { + const action: ServiceInstanceActions = isResume ? ServiceInstanceActions.Resume : ServiceInstanceActions.None; + this.store.dispatch(addServiceAction(serviceModelId, action)); + } @@ -49,7 +56,7 @@ export class DrawingBoardHeaderService{ const serviceInstance = this.store.getState().service.serviceInstance[serviceInstanceId]; if(!_.isNil(serviceInstance)){ const validationCounter = serviceInstance.validationCounter; - if (!_.isNil(this.errorMsgService.errorMsgObject)&& mode !== DrawingBoardModes.RETRY_EDIT) return true; + if (!_.isNil(this.errorMsgService.errorMsgObject) && mode !== DrawingBoardModes.RETRY_EDIT) return true; if(validationCounter > 0) return true; if(serviceInstance.action !== ServiceInstanceActions.None) return false; if(mode === DrawingBoardModes.RETRY_EDIT) return false; @@ -83,4 +90,18 @@ export class DrawingBoardHeaderService{ return mode === DrawingBoardModes.CREATE || ((mode === DrawingBoardModes.RETRY_EDIT || mode === DrawingBoardModes.EDIT)&& !_.isNil(serviceInstance) && !_.isNil(serviceInstance[serviceModelId])&& serviceInstance[serviceModelId].action === ServiceInstanceActions.Create); } + + showResumeService(serviceModelId: string): boolean { + const serviceInstance: ServiceInstance = !_.isNil(this.store.getState().service.serviceInstance)? this.store.getState().service.serviceInstance[serviceModelId] : null; + if (serviceInstance) + { + return FeatureFlagsService.getFlagState(Features.FLAG_1908_RESUME_MACRO_SERVICE, this.store) && + serviceInstance.vidNotions.instantiationType.toLowerCase() === "macro" && + serviceInstance.subscriptionServiceType.toLowerCase() !== "transport" && + serviceInstance.orchStatus && + (serviceInstance.orchStatus.toLowerCase() === "assigned" || + serviceInstance.orchStatus.toLowerCase() === "inventoried"); + } + return false; + } } diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-tree/dragAndDrop/dragAndDrop.service.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-tree/dragAndDrop/dragAndDrop.service.spec.ts index 1221cef5f..8b7f1a4f5 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-tree/dragAndDrop/dragAndDrop.service.spec.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-tree/dragAndDrop/dragAndDrop.service.spec.ts @@ -83,11 +83,11 @@ describe('Drag and drop service', () => { "action": "Create", "inMaint": false, "name": "yoav2_001", - "modelName": "VF_vMee 0", + "modelName": "VF_vGeraldine 0", "type": "VF", "isEcompGeneratedNaming": true, - "networkStoreKey": "VF_vMee 0:0001", - "vnfStoreKey": "VF_vMee 0:0001", + "networkStoreKey": "VF_vGeraldine 0:0001", + "vnfStoreKey": "VF_vGeraldine 0:0001", "typeName": "VNF", "menuActions": {"edit": {}, "showAuditInfo": {}, "duplicate": {}, "remove": {}, "delete": {}, "undoDelete": {}}, "isFailed": false, @@ -106,11 +106,11 @@ describe('Drag and drop service', () => { "id": 6654971919519, "action": "Create", "name": "VFModule1", - "modelName": "vf_vmee0..VfVmee..base_vmme..module-0", + "modelName": "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0", "type": "VFmodule", "isEcompGeneratedNaming": true, "dynamicInputs": [], - "dynamicModelName": "vf_vmee0..VfVmee..base_vmme..module-0bykqx", + "dynamicModelName": "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0bykqx", "typeName": "M", "menuActions": {"edit": {}, "showAuditInfo": {}, "remove": {}, "delete": {}, "undoDelete": {}}, "isFailed": false, @@ -130,11 +130,11 @@ describe('Drag and drop service', () => { "id": 987761655742, "action": "Create", "name": "VNFModule3", - "modelName": "vf_vmee0..VfVmee..vmme_gpb..module-2", + "modelName": "vf_vgeraldine0..VfVgeraldine..vflorence_gpb..module-2", "type": "VFmodule", "isEcompGeneratedNaming": true, "dynamicInputs": [], - "dynamicModelName": "vf_vmee0..VfVmee..vmme_gpb..module-2fjrrc", + "dynamicModelName": "vf_vgeraldine0..VfVgeraldine..vflorence_gpb..module-2fjrrc", "typeName": "M", "menuActions": {"edit": {}, "showAuditInfo": {}, "remove": {}, "delete": {}, "undoDelete": {}}, "isFailed": false, @@ -154,11 +154,11 @@ describe('Drag and drop service', () => { "id": 873798901625, "action": "Create", "name": "VFModule2", - "modelName": "vf_vmee0..VfVmee..vmme_vlc..module-1", + "modelName": "vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1", "type": "VFmodule", "isEcompGeneratedNaming": true, "dynamicInputs": [], - "dynamicModelName": "vf_vmee0..VfVmee..vmme_vlc..module-1djjni", + "dynamicModelName": "vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1djjni", "typeName": "M", "menuActions": {"edit": {}, "showAuditInfo": {}, "remove": {}, "delete": {}, "undoDelete": {}}, "isFailed": false, @@ -181,11 +181,11 @@ describe('Drag and drop service', () => { "action": "Create", "inMaint": false, "name": "yoav2", - "modelName": "VF_vMee 0", + "modelName": "VF_vGeraldine 0", "type": "VF", "isEcompGeneratedNaming": true, - "networkStoreKey": "VF_vMee 0", - "vnfStoreKey": "VF_vMee 0", + "networkStoreKey": "VF_vGeraldine 0", + "vnfStoreKey": "VF_vGeraldine 0", "typeName": "VNF", "menuActions": {"edit": {}, "showAuditInfo": {}, "duplicate": {}, "remove": {}, "delete": {}, "undoDelete": {}}, "isFailed": false, diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-tree/drawing-board-tree.component.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-tree/drawing-board-tree.component.ts index d0715982c..6be5036b2 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-tree/drawing-board-tree.component.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-tree/drawing-board-tree.component.ts @@ -1,4 +1,4 @@ -import {AfterViewInit, Component, EventEmitter, OnInit, Output, ViewChild,} from '@angular/core'; +import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output, ViewChild,} from '@angular/core'; import {ContextMenuComponent, ContextMenuService} from 'ngx-contextmenu'; import {Constants} from '../../../shared/utils/constants'; import {IDType, ITreeNode} from "angular-tree-component/dist/defs/api"; @@ -24,7 +24,10 @@ import * as _ from 'lodash'; import {ErrorMsgService} from "../../../shared/components/error-msg/error-msg.service"; import {DragAndDropService} from "./dragAndDrop/dragAndDrop.service"; import {FeatureFlagsService, Features} from "../../../shared/services/featureFlag/feature-flags.service"; -import {PopoverPlacement} from "../../../shared/components/popover/popover.component"; +import {ComponentInfoService} from "../component-info/component-info.service"; +import {ComponentInfoModel} from "../component-info/component-info-model"; +import {ObjectToModelTreeService} from "../objectsToTree/objectToModelTree/objectToModelTree.service"; +import {DrawingBoardModes} from "../drawing-board.modes"; @Component({ selector: 'drawing-board-tree', @@ -37,10 +40,14 @@ export class DrawingBoardTreeComponent implements OnInit, AfterViewInit { _store: NgRedux<AppState>; duplicateService: DuplicateService; drawingBoardTreeService: DrawingBoardTreeService; + objectToModelTreeService : ObjectToModelTreeService; + objectToInstanceTreeService : ObjectToInstanceTreeService; errorMsgService: ErrorMsgService; isFilterEnabled: boolean = false; filterValue: string = ''; contextMenuOptions: TreeNodeContextMenuModel[]; + + @Input() pageMode : DrawingBoardModes; static triggerDeleteActionService: Subject<string> = new Subject<string>(); static triggerUndoDeleteActionService: Subject<string> = new Subject<string>(); static triggerreCalculateIsDirty: Subject<string> = new Subject<string>(); @@ -62,13 +69,16 @@ export class DrawingBoardTreeComponent implements OnInit, AfterViewInit { private _highlightPipe: HighlightPipe, private _objectToInstanceTreeService: ObjectToInstanceTreeService, private _sharedTreeService: SharedTreeService, - private _dragAndDropService : DragAndDropService) { + private _dragAndDropService : DragAndDropService, + private _objectToModelTreeService : ObjectToModelTreeService, + private _componentInfoService: ComponentInfoService) { this.errorMsgService = _errorMsgService; this.duplicateService = _duplicateService; this.drawingBoardTreeService = _drawingBoardTreeService; this.contextMenuOptions = _drawingBoardTreeService.generateContextMenuOptions(); - + this.objectToModelTreeService = _objectToModelTreeService; + this.objectToInstanceTreeService = _objectToInstanceTreeService; DrawingBoardTreeComponent.triggerDeleteActionService.subscribe((serviceModelId) => { this._sharedTreeService.shouldShowDeleteInstanceWithChildrenModal(this.nodes, serviceModelId, (node, serviceModelId)=>{ this.drawingBoardTreeService.deleteActionService(this.nodes, serviceModelId); @@ -102,6 +112,10 @@ export class DrawingBoardTreeComponent implements OnInit, AfterViewInit { this.filterValue = updateData.filterValue; } + isLinkedInstance = (node) : boolean => { + return !_.isNil(node) && node.parentType === "VRF" || node.parentType === "VnfGroup"; + }; + @Output() highlightNode: EventEmitter<number> = new EventEmitter<number>(); @@ -138,7 +152,7 @@ export class DrawingBoardTreeComponent implements OnInit, AfterViewInit { updateTree() { const serviceInstance = this.store.getState().service.serviceInstance[this.serviceModelId]; - this.nodes = this._objectToInstanceTreeService.convertServiceInstanceToTreeData(serviceInstance, this.store.getState().service.serviceHierarchy[this.serviceModelId]); + this.nodes = this._objectToInstanceTreeService.convertServiceInstanceToTreeData(serviceInstance, this.store.getState().service.serviceHierarchy[this.serviceModelId]).filter((item) => item !== null); console.log('right nodes', this.nodes); } @@ -194,7 +208,11 @@ export class DrawingBoardTreeComponent implements OnInit, AfterViewInit { this._sharedTreeService.setSelectedVNF(node); this.highlightNode.emit(node.data.modelUniqueId); if (FeatureFlagsService.getFlagState(Features.FLAG_1906_COMPONENT_INFO, this.store)) { - node.data.onSelectedNode(node); + const serviceHierarchy = this._store.getState().service.serviceHierarchy[this.serviceModelId]; + const model = node.data.getModel(node.data.modelName, node.data, serviceHierarchy); + const modelInfoItems = node.data.getInfo(model, node.data); + const componentInfoModel: ComponentInfoModel = this._sharedTreeService.addGeneralInfoItems(modelInfoItems, node.data.componentInfoType, model, node.data); + ComponentInfoService.triggerComponentInfoChange.next(componentInfoModel); } } diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-tree/drawing-board-tree.html b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-tree/drawing-board-tree.html index 8af909ffc..e1d88a696 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-tree/drawing-board-tree.html +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-tree/drawing-board-tree.html @@ -1,33 +1,54 @@ <error-msg></error-msg> <div class="drawing-board-tree" style="height: calc(100vh - 55px);"> <div *ngIf="nodes?.length == 0" style="text-align: center; margin-top: 50px;"> - <no-content-message-and-icon class="span-over" + + <no-content-message-and-icon *ngIf="objectToModelTreeService.numberOfPlusButton != 0" class="span-over" data-title="Please add objects (VNFs, network, modules etc.)" title2="from the left tree to design the service instance" subtitle="Once done, click Deploy to start instantiation" iconPath="./assets/img/UPLOAD.svg" iconClass="upload-icon-service-planing"></no-content-message-and-icon> + + <no-content-message-and-icon *ngIf="objectToModelTreeService.numberOfPlusButton == 0" class="span-over" + data-title="No objects to add in this service instance." + title2="" + subtitle="Click Deploy to start instantiation" + iconPath="./assets/img/UPLOAD.svg" + iconClass="upload-icon-service-planing"></no-content-message-and-icon> </div> <div class="tree-header" *ngIf="nodes?.length > 0"> <div class="title-tree">Instance:</div> <search-component (updateNodes)="updateNodes($event)" - [nodes]="nodes" [tree]="tree" - [inputTestId]="'search-right-tree'" - *ngIf="drawingBoardTreeService.isViewEditFlagTrue()"></search-component> + [nodes]="nodes" [tree]="tree" + [inputTestId]="'search-right-tree'" + *ngIf="drawingBoardTreeService.isViewEditFlagTrue()"></search-component> </div> <tree-root [attr.data-tests-id]="'drawing-board-tree'" #tree [nodes]="nodes" [options]="options" id="drawing-board-tree"> - <ng-template #treeNodeTemplate let-node let-index="index" > - <div [attr.id]="getNodeId(node)" [attr.data-tests-id]="'node-'+node.data.modelId +'-' +node.data.modelName" (click)="selectNode(node)" > - <custom-popover class="failed-popover-wrap" *ngIf= "node?.data?.isFailed" [value]= "node?.data?.statusMessage" [placement]="'left'" [popoverType]="'error'"> - <div class="failed-msg" [attr.data-tests-id]="'failed-error-message'" *ngIf= "node?.data?.isFailed">Failed</div> - </custom-popover> - <div class="instance-type" style="position: relative;"> - <div *ngIf="node?.data?.action == 'Create'" class="notShowOnViewMode notShowOnCreateMode newIcon"></div> - <div><span title="{{node.data.type}}" [attr.data-tests-id]="'node-type-indicator'">{{node?.data?.typeName}}</span></div> + <ng-template #treeNodeTemplate let-node let-index="index"> + <div class="main-row" [attr.id]="getNodeId(node)" [attr.data-tests-id]="'node-'+node.data.modelId +'-' +node.data.modelName" + (click)="selectNode(node)" + [ngClass]="{'isLinked' : isLinkedInstance(node?.data)}"> + <custom-popover class="failed-popover-wrap" *ngIf="node?.data?.isFailed" [value]="node?.data?.statusMessage" + [placement]="'left'" [popoverType]="'error'"> + <div class="failed-msg" [attr.data-tests-id]="'failed-error-message'" *ngIf="node?.data?.isFailed">Failed + </div> + </custom-popover> + <div class="instance-type" style="position: relative;border: 1px solid #D2D2CD;"> + <div *ngIf="node?.data?.action == 'Create'" class="notShowOnViewMode notShowOnCreateMode newIcon"></div> + <div><span title="{{node.data.type}}" + [attr.data-tests-id]="'node-type-indicator'">{{node?.data?.typeName}}</span></div> + <div *ngIf="isLinkedInstance(node?.data)"> + <svg-icon + [ngClass]="'link'" + class="icon-link" + [size]="'small'" + [name]="'link'"> + </svg-icon> </div> - <div class="model-info"> + </div> + <div class="model-info" [ngClass]="{'rightBorder' : pageMode === 'VIEW'}"> <span class="header-info"> <span class="property-name"> <span class="auto-name" @@ -37,15 +58,16 @@ ></span> </span> </span> - <tree-node-header-properties - *ngIf="(node?.data?.action !== 'Create' || node?.data?.parentType === 'VnfGroup') && !node?.data?.isFailed" - [properties]="node.data.statusProperties"></tree-node-header-properties> - </div> - <div class="scaling invalid" *ngIf="node?.data?.errors?.scalingError" [attr.data-tests-id]="'scaling-policy'"> - <span>Limit</span><span>{{node?.data?.limitMembers}}</span> - </div> - <div class="model-actions notShowOnViewMode"> + <tree-node-header-properties + *ngIf="(node?.data?.action !== 'Create' || node?.data?.parentType === 'VnfGroup') && !node?.data?.isFailed" + [properties]="node.data.statusProperties"></tree-node-header-properties> + </div> + <div class="scaling invalid" *ngIf="node?.data?.errors?.scalingError" [attr.data-tests-id]="'scaling-policy'"> + <span>Limit</span><span>{{node?.data?.limitMembers}}</span> + </div> + <div class="model-actions notShowOnViewMode "> <span class="icon-browse" + [ngClass]="{'isLinked' : isLinkedInstance(node?.data)}" [attr.data-tests-id]="'node-'+node.data.modelId +'-' +node.data.modelName+'-menu-btn'" (click)="onContextMenu($event, node)"> <context-menu> @@ -66,12 +88,12 @@ </ng-template> </context-menu> </span> - <span - *ngIf="drawingBoardTreeService.isVNFMissingData(node, serviceModelId)" - tooltip="{{ missingDataTooltip }}" - tooltipPlacement="left" - [attr.data-tests-id]="'node-'+node.data.modelId +'-' +node.data.modelName+'-alert-icon'" - class="icon-alert" > + <span + *ngIf="drawingBoardTreeService.isVNFMissingData(node, serviceModelId)" + tooltip="{{ missingDataTooltip }}" + tooltipPlacement="left" + [attr.data-tests-id]="'node-'+node.data.modelId +'-' +node.data.modelName+'-alert-icon'" + class="icon-alert"> <svg-icon [mode]="'warning'" [testId]="'icon-alert'" @@ -79,16 +101,17 @@ [name]="'alert-triangle-o'"> </svg-icon> </span> + <span *ngIf="drawingBoardTreeService.isVFModuleMissingData(node, serviceModelId)" class="icon-alert" + tooltip="{{ missingDataTooltip }}" tooltipPlacement="left" + [attr.data-tests-id]="'node-'+node.data.modelId +'-' +node.data.modelName+'-alert-icon'"></span> + </div> - <!--<span *ngIf="drawingBoardTreeService.isVNFMissingData(node, serviceModelId)" class="icon-alert"--> - <!--tooltip="{{ missingDataTooltip }}" tooltipPlacement="left"--> - <!--[attr.data-tests-id]="'node-'+node.data.modelId +'-' +node.data.modelName+'-alert-icon'"></span>--> - <span *ngIf="drawingBoardTreeService.isVFModuleMissingData(node, serviceModelId)" class="icon-alert" - tooltip="{{ missingDataTooltip }}" tooltipPlacement="left" - [attr.data-tests-id]="'node-'+node.data.modelId +'-' +node.data.modelName+'-alert-icon'"></span> - </div> - </div > - </ng-template> + <div class="action-status"> + <span class="action-status-type delete" [attr.data-tests-id]="'delete-status-type'" [ngStyle]="{ 'opacity': node.data.action.split('_').pop() !== 'Delete' ? '0' : '1'}">Delete</span> + </div> + + </div> + </ng-template> </tree-root> </div> diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-tree/drawing-board-tree.scss b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-tree/drawing-board-tree.scss index be9f9f2d4..e08e69e2e 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-tree/drawing-board-tree.scss +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-tree/drawing-board-tree.scss @@ -36,6 +36,11 @@ } } + +.icon-browse.isLinked { + display: none !important; +} + #RETRY_EDIT drawing-board-tree tree-node-collection > div, #RETRY drawing-board-tree tree-node-collection > div { margin-top: 0px; @@ -98,11 +103,54 @@ drawing-board-tree { @include highlight-toggle-children; .node-content-wrapper-focused, .node-content-wrapper-active { + background: transparent !important; + .main-row { + //background-color: #E6F6FB; + //color: #009FDB; + //border-right: none !important; + //border: #009FDB 1px solid; + } + .instance-type { + background-color: #E6F6FB; + color: #009FDB; + border-right: none !important; + border: #009FDB 1px solid !important; + } + + .isLinked { + .model-info { + border-top: 1px #009FDB dashed !important; + border-bottom: 1px #009FDB dashed !important; + } + .model-info.rightBorder { + border-right: 1px #009FDB dashed !important ; + } + } + .model-info { + background-color: #E6F6FB; + color: #009FDB; + border-right: none !important; + border: #009FDB 1px solid; + } + + .model-info.rightBorder { + border-right: #009FDB 1px solid !important; + } + + .model-actions { + background-color: #E6F6FB; + color: #009FDB; + color: #009FDB; + border-left: none !important; + border: #009FDB 1px solid; + } + @include highlight-toggle-children; - @include highlight(#E6F6FB, #009FDB); .property-name,.instance-type { color: #009FDB !important; position: relative; + background-color: #E6F6FB; + color: #009FDB !important; } .status-properties { .status-property-value,.status-property-name { @@ -119,7 +167,7 @@ drawing-board-tree { } & .tree-node-expanded { > tree-node-wrapper .node-wrapper { - box-shadow: 0 0px 2px rgba(90,90,90,0.24); + } } @@ -136,7 +184,7 @@ drawing-board-tree { } .tree-node.tree-node-expanded > tree-node-wrapper{ - box-shadow: 0 2px 2px 0 rgba(0,0,0,.1); + position: relative; z-index: 1; display: block; @@ -146,7 +194,11 @@ drawing-board-tree { height: 45px; &:hover { .node-content-wrapper:not(.node-content-wrapper-focused) { - background: #F2F2F2; + .instance-type , + .model-info , + .model-actions { + background: #F2F2F2; + } .icon-browse:before { color: #5A5A5A; } @@ -164,11 +216,12 @@ drawing-board-tree { display: block; height: 100%; span.toggle-children { + height: 43px; display: flex; width: 45px; + margin-top: 1px; padding: 0; top: 0; - height: inherit; background-image: none; background-color: white; border: 1px solid #D2D2D2; @@ -196,18 +249,44 @@ drawing-board-tree { width:45px; } } + .node-content-wrapper-active, + .node-content-wrapper.node-content-wrapper-active:hover, + .node-content-wrapper-active.node-content-wrapper-focused { + background: white !important; + } + .node-content-wrapper-active.node-content-wrapper-focused { + background: white !important; + } .node-content-wrapper { + padding: 0; background: none; box-shadow: none; border-radius: 0; - border: 1px solid #D2D2D2; + border: 1px solid white; height: 100%; flex: 1; .resourceGroup { border: 1px dashed #D2D2D2 !important; } + + .isLinked { + .instance-type { + border-style: dashed !important; + } + + .model-info { + border: 1px #D2D2CD dashed !important; + border-right: none !important; + } + + .model-actions { + border-style: dashed !important; + border-left-style: none !important; + } + } + tree-node-content { > div { height: 100%; @@ -217,14 +296,18 @@ drawing-board-tree { .instance-type { width: 40px; height: 100%; - padding-top: 16px; text-transform: uppercase; - text-align: center; border-right: 1px solid #D2D2D2; word-break: break-all; color: #959595; font-size: 13px; font-family: OpenSans-SemiBold; + display: flex; + text-align: center; + flex-direction: column; + align-items: center; + justify-content: center; + .newIcon { background: #45B16D; position: absolute; @@ -247,9 +330,42 @@ drawing-board-tree { display: block; } } + .node-content-wrapper-active { + .action-status { + background-color: white !important; + } + } + .action-status { + padding-left: 10px; + background-color: white !important; + line-height: 42px; + width: 95px; + min-width: 95px; + .action-status-type.delete { + background: transparent; + font-family: OpenSans-SemiBold; + font-size: 12px; + color: red; + border-radius: 50px; + border: 1px solid gray; + padding: 5px 20px; + } + } + + .model-info.rightBorder { + border-right: 1px solid #D2D2CD !important; + } .model-info { + border: 1px solid #D2D2CD; + line-height: normal; padding-left: 16px; width: 100%; + height: 100%; + flex-direction: column; + display: flex; + justify-content: center; + border-right: none; + .property-name { font-family: OpenSans-SemiBold; font-size: 13px; @@ -285,9 +401,17 @@ drawing-board-tree { margin-right: 3px; } } + .model-actions { + :hover { + background: transparent !important; + } display: flex; align-items: center; + border: 1px solid #D2D2CD; + line-height: normal; + height: 100%; + border-left: none; .icon-browse { padding: 0; width: 30px; @@ -298,11 +422,11 @@ drawing-board-tree { display: none; } &:hover:before { - color: #009FDB; + //color: #009FDB; } &:focus:before, &:active:before { - color: #009FDB; + //color: #009FDB; } } @@ -319,7 +443,7 @@ drawing-board-tree { .tree-children { padding-left: 45px; .model-info span:first-child { - flex: 1.1 !important; + //flex: 1.1 !important; } } } diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-tree/drawing-board-tree.service.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-tree/drawing-board-tree.service.spec.ts index 1b913cfe9..b804342c6 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-tree/drawing-board-tree.service.spec.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-tree/drawing-board-tree.service.spec.ts @@ -7,39 +7,39 @@ import {NgRedux} from "@angular-redux/store"; import {DrawingBoardTreeService, TreeNodeContextMenuModel} from "./drawing-board-tree.service"; import {ITreeNode} from "angular-tree-component/dist/defs/api"; - class MockAppStore<T>{ - getState() { +class MockAppStore<T> { + getState() { return { - service : { - serviceInstance : { - "serviceInstanceId" : { - vnfs : { - "vnfStoreKey" : { - isMissingData : true, - vfModules : { - "vfModulesName" : { - "vfModulesName" : { - isMissingData : true - } - } - } - }, - - "vnfStoreKey1" : { - isMissingData : false, - vfModules : { - "vfModulesName" : { - "vfModulesName" : { - isMissingData : false - } - } - } - } - } - } - } - } - } + service: { + serviceInstance: { + "serviceInstanceId": { + vnfs: { + "vnfStoreKey": { + isMissingData: true, + vfModules: { + "vfModulesName": { + "vfModulesName": { + isMissingData: true + } + } + } + }, + + "vnfStoreKey1": { + isMissingData: false, + vfModules: { + "vfModulesName": { + "vfModulesName": { + isMissingData: false + } + } + } + } + } + } + } + } + } } } @@ -65,82 +65,81 @@ describe('Drawing board tree Service', () => { })().then(done).catch(done.fail)); - - test('generateContextMenuOptions should return list of optional context menu', () => { - const options : TreeNodeContextMenuModel[] = service.generateContextMenuOptions(); - const expected : TreeNodeContextMenuModel[] = [ + const options: TreeNodeContextMenuModel[] = service.generateContextMenuOptions(); + const expected: TreeNodeContextMenuModel[] = [ new TreeNodeContextMenuModel('edit', 'context-menu-edit', 'Edit', 'edit-file-o'), new TreeNodeContextMenuModel('duplicate', 'context-menu-duplicate', 'Duplicate', 'copy-o'), new TreeNodeContextMenuModel('showAuditInfo', 'context-menu-showAuditInfo', 'Show audit info', 'eye-o'), new TreeNodeContextMenuModel('addGroupMember', 'context-menu-addGroupMember', 'Add group members', 'plus'), new TreeNodeContextMenuModel('delete', 'context-menu-delete', 'Delete', 'trash-o'), new TreeNodeContextMenuModel('remove', 'context-menu-remove', 'Remove', 'trash-o'), - new TreeNodeContextMenuModel('undoDelete', 'context-menu-undoDelete', 'Undo Delete', 'undo-delete') + new TreeNodeContextMenuModel('undoDelete', 'context-menu-undoDelete', 'Undo Delete', 'undo-delete'), + new TreeNodeContextMenuModel('changeAssociations', 'context-menu-changeAssociations', 'Change Associations', 'edit-file-o') ]; - expect(options.length).toEqual(7); + expect(options.length).toEqual(8); expect(options).toEqual(expected); }); test('isVNFMissingData should return true if vnf isMissingData = true', () => { - let node : ITreeNode = <any>{ - data : { - type : 'VF', - vnfStoreKey : "vnfStoreKey" + let node: ITreeNode = <any>{ + data: { + type: 'VF', + vnfStoreKey: "vnfStoreKey" } }; - let result : boolean = service.isVNFMissingData(node, "serviceInstanceId"); + let result: boolean = service.isVNFMissingData(node, "serviceInstanceId"); expect(result).toBeTruthy(); }); test('isVNFMissingData should return false if vnf has isMissingData = false', () => { - let node : ITreeNode = <any>{ - data : { - type : 'VFModule', - modelName : "vfModulesName", - dynamicModelName : "vfModulesName", - parent : { - vnfStoreKey : "vnfStoreKey1", - type : 'VF' + let node: ITreeNode = <any>{ + data: { + type: 'VFModule', + modelName: "vfModulesName", + dynamicModelName: "vfModulesName", + parent: { + vnfStoreKey: "vnfStoreKey1", + type: 'VF' } } }; - let result : boolean = service.isVNFMissingData(node, "serviceInstanceId"); + let result: boolean = service.isVNFMissingData(node, "serviceInstanceId"); expect(result).toBeFalsy(); }); test('isVFModuleMissingData should return true if vnfModule has isMissingData = true', () => { - let node : ITreeNode = <any>{ - data : { - type : 'VFModule', - modelName : "vfModulesName", - dynamicModelName : "vfModulesName", - parent : { - vnfStoreKey : "vnfStoreKey", - type : 'VF' + let node: ITreeNode = <any>{ + data: { + type: 'VFModule', + modelName: "vfModulesName", + dynamicModelName: "vfModulesName", + parent: { + vnfStoreKey: "vnfStoreKey", + type: 'VF' } } }; - let result : boolean = service.isVFModuleMissingData(node, "serviceInstanceId"); + let result: boolean = service.isVFModuleMissingData(node, "serviceInstanceId"); expect(result).toBeFalsy(); }); test('isVFModuleMissingData should return false if vnfModule has isMissingData = false', () => { - let node : ITreeNode = <any>{ - data : { - type : 'VFModule', - modelName : "vfModulesName", - dynamicModelName : "vfModulesName", - parent : { - vnfStoreKey : "vnfStoreKey1", - type : 'VF' + let node: ITreeNode = <any>{ + data: { + type: 'VFModule', + modelName: "vfModulesName", + dynamicModelName: "vfModulesName", + parent: { + vnfStoreKey: "vnfStoreKey1", + type: 'VF' } } }; - let result : boolean = service.isVFModuleMissingData(node, "serviceInstanceId"); + let result: boolean = service.isVFModuleMissingData(node, "serviceInstanceId"); expect(result).toBeFalsy(); }); diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-tree/drawing-board-tree.service.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-tree/drawing-board-tree.service.ts index 17f761c41..acf622463 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-tree/drawing-board-tree.service.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-tree/drawing-board-tree.service.ts @@ -42,7 +42,8 @@ export class DrawingBoardTreeService { new TreeNodeContextMenuModel('addGroupMember', 'context-menu-addGroupMember', 'Add group members', 'plus'), new TreeNodeContextMenuModel('delete', 'context-menu-delete', 'Delete', 'trash-o'), new TreeNodeContextMenuModel('remove', 'context-menu-remove', 'Remove', 'trash-o'), - new TreeNodeContextMenuModel('undoDelete', 'context-menu-undoDelete', 'Undo Delete', 'undo-delete') + new TreeNodeContextMenuModel('undoDelete', 'context-menu-undoDelete', 'Undo Delete', 'undo-delete'), + new TreeNodeContextMenuModel('changeAssociations', 'context-menu-changeAssociations', 'Change Associations', 'edit-file-o') ]; } diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/duplicate/duplicate.service.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/duplicate/duplicate.service.spec.ts index 81251cb1a..3483885b5 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/duplicate/duplicate.service.spec.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/duplicate/duplicate.service.spec.ts @@ -1,8 +1,8 @@ -import { DuplicateService } from './duplicate.service'; -import { LogService } from '../../../shared/utils/log/log.service'; -import { NgRedux } from '@angular-redux/store'; +import {DuplicateService} from './duplicate.service'; +import {LogService} from '../../../shared/utils/log/log.service'; +import {NgRedux} from '@angular-redux/store'; import {ITreeNode} from "angular-tree-component/dist/defs/api"; -import { SdcUiServices} from "onap-ui-angular"; +import {SdcUiServices} from "onap-ui-angular"; import {IModalConfig} from "onap-ui-angular/dist/components/common"; import {AppState} from "../../../shared/store/reducers"; import {getTestBed, TestBed} from "@angular/core/testing"; @@ -121,7 +121,6 @@ describe('Drawing board tree service', () => { }); test('canDuplicate VNF should return true', () => { - sessionStorage.setItem('reduxState' , JSON.stringify({global : { flags : {FLAG_DUPLICATE_VNF : true}}})); let node : ITreeNode = <any> {data : {type : 'VF'}}; let result = service.canDuplicate(node); @@ -129,7 +128,6 @@ describe('Drawing board tree service', () => { }); test('canDuplicate Network should return true', () => { - sessionStorage.setItem('reduxState' , JSON.stringify({global : { flags : {FLAG_DUPLICATE_VNF : true}}})); let node : ITreeNode = <any> {data : {type : 'VL'}}; let result = service.canDuplicate(node); @@ -137,7 +135,6 @@ describe('Drawing board tree service', () => { }); test('canDuplicate VFModule should return false', () => { - sessionStorage.setItem('reduxState' , JSON.stringify({global : { flags : {FLAG_DUPLICATE_VNF : true}}})); let node : ITreeNode = <any> {data : {type : 'VFModule'}}; let result = service.canDuplicate(node); @@ -154,14 +151,14 @@ describe('Drawing board tree service', () => { test('Duplicate multi vnfs should save multi vnfs in redux', () => { service.existingNames = { - "2017488_adiodvpe": "", + "2017488_pasqualevpe": "", "rrr": "", "ttt": "" }; let newVnfs = service.cloneVnf(<any>{ "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2mtlfi": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2mtlfi": { "instanceName": "rrr", "volumeGroupName": "ttt" } @@ -169,17 +166,17 @@ describe('Drawing board tree service', () => { }, "originalName": null, "trackById": "pfs1f0len3", - "instanceName": "2017488_ADIODvPE" - }, "2017-488_ADIOD-vPE 0"); + "instanceName": "2017488_PASQUALEvPE" + }, "2017-488_PASQUALE-vPE 0"); - expect(newVnfs.instanceName).toBe("2017488_ADIODvPE_001"); - expect(newVnfs.vfModules['2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2']['2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2mtlfi'].instanceName).toBe("rrr_001"); - expect(newVnfs.vfModules['2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2']['2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2mtlfi'].volumeGroupName).toBe("ttt_001"); + expect(newVnfs.instanceName).toBe("2017488_PASQUALEvPE_001"); + expect(newVnfs.vfModules['2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2']['2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2mtlfi'].instanceName).toBe("rrr_001"); + expect(newVnfs.vfModules['2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2']['2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2mtlfi'].volumeGroupName).toBe("ttt_001"); newVnfs = service.cloneVnf(<any>{ "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2mtlfi": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2mtlfi": { "instanceName": "rrr", "volumeGroupName": "ttt" } @@ -187,17 +184,17 @@ describe('Drawing board tree service', () => { }, "originalName": null, "trackById": "pfs1f0len3", - "instanceName": "2017488_ADIODvPE" - }, "2017-488_ADIOD-vPE 0"); + "instanceName": "2017488_PASQUALEvPE" + }, "2017-488_PASQUALE-vPE 0"); - expect(newVnfs.instanceName).toBe("2017488_ADIODvPE_002"); - expect(newVnfs.vfModules['2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2']['2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2mtlfi'].instanceName).toBe("rrr_002"); - expect(newVnfs.vfModules['2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2']['2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2mtlfi'].volumeGroupName).toBe("ttt_002"); + expect(newVnfs.instanceName).toBe("2017488_PASQUALEvPE_002"); + expect(newVnfs.vfModules['2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2']['2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2mtlfi'].instanceName).toBe("rrr_002"); + expect(newVnfs.vfModules['2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2']['2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2mtlfi'].volumeGroupName).toBe("ttt_002"); }); test('ensure name is unique - send new name - shouldn\'t change name', () => { service.existingNames = { - "2017488_adiodvpe": "", + "2017488_pasqualevpe": "", "uniqueinstancename": "" }; const name = "uniqueInstanceName-1"; @@ -207,7 +204,7 @@ describe('Drawing board tree service', () => { test('ensure name is unique send existing name should change name', () => { service.existingNames = { - "2017488_adiodvpe": "", + "2017488_pasqualevpe": "", "uniqueinstancename-1": "" }; const name = "uniqueInstanceName-1"; @@ -217,7 +214,7 @@ describe('Drawing board tree service', () => { test('isAlreadyExist - send new name should return false', () => { service.existingNames = { - "2017488_adiodvpe": "", + "2017488_pasqualevpe": "", "uniqueinstancename": "" }; const name = "uniqueinstancename-1"; @@ -227,7 +224,7 @@ describe('Drawing board tree service', () => { test('isAlreadyExist - send existing name should return true', () => { service.existingNames = { - "2017488_adiodvpe": "", + "2017488_pasqualevpe": "", "uniqueinstancename-1": "" }; const name = "uniqueinstancename-1"; @@ -237,7 +234,7 @@ describe('Drawing board tree service', () => { test('isAlreadyExist - send existing name case insensitive should return true', () => { service.existingNames = { - "2017488_adiodvpe": "", + "2017488_pasqualevpe": "", "uniqueinstancename-1": "" }; const name = "uniqueInstanceName-1"; @@ -256,7 +253,7 @@ describe('Drawing board tree service', () => { }); test('generateVNFUniqueName should return the next free number', () => { - const vnfName: string = "VF_vMee 0"; + const vnfName: string = "VF_vGeraldine 0"; let result: string = service.generateUniqueStoreKey( "6e59c5de-f052-46fa-aa7e-2fca9d674c44", vnfName, @@ -380,7 +377,7 @@ describe('Drawing board tree service', () => { }); function getExistingVNFs(){ - return {"VF_vMee 0":{"rollbackOnFailure":"true","vfModules":{"vf_vmee0..VfVmee..vmme_vlc..module-1":{"vf_vmee0..VfVmee..vmme_vlc..module-1dgbxq":{"modelInfo":{"modelInvariantId":"98a7c88b-b577-476a-90e4-e25a5871e02b","modelVersionId":"522159d5-d6e0-4c2a-aa44-5a542a12a830","modelName":"VfVmee..vmme_vlc..module-1","modelVersion":"2","modelCustomizationId":"55b1be94-671a-403e-a26c-667e9c47d091","modelCustomizationName":"VfVmee..vmme_vlc..module-1"},"instanceParams":[{}]}}},"productFamilyId":"17cc1042-527b-11e6-beb8-9e71128cae77","lcpCloudRegionId":"hvf6","tenantId":"bae71557c5bb4d5aac6743a4e5f1d054","lineOfBusiness":"ONAP","platformName":"platform","modelInfo":{"modelInvariantId":"4160458e-f648-4b30-a176-43881ffffe9e","modelVersionId":"d6557200-ecf2-4641-8094-5393ae3aae60","modelName":"VF_vMee","modelVersion":"2.0","modelCustomizationId":"91415b44-753d-494c-926a-456a9172bbb9","modelCustomizationName":"VF_vMee 0"}},"VF_vMee 0:0001":{"rollbackOnFailure":"true","vfModules":{"vf_vmee0..VfVmee..vmme_vlc..module-1":{"vf_vmee0..VfVmee..vmme_vlc..module-1dgbxq":{"modelInfo":{"modelInvariantId":"98a7c88b-b577-476a-90e4-e25a5871e02b","modelVersionId":"522159d5-d6e0-4c2a-aa44-5a542a12a830","modelName":"VfVmee..vmme_vlc..module-1","modelVersion":"2","modelCustomizationId":"55b1be94-671a-403e-a26c-667e9c47d091","modelCustomizationName":"VfVmee..vmme_vlc..module-1"},"instanceParams":[{}]}}},"productFamilyId":"17cc1042-527b-11e6-beb8-9e71128cae77","lcpCloudRegionId":"hvf6","tenantId":"bae71557c5bb4d5aac6743a4e5f1d054","lineOfBusiness":"ONAP","platformName":"platform","modelInfo":{"modelInvariantId":"4160458e-f648-4b30-a176-43881ffffe9e","modelVersionId":"d6557200-ecf2-4641-8094-5393ae3aae60","modelName":"VF_vMee","modelVersion":"2.0","modelCustomizationId":"91415b44-753d-494c-926a-456a9172bbb9","modelCustomizationName":"VF_vMee 0"},"originalName":"VF_vMee 0"},"VF_vMee 0:0002":{"rollbackOnFailure":"true","vfModules":{"vf_vmee0..VfVmee..vmme_vlc..module-1":{"vf_vmee0..VfVmee..vmme_vlc..module-1dgbxq":{"modelInfo":{"modelInvariantId":"98a7c88b-b577-476a-90e4-e25a5871e02b","modelVersionId":"522159d5-d6e0-4c2a-aa44-5a542a12a830","modelName":"VfVmee..vmme_vlc..module-1","modelVersion":"2","modelCustomizationId":"55b1be94-671a-403e-a26c-667e9c47d091","modelCustomizationName":"VfVmee..vmme_vlc..module-1"},"instanceParams":[{}]}}},"productFamilyId":"17cc1042-527b-11e6-beb8-9e71128cae77","lcpCloudRegionId":"hvf6","tenantId":"bae71557c5bb4d5aac6743a4e5f1d054","lineOfBusiness":"ONAP","platformName":"platform","modelInfo":{"modelInvariantId":"4160458e-f648-4b30-a176-43881ffffe9e","modelVersionId":"d6557200-ecf2-4641-8094-5393ae3aae60","modelName":"VF_vMee","modelVersion":"2.0","modelCustomizationId":"91415b44-753d-494c-926a-456a9172bbb9","modelCustomizationName":"VF_vMee 0"},"originalName":"VF_vMee 0"}} + return {"VF_vGeraldine 0":{"rollbackOnFailure":"true","vfModules":{"vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1":{"vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1dgbxq":{"modelInfo":{"modelInvariantId":"98a7c88b-b577-476a-90e4-e25a5871e02b","modelVersionId":"522159d5-d6e0-4c2a-aa44-5a542a12a830","modelName":"VfVgeraldine..vflorence_vlc..module-1","modelVersion":"2","modelCustomizationId":"55b1be94-671a-403e-a26c-667e9c47d091","modelCustomizationName":"VfVgeraldine..vflorence_vlc..module-1"},"instanceParams":[{}]}}},"productFamilyId":"17cc1042-527b-11e6-beb8-9e71128cae77","lcpCloudRegionId":"hvf6","tenantId":"bae71557c5bb4d5aac6743a4e5f1d054","lineOfBusiness":"ONAP","platformName":"platform","modelInfo":{"modelInvariantId":"4160458e-f648-4b30-a176-43881ffffe9e","modelVersionId":"d6557200-ecf2-4641-8094-5393ae3aae60","modelName":"VF_vGeraldine","modelVersion":"2.0","modelCustomizationId":"91415b44-753d-494c-926a-456a9172bbb9","modelCustomizationName":"VF_vGeraldine 0"}},"VF_vGeraldine 0:0001":{"rollbackOnFailure":"true","vfModules":{"vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1":{"vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1dgbxq":{"modelInfo":{"modelInvariantId":"98a7c88b-b577-476a-90e4-e25a5871e02b","modelVersionId":"522159d5-d6e0-4c2a-aa44-5a542a12a830","modelName":"VfVgeraldine..vflorence_vlc..module-1","modelVersion":"2","modelCustomizationId":"55b1be94-671a-403e-a26c-667e9c47d091","modelCustomizationName":"VfVgeraldine..vflorence_vlc..module-1"},"instanceParams":[{}]}}},"productFamilyId":"17cc1042-527b-11e6-beb8-9e71128cae77","lcpCloudRegionId":"hvf6","tenantId":"bae71557c5bb4d5aac6743a4e5f1d054","lineOfBusiness":"ONAP","platformName":"platform","modelInfo":{"modelInvariantId":"4160458e-f648-4b30-a176-43881ffffe9e","modelVersionId":"d6557200-ecf2-4641-8094-5393ae3aae60","modelName":"VF_vGeraldine","modelVersion":"2.0","modelCustomizationId":"91415b44-753d-494c-926a-456a9172bbb9","modelCustomizationName":"VF_vGeraldine 0"},"originalName":"VF_vGeraldine 0"},"VF_vGeraldine 0:0002":{"rollbackOnFailure":"true","vfModules":{"vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1":{"vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1dgbxq":{"modelInfo":{"modelInvariantId":"98a7c88b-b577-476a-90e4-e25a5871e02b","modelVersionId":"522159d5-d6e0-4c2a-aa44-5a542a12a830","modelName":"VfVgeraldine..vflorence_vlc..module-1","modelVersion":"2","modelCustomizationId":"55b1be94-671a-403e-a26c-667e9c47d091","modelCustomizationName":"VfVgeraldine..vflorence_vlc..module-1"},"instanceParams":[{}]}}},"productFamilyId":"17cc1042-527b-11e6-beb8-9e71128cae77","lcpCloudRegionId":"hvf6","tenantId":"bae71557c5bb4d5aac6743a4e5f1d054","lineOfBusiness":"ONAP","platformName":"platform","modelInfo":{"modelInvariantId":"4160458e-f648-4b30-a176-43881ffffe9e","modelVersionId":"d6557200-ecf2-4641-8094-5393ae3aae60","modelName":"VF_vGeraldine","modelVersion":"2.0","modelCustomizationId":"91415b44-753d-494c-926a-456a9172bbb9","modelCustomizationName":"VF_vGeraldine 0"},"originalName":"VF_vGeraldine 0"}} } function getStoreState(){ diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/duplicate/duplicate.service.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/duplicate/duplicate.service.ts index e695edf86..5fb5f0b15 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/duplicate/duplicate.service.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/duplicate/duplicate.service.ts @@ -1,15 +1,14 @@ -import { Injectable } from '@angular/core'; -import { ITreeNode } from 'angular-tree-component/dist/defs/api'; -import { AppState } from '../../../shared/store/reducers'; -import { LogService } from '../../../shared/utils/log/log.service'; -import { NgRedux } from '@angular-redux/store'; +import {Injectable} from '@angular/core'; +import {ITreeNode} from 'angular-tree-component/dist/defs/api'; +import {AppState} from '../../../shared/store/reducers'; +import {LogService} from '../../../shared/utils/log/log.service'; +import {NgRedux} from '@angular-redux/store'; import {VnfInstance} from "../../../shared/models/vnfInstance"; import {VfModuleMap} from "../../../shared/models/vfModulesMap"; import * as _ from "lodash"; import {DefaultDataGeneratorService} from "../../../shared/services/defaultDataServiceGenerator/default.data.generator.service"; import {TypeNodeInformation} from "../typeNodeInformation.model"; -import { SdcUiServices} from "onap-ui-angular"; -import { SdcUiCommon} from "onap-ui-angular"; +import {SdcUiCommon, SdcUiServices} from "onap-ui-angular"; import {changeInstanceCounter, duplicateBulkInstances} from "../../../shared/storeUtil/utils/general/general.actions"; import {IModalConfig} from "onap-ui-angular/dist/modals/models/modal-config"; @@ -39,7 +38,7 @@ export class DuplicateService { canDuplicate(node: ITreeNode): boolean { let reduxState = <AppState>JSON.parse(sessionStorage.getItem('reduxState')); - return reduxState.global.flags['FLAG_DUPLICATE_VNF'] && (node.data.type === 'VF' || node.data.type === 'VL'); + return node.data.type === 'VF' || node.data.type === 'VL'; } isEnabled(node: ITreeNode, store: NgRedux<AppState>, serviceId : string): boolean { diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/basic.model.info.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/basic.model.info.ts index 51b6cfacb..5ae64376a 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/basic.model.info.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/basic.model.info.ts @@ -1,5 +1,7 @@ import {ITreeNode} from "angular-tree-component/dist/defs/api"; import {AvailableNodeIcons} from "../../available-models-tree/available-models-tree.service"; +import {ComponentInfoModel, ComponentInfoType} from "../../component-info/component-info-model"; +import {ModelInformationItem} from "../../../../shared/components/model-information/model-information.component"; export interface ILevelNodeInfo { /** Name of the key inside the serviceHierarchy object **/ @@ -9,14 +11,13 @@ export interface ILevelNodeInfo { type: string; /** Child name inside the of the serviceHierarchy object (if exist) **/ - childName?: string; - - /** Child type the of object (if exist) **/ - childType?: string; + childNames?: string[]; /** model type name **/ typeName?: string; + componentInfoType? :ComponentInfoType; + /** is instance failed **/ isFailed?: boolean; @@ -86,7 +87,7 @@ export interface ILevelNodeInfo { /************************************ * return child model option object ***********************************/ - getNextLevelObject(): any; + getNextLevelObject(type?:string): any; /*********************************************************** * open popup @@ -116,6 +117,10 @@ export interface ILevelNodeInfo { ************************************************************/ getMenuAction(node: ITreeNode, serviceModelId: string): { [methodName: string]: { method: Function, visible: Function, enable: Function } }; - - onSelectedNode(node : ITreeNode): void + /******************************************************************************************* + * should generate array of node information + * @param model - node model + * @param node - current ITrees node + *****************************************************************************************/ + getInfo?(model, instance): ModelInformationItem[]; } diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/collectionResource/collectionResource.model.info.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/collectionResource/collectionResource.model.info.spec.ts new file mode 100644 index 000000000..f8ce819f7 --- /dev/null +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/collectionResource/collectionResource.model.info.spec.ts @@ -0,0 +1,1207 @@ +import {HttpClientTestingModule} from "@angular/common/http/testing"; +import {getTestBed, TestBed} from "@angular/core/testing"; +import {MockNgRedux, NgReduxTestingModule} from "@angular-redux/store/testing"; +import {DynamicInputsService} from "../../dynamicInputs.service"; +import {SharedTreeService} from "../../shared.tree.service"; +import {NgRedux} from "@angular-redux/store"; +import {AppState} from "../../../../../shared/store/reducers"; +import {DuplicateService} from "../../../duplicate/duplicate.service"; +import {IframeService} from "../../../../../shared/utils/iframe.service"; +import {ComponentInfoService} from "../../../component-info/component-info.service"; +import {AaiService} from "../../../../../shared/services/aaiService/aai.service"; +import {HttpClient, HttpHandler} from "@angular/common/http"; +import {FeatureFlagsService} from "../../../../../shared/services/featureFlag/feature-flags.service"; +import {CollectionResourceModelInfo} from "./collectionResource.model.info"; +import {ComponentInfoType} from "../../../component-info/component-info-model"; +import {CollectionResourceModel} from "../../../../../shared/models/collectionResourceModel"; +import {NcfModelInfo} from "../ncf/ncf.model.info"; + +describe('Collection Resource Model Info', () => { + let injector; + let _componentInfoService : ComponentInfoService; + + let _store : NgRedux<AppState>; + let collectionResourceModel: CollectionResourceModelInfo; + let _sharedTreeService : SharedTreeService; + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [HttpClientTestingModule, NgReduxTestingModule], + providers: [ + MockNgRedux, + DynamicInputsService, + SharedTreeService, + DuplicateService, + AaiService, + HttpClient, + HttpHandler, + FeatureFlagsService, + ComponentInfoService, + IframeService] + }).compileComponents(); + + injector = getTestBed(); + _store = injector.get(NgRedux); + _componentInfoService = injector.get(ComponentInfoService); + + collectionResourceModel = new CollectionResourceModelInfo(_store, _sharedTreeService); + + + }); + + test('collection resource should be defined', () => { + expect(collectionResourceModel).toBeDefined(); + }); + + test('collectionResourceModel should defined extra details', () => { + expect(collectionResourceModel.name).toEqual('collectionResources'); + expect(collectionResourceModel.type).toEqual('collection Resource'); + expect(collectionResourceModel.childNames).toEqual(['ncfs']); + expect(collectionResourceModel.componentInfoType).toEqual(ComponentInfoType.COLLECTION_RESOURCE); + }); + + test('isEcompGeneratedNaming should return false', () => { + let isEcompGeneratedNaming: boolean = collectionResourceModel.isEcompGeneratedNaming(<any>{}); + expect(isEcompGeneratedNaming).toBeFalsy(); + }); + + + test('getTooltip should return "Collection Resource"', () => { + let tooltip: string = collectionResourceModel.getTooltip(); + expect(tooltip).toEqual('Collection Resource'); + }); + + test('getType should return "collectionResources"', () => { + let tooltip: string = collectionResourceModel.getType(); + expect(tooltip).toEqual('collectionResource'); + }); + + test('getNextLevelObject should return ncfs', () => { + let nextLevel: NcfModelInfo = collectionResourceModel.getNextLevelObject(); + expect(nextLevel.type).toEqual('NCF'); + }); + + test('getModel should return collectionResource model', () => { + let model: CollectionResourceModel = collectionResourceModel.getModel('CR_sanity 0', <any>{ + originalName : 'CR_sanity 0' + }, getServiceHierarchy()); + expect(model.type).toEqual('CR'); + }); + + test('cr getMenuAction: delete', ()=>{ + let node = {}; + let serviceModelId = 'serviceModelId'; + let result = collectionResourceModel.getMenuAction(<any>node, serviceModelId); + spyOn(result['delete'], 'method'); + expect(result['delete']).toBeDefined(); + expect(result['delete'].visible()).toBeFalsy(); + expect(result['delete'].enable()).toBeFalsy(); + result['delete']['method'](node, serviceModelId); + expect(result['delete']['method']).toHaveBeenCalledWith(node, serviceModelId); + }); + + function getServiceHierarchy(){ + return { + "service": { + "uuid": "6b528779-44a3-4472-bdff-9cd15ec93450", + "invariantUuid": "e49fbd11-e60c-4a8e-b4bf-30fbe8f4fcc0", + "name": "action-data", + "version": "1.0", + "toscaModelURL": null, + "category": "", + "serviceType": "", + "serviceRole": "", + "description": "", + "serviceEcompNaming": "false", + "instantiationType": "Macro", + "inputs": { + "2017488_pasqualevpe0_ASN": { + "type": "string", + "description": "AV/PE", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "AV_vPE" + } + }, + "vidNotions": { + "instantiationUI": "legacy", + "modelCategory": "other" + } + }, + "collectionResources": { + "CR_sanity 0": { + "uuid": "3467f91f-1a2a-4013-a5ed-8ad99d4e06ad", + "invariantUuid": "d0060da6-82b8-4ca0-9758-5eb2b111b926", + "description": "CR_sanity", + "name": "CR_sanity", + "version": "1.0", + "customizationUuid": "7160c618-9314-4c09-8717-b77f3d29d946", + "inputs": {}, + "commands": {}, + "properties": { + "cr_sanity..Fixed..0_quantity": "10", + "cr_sanity..NetworkCollection..0_network_collection_function": "ABCD", + "ecomp_generated_naming": "false", + "cr_sanity..NetworkCollection..0_network_collection_description": "ABCD" + }, + "type": "CR", + "category": "Network L2-3", + "subcategory": "Infrastructure", + "resourceVendor": "ATT", + "resourceVendorRelease": "2018.06", + "resourceVendorModelNumber": "", + "customizationUUID": "7160c618-9314-4c09-8717-b77f3d29d946", + "networksCollection": { + "cr_sanity..NetworkCollection..0": { + "uuid": "445d7fa8-3e59-4606-bd76-30ba5fc677d3", + "invariantUuid": "9dc623b8-0ae8-47ad-a791-a21b8d8e94a8", + "name": "cr_sanity..NetworkCollection..0", + "version": "1", + "networkCollectionProperties": { + "networkCollectionFunction": "ABCD", + "networkCollectionDescription": "ABCD" + } + } + } + } + }, + "vnfs": { + "2017-388_PASQUALE-vPE 1": { + "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413", + "invariantUuid": "00beb8f9-6d39-452f-816d-c709b9cbb87d", + "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", + "name": "2017-388_PASQUALE-vPE", + "version": "1.0", + "customizationUuid": "280dec31-f16d-488b-9668-4aae55d6648a", + "inputs": { + "vnf_config_template_version": { + "type": "string", + "description": "VPE Software Version", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "17.2" + }, + "bandwidth_units": { + "type": "string", + "description": "Units of bandwidth", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "Gbps" + }, + "bandwidth": { + "type": "string", + "description": "Requested VPE bandwidth", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "10" + }, + "AIC_CLLI": { + "type": "string", + "description": "AIC Site CLLI", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "ATLMY8GA" + }, + "ASN": { + "type": "string", + "description": "AV/PE", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "AV_vPE" + }, + "vnf_instance_name": { + "type": "string", + "description": "The hostname assigned to the vpe.", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "mtnj309me6" + } + }, + "commands": { + "vnf_config_template_version": { + "displayName": "vnf_config_template_version", + "command": "get_input", + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" + }, + "bandwidth_units": { + "displayName": "bandwidth_units", + "command": "get_input", + "inputName": "pasqualevpe0_bandwidth_units" + }, + "bandwidth": { + "displayName": "bandwidth", + "command": "get_input", + "inputName": "pasqualevpe0_bandwidth" + }, + "AIC_CLLI": { + "displayName": "AIC_CLLI", + "command": "get_input", + "inputName": "2017488_pasqualevpe0_AIC_CLLI" + }, + "ASN": { + "displayName": "ASN", + "command": "get_input", + "inputName": "2017488_pasqualevpe0_ASN" + }, + "vnf_instance_name": { + "displayName": "vnf_instance_name", + "command": "get_input", + "inputName": "2017488_pasqualevpe0_vnf_instance_name" + } + }, + "properties": { + "vmxvre_retype": "RE-VMX", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", + "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", + "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", + "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", + "int_ctl_net_name": "VMX-INTXI", + "vmx_int_ctl_prefix": "10.0.0.10", + "sriov43_net_id": "da349ca1-6de9-4548-be88-2d88e99bfef5", + "sriov42_net_id": "760669ba-013d-4d9b-b0e7-4151fe2e6279", + "sriov41_net_id": "25ad52d5-c165-40f8-b3b0-ddfc2373280a", + "nf_type": "vPE", + "vmxvpfe_int_ctl_ip_1": "10.0.0.10", + "is_AVPN_service": "false", + "vmx_RSG_name": "vREXI-affinity", + "vmx_int_ctl_forwarding": "l2", + "vmxvre_oam_ip_0": "10.0.0.10", + "vmxvpfe_sriov44_0_port_mac": "00:11:22:EF:AC:DF", + "vmxvpfe_sriov41_0_port_vlanstrip": "false", + "vmxvpfe_sriov42_0_port_vlanfilter": "4001", + "vmxvpfe_sriov44_0_port_unknownunicastallow": "true", + "vmxvre_image_name_0": "VRE-ENGINE_17.2-S2.1.qcow2", + "vmxvre_instance": "0", + "vmxvpfe_sriov43_0_port_mac": "00:11:22:EF:AC:DF", + "vmxvre_flavor_name": "ns.c1r16d32.v5", + "vmxvpfe_volume_size_0": "40.0", + "vmxvpfe_sriov43_0_port_vlanfilter": "4001", + "nf_naming": "{ecomp_generated_naming=false}", + "nf_naming_code": "Navneet", + "vmxvre_name_0": "vREXI", + "vmxvpfe_sriov42_0_port_vlanstrip": "false", + "vmxvpfe_volume_name_0": "vPFEXI_FBVolume", + "vmx_RSG_id": "bd89a33c-13c3-4a04-8fde-1a57eb123141", + "vmxvpfe_image_name_0": "VPE_ROUTING-ENGINE_17.2R1-S2.1.qcow2", + "vmxvpfe_sriov43_0_port_unknownunicastallow": "true", + "vmxvpfe_sriov44_0_port_unknownmulticastallow": "true", + "vmxvre_console": "vidconsole", + "vmxvpfe_sriov44_0_port_vlanfilter": "4001", + "vmxvpfe_sriov42_0_port_mac": "00:11:22:EF:AC:DF", + "vmxvpfe_volume_id_0": "47cede15-da2f-4397-a101-aa683220aff3", + "vmxvpfe_sriov42_0_port_unknownmulticastallow": "true", + "vmxvpfe_sriov44_0_port_vlanstrip": "false", + "vf_module_id": "123", + "nf_function": "JAI", + "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", + "vmxvre_int_ctl_ip_0": "10.0.0.10", + "ecomp_generated_naming": "false", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", + "vnf_name": "mtnj309me6vre", + "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", + "vmxvre_volume_type_1": "HITACHI", + "vmxvpfe_sriov44_0_port_broadcastallow": "true", + "vmxvre_volume_type_0": "HITACHI", + "vmxvpfe_volume_type_0": "HITACHI", + "vmxvpfe_sriov43_0_port_broadcastallow": "true", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", + "vnf_id": "123", + "vmxvre_oam_prefix": "24", + "availability_zone_0": "mtpocfo-kvm-az01", + "ASN": "get_input:2017488_pasqualevpe0_ASN", + "vmxvre_chassis_i2cid": "161", + "vmxvpfe_name_0": "vPFEXI", + "bandwidth": "get_input:pasqualevpe0_bandwidth", + "availability_zone_max_count": "1", + "vmxvre_volume_size_0": "45.0", + "vmxvre_volume_size_1": "50.0", + "vmxvpfe_sriov42_0_port_broadcastallow": "true", + "vmxvre_oam_gateway": "10.0.0.10", + "vmxvre_volume_name_1": "vREXI_FAVolume", + "vmxvre_ore_present": "0", + "vmxvre_volume_name_0": "vREXI_FBVolume", + "vmxvre_type": "0", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", + "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", + "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", + "vmx_int_ctl_len": "24", + "vmxvpfe_sriov43_0_port_vlanstrip": "false", + "vmxvpfe_sriov41_0_port_broadcastallow": "true", + "vmxvre_volume_id_1": "6e86797e-03cd-4fdc-ba72-2957119c746d", + "vmxvpfe_sriov41_0_port_vlanfilter": "4001", + "nf_role": "Testing", + "vmxvre_volume_id_0": "f4eacb79-f687-4e9d-b760-21847c8bb15a", + "vmxvpfe_sriov42_0_port_unknownunicastallow": "true", + "vmxvpfe_flavor_name": "ns.c20r16d25.v5" + }, + "type": "VF", + "modelCustomizationName": "2017-388_PASQUALE-vPE 1", + "vfModules": {}, + "volumeGroups": {}, + "vfcInstanceGroups": {} + }, + "2017-388_PASQUALE-vPE 0": { + "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168", + "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", + "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", + "name": "2017-388_PASQUALE-vPE", + "version": "4.0", + "customizationUuid": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c", + "inputs": { + "vnf_config_template_version": { + "type": "string", + "description": "VPE Software Version", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "17.2" + }, + "bandwidth_units": { + "type": "string", + "description": "Units of bandwidth", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "Gbps" + }, + "bandwidth": { + "type": "string", + "description": "Requested VPE bandwidth", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "10" + }, + "AIC_CLLI": { + "type": "string", + "description": "AIC Site CLLI", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "ATLMY8GA" + }, + "ASN": { + "type": "string", + "description": "AV/PE", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "AV_vPE" + }, + "vnf_instance_name": { + "type": "string", + "description": "The hostname assigned to the vpe.", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "mtnj309me6" + } + }, + "commands": { + "vnf_config_template_version": { + "displayName": "vnf_config_template_version", + "command": "get_input", + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" + }, + "bandwidth_units": { + "displayName": "bandwidth_units", + "command": "get_input", + "inputName": "pasqualevpe0_bandwidth_units" + }, + "bandwidth": { + "displayName": "bandwidth", + "command": "get_input", + "inputName": "pasqualevpe0_bandwidth" + }, + "AIC_CLLI": { + "displayName": "AIC_CLLI", + "command": "get_input", + "inputName": "2017488_pasqualevpe0_AIC_CLLI" + }, + "ASN": { + "displayName": "ASN", + "command": "get_input", + "inputName": "2017488_pasqualevpe0_ASN" + }, + "vnf_instance_name": { + "displayName": "vnf_instance_name", + "command": "get_input", + "inputName": "2017488_pasqualevpe0_vnf_instance_name" + } + }, + "properties": { + "vmxvre_retype": "RE-VMX", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", + "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", + "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", + "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", + "int_ctl_net_name": "VMX-INTXI", + "vmx_int_ctl_prefix": "10.0.0.10", + "sriov43_net_id": "da349ca1-6de9-4548-be88-2d88e99bfef5", + "sriov42_net_id": "760669ba-013d-4d9b-b0e7-4151fe2e6279", + "sriov41_net_id": "25ad52d5-c165-40f8-b3b0-ddfc2373280a", + "nf_type": "vPE", + "vmxvpfe_int_ctl_ip_1": "10.0.0.10", + "is_AVPN_service": "false", + "vmx_RSG_name": "vREXI-affinity", + "vmx_int_ctl_forwarding": "l2", + "vmxvre_oam_ip_0": "10.0.0.10", + "vmxvpfe_sriov44_0_port_mac": "00:11:22:EF:AC:DF", + "vmxvpfe_sriov41_0_port_vlanstrip": "false", + "vmxvpfe_sriov42_0_port_vlanfilter": "4001", + "vmxvpfe_sriov44_0_port_unknownunicastallow": "true", + "vmxvre_image_name_0": "VRE-ENGINE_17.2-S2.1.qcow2", + "vmxvre_instance": "0", + "vmxvpfe_sriov43_0_port_mac": "00:11:22:EF:AC:DF", + "vmxvre_flavor_name": "ns.c1r16d32.v5", + "vmxvpfe_volume_size_0": "40.0", + "vmxvpfe_sriov43_0_port_vlanfilter": "4001", + "nf_naming": "{ecomp_generated_naming=false}", + "nf_naming_code": "Navneet", + "vmxvre_name_0": "vREXI", + "vmxvpfe_sriov42_0_port_vlanstrip": "false", + "vmxvpfe_volume_name_0": "vPFEXI_FBVolume", + "vmx_RSG_id": "bd89a33c-13c3-4a04-8fde-1a57eb123141", + "vmxvpfe_image_name_0": "VPE_ROUTING-ENGINE_17.2R1-S2.1.qcow2", + "vmxvpfe_sriov43_0_port_unknownunicastallow": "true", + "vmxvpfe_sriov44_0_port_unknownmulticastallow": "true", + "vmxvre_console": "vidconsole", + "vmxvpfe_sriov44_0_port_vlanfilter": "4001", + "vmxvpfe_sriov42_0_port_mac": "00:11:22:EF:AC:DF", + "vmxvpfe_volume_id_0": "47cede15-da2f-4397-a101-aa683220aff3", + "vmxvpfe_sriov42_0_port_unknownmulticastallow": "true", + "min_instances": "1", + "vmxvpfe_sriov44_0_port_vlanstrip": "false", + "vf_module_id": "123", + "nf_function": "JAI", + "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", + "vmxvre_int_ctl_ip_0": "10.0.0.10", + "ecomp_generated_naming": "false", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", + "vnf_name": "mtnj309me6vre", + "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", + "vmxvre_volume_type_1": "HITACHI", + "vmxvpfe_sriov44_0_port_broadcastallow": "true", + "vmxvre_volume_type_0": "HITACHI", + "vmxvpfe_volume_type_0": "HITACHI", + "vmxvpfe_sriov43_0_port_broadcastallow": "true", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", + "vnf_id": "123", + "vmxvre_oam_prefix": "24", + "availability_zone_0": "mtpocfo-kvm-az01", + "ASN": "get_input:2017488_pasqualevpe0_ASN", + "vmxvre_chassis_i2cid": "161", + "vmxvpfe_name_0": "vPFEXI", + "bandwidth": "get_input:pasqualevpe0_bandwidth", + "availability_zone_max_count": "1", + "vmxvre_volume_size_0": "45.0", + "vmxvre_volume_size_1": "50.0", + "vmxvpfe_sriov42_0_port_broadcastallow": "true", + "vmxvre_oam_gateway": "10.0.0.10", + "vmxvre_volume_name_1": "vREXI_FAVolume", + "vmxvre_ore_present": "0", + "vmxvre_volume_name_0": "vREXI_FBVolume", + "vmxvre_type": "0", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", + "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", + "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", + "vmx_int_ctl_len": "24", + "vmxvpfe_sriov43_0_port_vlanstrip": "false", + "vmxvpfe_sriov41_0_port_broadcastallow": "true", + "vmxvre_volume_id_1": "6e86797e-03cd-4fdc-ba72-2957119c746d", + "vmxvpfe_sriov41_0_port_vlanfilter": "4001", + "nf_role": "Testing", + "vmxvre_volume_id_0": "f4eacb79-f687-4e9d-b760-21847c8bb15a", + "vmxvpfe_sriov42_0_port_unknownunicastallow": "true", + "vmxvpfe_flavor_name": "ns.c20r16d25.v5" + }, + "type": "VF", + "modelCustomizationName": "2017-388_PASQUALE-vPE 0", + "vfModules": {}, + "volumeGroups": {}, + "vfcInstanceGroups": {} + }, + "2017-488_PASQUALE-vPE 0": { + "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09", + "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", + "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", + "name": "2017-488_PASQUALE-vPE", + "version": "5.0", + "customizationUuid": "1da7b585-5e61-4993-b95e-8e6606c81e45", + "inputs": { + "vnf_config_template_version": { + "type": "string", + "description": "VPE Software Version", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "17.2" + }, + "bandwidth_units": { + "type": "string", + "description": "Units of bandwidth", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "Gbps" + }, + "bandwidth": { + "type": "string", + "description": "Requested VPE bandwidth", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "10" + }, + "AIC_CLLI": { + "type": "string", + "description": "AIC Site CLLI", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "ATLMY8GA" + }, + "ASN": { + "type": "string", + "description": "AV/PE", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "AV_vPE" + }, + "vnf_instance_name": { + "type": "string", + "description": "The hostname assigned to the vpe.", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "mtnj309me6" + } + }, + "commands": { + "vnf_config_template_version": { + "displayName": "vnf_config_template_version", + "command": "get_input", + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" + }, + "bandwidth_units": { + "displayName": "bandwidth_units", + "command": "get_input", + "inputName": "pasqualevpe0_bandwidth_units" + }, + "bandwidth": { + "displayName": "bandwidth", + "command": "get_input", + "inputName": "pasqualevpe0_bandwidth" + }, + "AIC_CLLI": { + "displayName": "AIC_CLLI", + "command": "get_input", + "inputName": "2017488_pasqualevpe0_AIC_CLLI" + }, + "ASN": { + "displayName": "ASN", + "command": "get_input", + "inputName": "2017488_pasqualevpe0_ASN" + }, + "vnf_instance_name": { + "displayName": "vnf_instance_name", + "command": "get_input", + "inputName": "2017488_pasqualevpe0_vnf_instance_name" + } + }, + "properties": { + "vmxvre_retype": "RE-VMX", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", + "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", + "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", + "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", + "int_ctl_net_name": "VMX-INTXI", + "vmx_int_ctl_prefix": "10.0.0.10", + "sriov43_net_id": "da349ca1-6de9-4548-be88-2d88e99bfef5", + "sriov42_net_id": "760669ba-013d-4d9b-b0e7-4151fe2e6279", + "sriov41_net_id": "25ad52d5-c165-40f8-b3b0-ddfc2373280a", + "nf_type": "vPE", + "vmxvpfe_int_ctl_ip_1": "10.0.0.10", + "is_AVPN_service": "false", + "vmx_RSG_name": "vREXI-affinity", + "vmx_int_ctl_forwarding": "l2", + "vmxvre_oam_ip_0": "10.0.0.10", + "vmxvpfe_sriov44_0_port_mac": "00:11:22:EF:AC:DF", + "vmxvpfe_sriov41_0_port_vlanstrip": "false", + "vmxvpfe_sriov42_0_port_vlanfilter": "4001", + "vmxvpfe_sriov44_0_port_unknownunicastallow": "true", + "vmxvre_image_name_0": "VRE-ENGINE_17.2-S2.1.qcow2", + "vmxvre_instance": "0", + "vmxvpfe_sriov43_0_port_mac": "00:11:22:EF:AC:DF", + "vmxvre_flavor_name": "ns.c1r16d32.v5", + "vmxvpfe_volume_size_0": "40.0", + "vmxvpfe_sriov43_0_port_vlanfilter": "4001", + "nf_naming": "{ecomp_generated_naming=false}", + "nf_naming_code": "Navneet", + "vmxvre_name_0": "vREXI", + "vmxvpfe_sriov42_0_port_vlanstrip": "false", + "vmxvpfe_volume_name_0": "vPFEXI_FBVolume", + "max_instances": "3", + "vmx_RSG_id": "bd89a33c-13c3-4a04-8fde-1a57eb123141", + "vmxvpfe_image_name_0": "VPE_ROUTING-ENGINE_17.2R1-S2.1.qcow2", + "vmxvpfe_sriov43_0_port_unknownunicastallow": "true", + "vmxvpfe_sriov44_0_port_unknownmulticastallow": "true", + "vmxvre_console": "vidconsole", + "vmxvpfe_sriov44_0_port_vlanfilter": "4001", + "vmxvpfe_sriov42_0_port_mac": "00:11:22:EF:AC:DF", + "vmxvpfe_volume_id_0": "47cede15-da2f-4397-a101-aa683220aff3", + "vmxvpfe_sriov42_0_port_unknownmulticastallow": "true", + "min_instances": "1", + "vmxvpfe_sriov44_0_port_vlanstrip": "false", + "vf_module_id": "123", + "nf_function": "JAI", + "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", + "vmxvre_int_ctl_ip_0": "10.0.0.10", + "ecomp_generated_naming": "false", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", + "vnf_name": "mtnj309me6vre", + "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", + "vmxvre_volume_type_1": "HITACHI", + "vmxvpfe_sriov44_0_port_broadcastallow": "true", + "vmxvre_volume_type_0": "HITACHI", + "vmxvpfe_volume_type_0": "HITACHI", + "vmxvpfe_sriov43_0_port_broadcastallow": "true", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", + "vnf_id": "123", + "vmxvre_oam_prefix": "24", + "availability_zone_0": "mtpocfo-kvm-az01", + "ASN": "get_input:2017488_pasqualevpe0_ASN", + "vmxvre_chassis_i2cid": "161", + "vmxvpfe_name_0": "vPFEXI", + "bandwidth": "get_input:pasqualevpe0_bandwidth", + "availability_zone_max_count": "1", + "vmxvre_volume_size_0": "45.0", + "vmxvre_volume_size_1": "50.0", + "vmxvpfe_sriov42_0_port_broadcastallow": "true", + "vmxvre_oam_gateway": "10.0.0.10", + "vmxvre_volume_name_1": "vREXI_FAVolume", + "vmxvre_ore_present": "0", + "vmxvre_volume_name_0": "vREXI_FBVolume", + "vmxvre_type": "0", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", + "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", + "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", + "vmx_int_ctl_len": "24", + "vmxvpfe_sriov43_0_port_vlanstrip": "false", + "vmxvpfe_sriov41_0_port_broadcastallow": "true", + "vmxvre_volume_id_1": "6e86797e-03cd-4fdc-ba72-2957119c746d", + "vmxvpfe_sriov41_0_port_vlanfilter": "4001", + "nf_role": "Testing", + "vmxvre_volume_id_0": "f4eacb79-f687-4e9d-b760-21847c8bb15a", + "vmxvpfe_sriov42_0_port_unknownunicastallow": "true", + "vmxvpfe_flavor_name": "ns.c20r16d25.v5" + }, + "type": "VF", + "modelCustomizationName": "2017-488_PASQUALE-vPE 0", + "vfModules": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { + "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", + "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", + "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", + "description": null, + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", + "version": "6", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", + "properties": { + "minCountInstances": 0, + "maxCountInstances": null, + "initialCount": 0, + "vfModuleLabel": "PASQUALE_vRE_BV", + "baseModule": false + }, + "inputs": { + "vnf_config_template_version": { + "type": "string", + "description": "VPE Software Version", + "entry_schema": null, + "inputProperties": { + "sourceType": "HEAT", + "vfModuleLabel": "PASQUALE_vRE_BV", + "paramName": "vnf_config_template_version" + }, + "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", + "constraints": null, + "required": true, + "default": "17.2" + }, + "bandwidth_units": { + "type": "string", + "description": "Units of bandwidth", + "entry_schema": null, + "inputProperties": { + "sourceType": "HEAT", + "vfModuleLabel": "PASQUALE_vRE_BV", + "paramName": "bandwidth_units" + }, + "fromInputName": "pasqualevpe0_bandwidth_units", + "constraints": null, + "required": true, + "default": "Gbps" + }, + "bandwidth": { + "type": "string", + "description": "Requested VPE bandwidth", + "entry_schema": null, + "inputProperties": { + "sourceType": "HEAT", + "vfModuleLabel": "PASQUALE_vRE_BV", + "paramName": "bandwidth" + }, + "fromInputName": "pasqualevpe0_bandwidth", + "constraints": null, + "required": true, + "default": "10" + }, + "AIC_CLLI": { + "type": "string", + "description": "AIC Site CLLI", + "entry_schema": null, + "inputProperties": { + "sourceType": "HEAT", + "vfModuleLabel": "PASQUALE_vRE_BV", + "paramName": "AIC_CLLI" + }, + "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", + "constraints": null, + "required": true, + "default": "ATLMY8GA" + }, + "vnf_instance_name": { + "type": "string", + "description": "The hostname assigned to the vpe.", + "entry_schema": null, + "inputProperties": { + "sourceType": "HEAT", + "vfModuleLabel": "PASQUALE_vRE_BV", + "paramName": "vnf_instance_name" + }, + "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", + "constraints": null, + "required": true, + "default": "mtnj309me6" + } + }, + "volumeGroupAllowed": true + }, + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { + "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db", + "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091", + "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", + "description": null, + "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", + "version": "5", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", + "properties": { + "minCountInstances": 1, + "maxCountInstances": 1, + "initialCount": 1, + "vfModuleLabel": "PASQUALE_base_vPE_BV", + "baseModule": true + }, + "inputs": {}, + "volumeGroupAllowed": false + }, + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { + "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", + "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", + "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", + "description": null, + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", + "version": "6", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", + "properties": { + "minCountInstances": 0, + "maxCountInstances": null, + "initialCount": 0, + "vfModuleLabel": "PASQUALE_vPFE_BV", + "baseModule": false + }, + "inputs": {}, + "volumeGroupAllowed": true + } + }, + "volumeGroups": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { + "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", + "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", + "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", + "description": null, + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", + "version": "6", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", + "properties": { + "minCountInstances": 0, + "maxCountInstances": null, + "initialCount": 0, + "vfModuleLabel": "PASQUALE_vRE_BV", + "baseModule": false + }, + "inputs": { + "vnf_config_template_version": { + "type": "string", + "description": "VPE Software Version", + "entry_schema": null, + "inputProperties": { + "sourceType": "HEAT", + "vfModuleLabel": "PASQUALE_vRE_BV", + "paramName": "vnf_config_template_version" + }, + "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", + "constraints": null, + "required": true, + "default": "17.2" + }, + "bandwidth_units": { + "type": "string", + "description": "Units of bandwidth", + "entry_schema": null, + "inputProperties": { + "sourceType": "HEAT", + "vfModuleLabel": "PASQUALE_vRE_BV", + "paramName": "bandwidth_units" + }, + "fromInputName": "pasqualevpe0_bandwidth_units", + "constraints": null, + "required": true, + "default": "Gbps" + }, + "bandwidth": { + "type": "string", + "description": "Requested VPE bandwidth", + "entry_schema": null, + "inputProperties": { + "sourceType": "HEAT", + "vfModuleLabel": "PASQUALE_vRE_BV", + "paramName": "bandwidth" + }, + "fromInputName": "pasqualevpe0_bandwidth", + "constraints": null, + "required": true, + "default": "10" + }, + "AIC_CLLI": { + "type": "string", + "description": "AIC Site CLLI", + "entry_schema": null, + "inputProperties": { + "sourceType": "HEAT", + "vfModuleLabel": "PASQUALE_vRE_BV", + "paramName": "AIC_CLLI" + }, + "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", + "constraints": null, + "required": true, + "default": "ATLMY8GA" + }, + "vnf_instance_name": { + "type": "string", + "description": "The hostname assigned to the vpe.", + "entry_schema": null, + "inputProperties": { + "sourceType": "HEAT", + "vfModuleLabel": "PASQUALE_vRE_BV", + "paramName": "vnf_instance_name" + }, + "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", + "constraints": null, + "required": true, + "default": "mtnj309me6" + } + } + }, + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { + "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", + "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", + "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", + "description": null, + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", + "version": "6", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", + "properties": { + "minCountInstances": 0, + "maxCountInstances": null, + "initialCount": 0, + "vfModuleLabel": "PASQUALE_vPFE_BV", + "baseModule": false + }, + "inputs": {} + } + }, + "vfcInstanceGroups": {} + } + }, + "networks": {}, + "configurations": {}, + "fabricConfigurations": {}, + "serviceProxies": {}, + "vfModules": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { + "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", + "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", + "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", + "description": null, + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", + "version": "6", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", + "properties": { + "minCountInstances": 0, + "maxCountInstances": null, + "initialCount": 0, + "vfModuleLabel": "PASQUALE_vRE_BV", + "baseModule": false + }, + "inputs": { + "vnf_config_template_version": { + "type": "string", + "description": "VPE Software Version", + "entry_schema": null, + "inputProperties": { + "sourceType": "HEAT", + "vfModuleLabel": "PASQUALE_vRE_BV", + "paramName": "vnf_config_template_version" + }, + "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", + "constraints": null, + "required": true, + "default": "17.2" + }, + "bandwidth_units": { + "type": "string", + "description": "Units of bandwidth", + "entry_schema": null, + "inputProperties": { + "sourceType": "HEAT", + "vfModuleLabel": "PASQUALE_vRE_BV", + "paramName": "bandwidth_units" + }, + "fromInputName": "pasqualevpe0_bandwidth_units", + "constraints": null, + "required": true, + "default": "Gbps" + }, + "bandwidth": { + "type": "string", + "description": "Requested VPE bandwidth", + "entry_schema": null, + "inputProperties": { + "sourceType": "HEAT", + "vfModuleLabel": "PASQUALE_vRE_BV", + "paramName": "bandwidth" + }, + "fromInputName": "pasqualevpe0_bandwidth", + "constraints": null, + "required": true, + "default": "10" + }, + "AIC_CLLI": { + "type": "string", + "description": "AIC Site CLLI", + "entry_schema": null, + "inputProperties": { + "sourceType": "HEAT", + "vfModuleLabel": "PASQUALE_vRE_BV", + "paramName": "AIC_CLLI" + }, + "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", + "constraints": null, + "required": true, + "default": "ATLMY8GA" + }, + "vnf_instance_name": { + "type": "string", + "description": "The hostname assigned to the vpe.", + "entry_schema": null, + "inputProperties": { + "sourceType": "HEAT", + "vfModuleLabel": "PASQUALE_vRE_BV", + "paramName": "vnf_instance_name" + }, + "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", + "constraints": null, + "required": true, + "default": "mtnj309me6" + } + }, + "volumeGroupAllowed": true + }, + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { + "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db", + "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091", + "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", + "description": null, + "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", + "version": "5", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", + "properties": { + "minCountInstances": 1, + "maxCountInstances": 1, + "initialCount": 1, + "vfModuleLabel": "PASQUALE_base_vPE_BV", + "baseModule": true + }, + "inputs": {}, + "volumeGroupAllowed": false + }, + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { + "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", + "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", + "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", + "description": null, + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", + "version": "6", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", + "properties": { + "minCountInstances": 0, + "maxCountInstances": null, + "initialCount": 0, + "vfModuleLabel": "PASQUALE_vPFE_BV", + "baseModule": false + }, + "inputs": {}, + "volumeGroupAllowed": true + } + }, + "volumeGroups": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { + "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", + "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", + "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", + "description": null, + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", + "version": "6", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", + "properties": { + "minCountInstances": 0, + "maxCountInstances": null, + "initialCount": 0, + "vfModuleLabel": "PASQUALE_vRE_BV", + "baseModule": false + }, + "inputs": { + "vnf_config_template_version": { + "type": "string", + "description": "VPE Software Version", + "entry_schema": null, + "inputProperties": { + "sourceType": "HEAT", + "vfModuleLabel": "PASQUALE_vRE_BV", + "paramName": "vnf_config_template_version" + }, + "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", + "constraints": null, + "required": true, + "default": "17.2" + }, + "bandwidth_units": { + "type": "string", + "description": "Units of bandwidth", + "entry_schema": null, + "inputProperties": { + "sourceType": "HEAT", + "vfModuleLabel": "PASQUALE_vRE_BV", + "paramName": "bandwidth_units" + }, + "fromInputName": "pasqualevpe0_bandwidth_units", + "constraints": null, + "required": true, + "default": "Gbps" + }, + "bandwidth": { + "type": "string", + "description": "Requested VPE bandwidth", + "entry_schema": null, + "inputProperties": { + "sourceType": "HEAT", + "vfModuleLabel": "PASQUALE_vRE_BV", + "paramName": "bandwidth" + }, + "fromInputName": "pasqualevpe0_bandwidth", + "constraints": null, + "required": true, + "default": "10" + }, + "AIC_CLLI": { + "type": "string", + "description": "AIC Site CLLI", + "entry_schema": null, + "inputProperties": { + "sourceType": "HEAT", + "vfModuleLabel": "PASQUALE_vRE_BV", + "paramName": "AIC_CLLI" + }, + "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", + "constraints": null, + "required": true, + "default": "ATLMY8GA" + }, + "vnf_instance_name": { + "type": "string", + "description": "The hostname assigned to the vpe.", + "entry_schema": null, + "inputProperties": { + "sourceType": "HEAT", + "vfModuleLabel": "PASQUALE_vRE_BV", + "paramName": "vnf_instance_name" + }, + "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", + "constraints": null, + "required": true, + "default": "mtnj309me6" + } + } + }, + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { + "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", + "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", + "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", + "description": null, + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", + "version": "6", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", + "properties": { + "minCountInstances": 0, + "maxCountInstances": null, + "initialCount": 0, + "vfModuleLabel": "PASQUALE_vPFE_BV", + "baseModule": false + }, + "inputs": {} + } + }, + "pnfs": {} + } + } + +}); diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/collectionResource/collectionResource.model.info.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/collectionResource/collectionResource.model.info.ts new file mode 100644 index 000000000..564e04bc2 --- /dev/null +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/collectionResource/collectionResource.model.info.ts @@ -0,0 +1,102 @@ +import {ILevelNodeInfo} from "../basic.model.info"; +import {ITreeNode} from "angular-tree-component/dist/defs/api"; +import {AvailableNodeIcons} from "../../../available-models-tree/available-models-tree.service"; +import {ComponentInfoType} from "../../../component-info/component-info-model"; +import {ModelInformationItem} from "../../../../../shared/components/model-information/model-information.component"; +import {CollectionResourceTreeNode} from "../../../../../shared/models/collectionResourceTreeNode"; +import {CollectionResourceInstance} from "../../../../../shared/models/collectionResourceInstance"; +import {CollectionResourceModel} from "../../../../../shared/models/collectionResourceModel"; +import * as _ from 'lodash'; +import {NcfModelInfo} from "../ncf/ncf.model.info"; + +import {NgRedux} from "@angular-redux/store"; +import {AppState} from "../../../../../shared/store/reducers"; +import {deleteActionCrInstance, undoDeleteActionCrInstance} from "../../../../../shared/storeUtil/utils/cr/cr.actions"; +import {SharedTreeService} from "../../shared.tree.service"; + +export class CollectionResourceModelInfo implements ILevelNodeInfo{ + constructor(private _store: NgRedux<AppState>,private _sharedTreeService: SharedTreeService){ + } + name: string = 'collectionResources'; + type : string = 'collection Resource'; + typeName : string = 'CR'; + childNames: string[] = ['ncfs']; + componentInfoType = ComponentInfoType.COLLECTION_RESOURCE; + + + isEcompGeneratedNaming(currentModel): boolean {return false; } + + updateDynamicInputsDataFromModel = (currentModel): any => []; + + getModel = (collectionResourceModelId: string, instance: CollectionResourceInstance, serviceHierarchy): CollectionResourceModel => { + const originalModelName = instance.originalName ? instance.originalName : collectionResourceModelId; + return new CollectionResourceModel(serviceHierarchy[this.name][originalModelName]); + }; + + + createInstanceTreeNode = (instance: CollectionResourceInstance, model: CollectionResourceModel, parentModel, storeKey: string): CollectionResourceTreeNode => { + let node = new CollectionResourceTreeNode(instance, model, storeKey); + node.missingData = this.hasMissingData(instance, node, model.isEcompGeneratedNaming); + node.typeName = this.typeName; + node.menuActions = this.getMenuAction(<any>node, model.uuid); + node.isFailed = _.isNil(instance.isFailed) ? false : instance.isFailed; + node.statusMessage = !_.isNil(instance.statusMessage) ? instance.statusMessage : ""; + return node; + }; + + getNextLevelObject = (): any => { + return new NcfModelInfo(this._store); + } + + getTooltip = (): string => 'Collection Resource'; + + getType = (): string => 'collectionResource'; + + hasMissingData(instance, dynamicInputs: any, isEcompGeneratedNaming: boolean): boolean {return false; } + + onClickAdd(node, serviceModelId: string): void { } + + getNodeCount(node: ITreeNode, serviceModelId: string): number {return 0;} + + showNodeIcons(node: ITreeNode, serviceModelId: string): AvailableNodeIcons { return null;} + + getMenuAction(node: ITreeNode, serviceModelId: string): { [methodName: string]: { method: Function, visible: Function, enable: Function } } { + return <any>{ + delete: { + method: (node, serviceModelId) => { + if ((!_.isNil(node.data.children) && node.data.children.length === 0) || _.isNil(node.data.children)) { + this._store.dispatch(deleteActionCrInstance(node.data.collectionResourceStoreKey, serviceModelId)); + } + else { + this._sharedTreeService.removeDeleteAllChild(node, serviceModelId, (node, serviceModelId) => { + this._store.dispatch(deleteActionCrInstance(node.data.collectionResourceStoreKey, serviceModelId)); + }) + }}, + visible: (node) => false, + enable: (node) => false + }, + undoDelete: { + method: (node, serviceModelId) => { + if ((!_.isNil(node.data.children) && node.data.children.length === 0) || _.isNil(node.data.children)) { + this._store.dispatch(undoDeleteActionCrInstance(node.data.collectionResourceStoreKey, serviceModelId)); + } + else { + this._sharedTreeService.undoDeleteAllChild(node, serviceModelId, (node, serviceModelId) => { + this._store.dispatch(undoDeleteActionCrInstance(node.data.collectionResourceStoreKey, serviceModelId)); + }) + } + + }, + visible: (node) => (node) => false, + enable: (node) => (node) => false + } + + }; + } + + updatePosition(that , node, instanceId): void {} + + getNodePosition(instance): number { return 0; } + + getInfo(model, instance): ModelInformationItem[] {return [];} +} diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/configuration/configuration.model.info.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/configuration/configuration.model.info.spec.ts index d99ec3bc6..6b67de6aa 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/configuration/configuration.model.info.spec.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/configuration/configuration.model.info.spec.ts @@ -50,7 +50,7 @@ describe('Vnf Model Info', () => { test('getModel should return Configuration model', () => { let configurationModelInfo: ConfigurationModelInfo = new ConfigurationModelInfo(_dynamicInputsService, _sharedTreeService); - let model = configurationModelInfo.getModel('2017-388_ADIOD-vPE 1__configuration', getServiceHierarchy()); + let model = configurationModelInfo.getModel('2017-388_PASQUALE-vPE 1__configuration', getServiceHierarchy()); expect(model.uuid).toEqual('0903e1c0-8e03-4936-b5c2-260653b96413'); }); @@ -70,7 +70,7 @@ describe('Vnf Model Info', () => { "serviceEcompNaming": "false", "instantiationType": "Macro", "inputs": { - "2017488_adiodvpe0_ASN": { + "2017488_pasqualevpe0_ASN": { "type": "string", "description": "AV/PE", "entry_schema": null, @@ -86,11 +86,11 @@ describe('Vnf Model Info', () => { } }, "vnfs": { - "2017-388_ADIOD-vPE 1": { + "2017-388_PASQUALE-vPE 1": { "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413", "invariantUuid": "00beb8f9-6d39-452f-816d-c709b9cbb87d", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-388_ADIOD-vPE", + "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", + "name": "2017-388_PASQUALE-vPE", "version": "1.0", "customizationUuid": "280dec31-f16d-488b-9668-4aae55d6648a", "inputs": { @@ -153,37 +153,37 @@ describe('Vnf Model Info', () => { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, "bandwidth": { "displayName": "bandwidth", "command": "get_input", - "inputName": "adiodvpe0_bandwidth" + "inputName": "pasqualevpe0_bandwidth" }, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, "ASN": { "displayName": "ASN", "command": "get_input", - "inputName": "2017488_adiodvpe0_ASN" + "inputName": "2017488_pasqualevpe0_ASN" }, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -228,7 +228,7 @@ describe('Vnf Model Info', () => { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -236,14 +236,14 @@ describe('Vnf Model Info', () => { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -253,7 +253,7 @@ describe('Vnf Model Info', () => { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -267,16 +267,16 @@ describe('Vnf Model Info', () => { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-388_ADIOD-vPE 1", + "modelCustomizationName": "2017-388_PASQUALE-vPE 1", "vfModules": {}, "volumeGroups": {}, "vfcInstanceGroups": {} }, - "2017-388_ADIOD-vPE 0": { + "2017-388_PASQUALE-vPE 0": { "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168", "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-388_ADIOD-vPE", + "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", + "name": "2017-388_PASQUALE-vPE", "version": "4.0", "customizationUuid": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c", "inputs": { @@ -339,37 +339,37 @@ describe('Vnf Model Info', () => { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, "bandwidth": { "displayName": "bandwidth", "command": "get_input", - "inputName": "adiodvpe0_bandwidth" + "inputName": "pasqualevpe0_bandwidth" }, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, "ASN": { "displayName": "ASN", "command": "get_input", - "inputName": "2017488_adiodvpe0_ASN" + "inputName": "2017488_pasqualevpe0_ASN" }, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -415,7 +415,7 @@ describe('Vnf Model Info', () => { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -423,14 +423,14 @@ describe('Vnf Model Info', () => { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -440,7 +440,7 @@ describe('Vnf Model Info', () => { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -454,16 +454,16 @@ describe('Vnf Model Info', () => { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-388_ADIOD-vPE 0", + "modelCustomizationName": "2017-388_PASQUALE-vPE 0", "vfModules": {}, "volumeGroups": {}, "vfcInstanceGroups": {} }, - "2017-488_ADIOD-vPE 0": { + "2017-488_PASQUALE-vPE 0": { "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09", "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-488_ADIOD-vPE", + "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", + "name": "2017-488_PASQUALE-vPE", "version": "5.0", "customizationUuid": "1da7b585-5e61-4993-b95e-8e6606c81e45", "inputs": { @@ -526,37 +526,37 @@ describe('Vnf Model Info', () => { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, "bandwidth": { "displayName": "bandwidth", "command": "get_input", - "inputName": "adiodvpe0_bandwidth" + "inputName": "pasqualevpe0_bandwidth" }, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, "ASN": { "displayName": "ASN", "command": "get_input", - "inputName": "2017488_adiodvpe0_ASN" + "inputName": "2017488_pasqualevpe0_ASN" }, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -603,7 +603,7 @@ describe('Vnf Model Info', () => { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -611,14 +611,14 @@ describe('Vnf Model Info', () => { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -628,7 +628,7 @@ describe('Vnf Model Info', () => { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -642,21 +642,21 @@ describe('Vnf Model Info', () => { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-488_ADIOD-vPE 0", + "modelCustomizationName": "2017-488_PASQUALE-vPE 0", "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "baseModule": false }, "inputs": { @@ -666,10 +666,10 @@ describe('Vnf Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, - "fromInputName": "2017488_adiodvpe0_vnf_config_template_version", + "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", "constraints": null, "required": true, "default": "17.2" @@ -680,10 +680,10 @@ describe('Vnf Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, - "fromInputName": "adiodvpe0_bandwidth_units", + "fromInputName": "pasqualevpe0_bandwidth_units", "constraints": null, "required": true, "default": "Gbps" @@ -694,10 +694,10 @@ describe('Vnf Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, - "fromInputName": "adiodvpe0_bandwidth", + "fromInputName": "pasqualevpe0_bandwidth", "constraints": null, "required": true, "default": "10" @@ -708,10 +708,10 @@ describe('Vnf Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, - "fromInputName": "2017488_adiodvpe0_AIC_CLLI", + "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", "constraints": null, "required": true, "default": "ATLMY8GA" @@ -722,10 +722,10 @@ describe('Vnf Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, - "fromInputName": "2017488_adiodvpe0_vnf_instance_name", + "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", "constraints": null, "required": true, "default": "mtnj309me6" @@ -733,37 +733,37 @@ describe('Vnf Model Info', () => { }, "volumeGroupAllowed": true }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db", "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091", "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", "description": null, - "name": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "version": "5", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "ADIOD_base_vPE_BV", + "vfModuleLabel": "PASQUALE_base_vPE_BV", "baseModule": true }, "inputs": {}, "volumeGroupAllowed": false }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV", + "vfModuleLabel": "PASQUALE_vPFE_BV", "baseModule": false }, "inputs": {}, @@ -771,19 +771,19 @@ describe('Vnf Model Info', () => { } }, "volumeGroups": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "baseModule": false }, "inputs": { @@ -793,10 +793,10 @@ describe('Vnf Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, - "fromInputName": "2017488_adiodvpe0_vnf_config_template_version", + "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", "constraints": null, "required": true, "default": "17.2" @@ -807,10 +807,10 @@ describe('Vnf Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, - "fromInputName": "adiodvpe0_bandwidth_units", + "fromInputName": "pasqualevpe0_bandwidth_units", "constraints": null, "required": true, "default": "Gbps" @@ -821,10 +821,10 @@ describe('Vnf Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, - "fromInputName": "adiodvpe0_bandwidth", + "fromInputName": "pasqualevpe0_bandwidth", "constraints": null, "required": true, "default": "10" @@ -835,10 +835,10 @@ describe('Vnf Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, - "fromInputName": "2017488_adiodvpe0_AIC_CLLI", + "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", "constraints": null, "required": true, "default": "ATLMY8GA" @@ -849,29 +849,29 @@ describe('Vnf Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, - "fromInputName": "2017488_adiodvpe0_vnf_instance_name", + "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", "constraints": null, "required": true, "default": "mtnj309me6" } } }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV", + "vfModuleLabel": "PASQUALE_vPFE_BV", "baseModule": false }, "inputs": {} @@ -881,11 +881,11 @@ describe('Vnf Model Info', () => { } }, "networks": { - "2017-388_ADIOD-vPE 1": { + "2017-388_PASQUALE-vPE 1": { "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413", "invariantUuid": "00beb8f9-6d39-452f-816d-c709b9cbb87d", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-388_ADIOD-vPE", + "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", + "name": "2017-388_PASQUALE-vPE", "version": "1.0", "customizationUuid": "280dec31-f16d-488b-9668-4aae55d6648a", "inputs": { @@ -948,37 +948,37 @@ describe('Vnf Model Info', () => { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, "bandwidth": { "displayName": "bandwidth", "command": "get_input", - "inputName": "adiodvpe0_bandwidth" + "inputName": "pasqualevpe0_bandwidth" }, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, "ASN": { "displayName": "ASN", "command": "get_input", - "inputName": "2017488_adiodvpe0_ASN" + "inputName": "2017488_pasqualevpe0_ASN" }, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -1023,7 +1023,7 @@ describe('Vnf Model Info', () => { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -1031,14 +1031,14 @@ describe('Vnf Model Info', () => { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -1048,7 +1048,7 @@ describe('Vnf Model Info', () => { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -1062,19 +1062,19 @@ describe('Vnf Model Info', () => { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-388_ADIOD-vPE 1", + "modelCustomizationName": "2017-388_PASQUALE-vPE 1", "vfModules": {}, "volumeGroups": {}, "vfcInstanceGroups": {} } }, - "collectionResource": {}, + "collectionResources": {}, "configurations": { - "2017-388_ADIOD-vPE 1__configuration": { + "2017-388_PASQUALE-vPE 1__configuration": { "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413", "invariantUuid": "00beb8f9-6d39-452f-816d-c709b9cbb87d", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-388_ADIOD-vPE", + "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", + "name": "2017-388_PASQUALE-vPE", "version": "1.0", "customizationUuid": "280dec31-f16d-488b-9668-4aae55d6648a", "inputs": { @@ -1137,37 +1137,37 @@ describe('Vnf Model Info', () => { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, "bandwidth": { "displayName": "bandwidth", "command": "get_input", - "inputName": "adiodvpe0_bandwidth" + "inputName": "pasqualevpe0_bandwidth" }, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, "ASN": { "displayName": "ASN", "command": "get_input", - "inputName": "2017488_adiodvpe0_ASN" + "inputName": "2017488_pasqualevpe0_ASN" }, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -1212,7 +1212,7 @@ describe('Vnf Model Info', () => { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -1220,14 +1220,14 @@ describe('Vnf Model Info', () => { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -1237,7 +1237,7 @@ describe('Vnf Model Info', () => { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -1251,7 +1251,7 @@ describe('Vnf Model Info', () => { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-388_ADIOD-vPE 1", + "modelCustomizationName": "2017-388_PASQUALE-vPE 1", "vfModules": {}, "volumeGroups": {}, "vfcInstanceGroups": {} @@ -1261,19 +1261,19 @@ describe('Vnf Model Info', () => { "fabricConfigurations": {}, "serviceProxies": {}, "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "baseModule": false }, "inputs": { @@ -1283,10 +1283,10 @@ describe('Vnf Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, - "fromInputName": "2017488_adiodvpe0_vnf_config_template_version", + "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", "constraints": null, "required": true, "default": "17.2" @@ -1297,10 +1297,10 @@ describe('Vnf Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, - "fromInputName": "adiodvpe0_bandwidth_units", + "fromInputName": "pasqualevpe0_bandwidth_units", "constraints": null, "required": true, "default": "Gbps" @@ -1311,10 +1311,10 @@ describe('Vnf Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, - "fromInputName": "adiodvpe0_bandwidth", + "fromInputName": "pasqualevpe0_bandwidth", "constraints": null, "required": true, "default": "10" @@ -1325,10 +1325,10 @@ describe('Vnf Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, - "fromInputName": "2017488_adiodvpe0_AIC_CLLI", + "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", "constraints": null, "required": true, "default": "ATLMY8GA" @@ -1339,10 +1339,10 @@ describe('Vnf Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, - "fromInputName": "2017488_adiodvpe0_vnf_instance_name", + "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", "constraints": null, "required": true, "default": "mtnj309me6" @@ -1350,37 +1350,37 @@ describe('Vnf Model Info', () => { }, "volumeGroupAllowed": true }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db", "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091", "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", "description": null, - "name": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "version": "5", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "ADIOD_base_vPE_BV", + "vfModuleLabel": "PASQUALE_base_vPE_BV", "baseModule": true }, "inputs": {}, "volumeGroupAllowed": false }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV", + "vfModuleLabel": "PASQUALE_vPFE_BV", "baseModule": false }, "inputs": {}, @@ -1388,19 +1388,19 @@ describe('Vnf Model Info', () => { } }, "volumeGroups": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "baseModule": false }, "inputs": { @@ -1410,10 +1410,10 @@ describe('Vnf Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, - "fromInputName": "2017488_adiodvpe0_vnf_config_template_version", + "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", "constraints": null, "required": true, "default": "17.2" @@ -1424,10 +1424,10 @@ describe('Vnf Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, - "fromInputName": "adiodvpe0_bandwidth_units", + "fromInputName": "pasqualevpe0_bandwidth_units", "constraints": null, "required": true, "default": "Gbps" @@ -1438,10 +1438,10 @@ describe('Vnf Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, - "fromInputName": "adiodvpe0_bandwidth", + "fromInputName": "pasqualevpe0_bandwidth", "constraints": null, "required": true, "default": "10" @@ -1452,10 +1452,10 @@ describe('Vnf Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, - "fromInputName": "2017488_adiodvpe0_AIC_CLLI", + "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", "constraints": null, "required": true, "default": "ATLMY8GA" @@ -1466,29 +1466,29 @@ describe('Vnf Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, - "fromInputName": "2017488_adiodvpe0_vnf_instance_name", + "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", "constraints": null, "required": true, "default": "mtnj309me6" } } }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV", + "vfModuleLabel": "PASQUALE_vPFE_BV", "baseModule": false }, "inputs": {} diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/configuration/configuration.model.info.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/configuration/configuration.model.info.ts index dd85ea110..0d1a9aade 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/configuration/configuration.model.info.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/configuration/configuration.model.info.ts @@ -4,6 +4,8 @@ import * as _ from 'lodash'; import {SharedTreeService} from "../../shared.tree.service"; import {ITreeNode} from "angular-tree-component/dist/defs/api"; import {AvailableNodeIcons} from "../../../available-models-tree/available-models-tree.service"; +import {ComponentInfoType} from "../../../component-info/component-info-model"; +import {ModelInformationItem} from "../../../../../shared/components/model-information/model-information.component"; export class ConfigurationModelInfo implements ILevelNodeInfo{ constructor(private _dynamicInputsService : DynamicInputsService, @@ -11,6 +13,7 @@ export class ConfigurationModelInfo implements ILevelNodeInfo{ name: string = 'configurations'; type : string = 'Configuration'; typeName : string = 'C'; + componentInfoType = ComponentInfoType.CONFIGURATION; isEcompGeneratedNaming = () : boolean => true; @@ -38,8 +41,7 @@ export class ConfigurationModelInfo implements ILevelNodeInfo{ createInstanceTreeNode(instance: any, model: any, storeKey: string): any {return null;} - childName: string; - childType: string; + childNames: string[]; /*********************************************************** * return if instance has missing data @@ -84,4 +86,8 @@ export class ConfigurationModelInfo implements ILevelNodeInfo{ onSelectedNode(node: ITreeNode): void { } + getInfo(model, instance): ModelInformationItem[] { + return []; + } + } diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/ncf/ncf.model.info.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/ncf/ncf.model.info.spec.ts new file mode 100644 index 000000000..6c8382808 --- /dev/null +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/ncf/ncf.model.info.spec.ts @@ -0,0 +1,112 @@ +import {ComponentInfoType} from "../../../component-info/component-info-model"; +import {NcfModelInfo} from "./ncf.model.info"; +import {ModelInformationItem} from "../../../../../shared/components/model-information/model-information.component"; +import {NcfTreeNode} from "../../../../../shared/models/ncfTreeNode"; + +describe('NCF Model Info', () => { + + let ncfModel: NcfModelInfo; + + beforeEach(() => { + ncfModel = new NcfModelInfo(null); + }); + + test('ncfModel should be defined', () => { + expect(ncfModel).toBeDefined(); + }); + + test('ncfModel should defined extra details', () => { + expect(ncfModel.name).toEqual('ncfs'); + expect(ncfModel.type).toEqual('NCF'); + expect(ncfModel.childNames).toBeUndefined; + expect(ncfModel.componentInfoType).toEqual(ComponentInfoType.NCF); + }); + + test('createInstanceTreeNode shall create the right ncfTreeNode', () => { + const instance = { + action: "None", + instanceName: "NcmVlanSvcYm161f_77_vTSBC Customer Landing Network Collection", + instanceId: "6b3536cf-3a12-457f-abb5-fa2203e0d923", + instanceType: "L3-NETWORK", + inMaint: false, + uuid: "dd182d7d-6949-4b90-b3cc-5befe400742e", + originalName: "ncm_vlan_ym161f..NetworkCollection..0", + trackById: "6b3536cf-3a12-457f-abb5-fa2203e0d923", + instanceGroupRole: "SUB_INTERFACE", + instanceGroupFunction: "vTSBC Customer Landing Network Collection", + numberOfNetworks: 1 + }; + + const parentModel = { + networksCollection: { + "ncm_vlan_ym161f..NetworkCollection..0": { + uuid: "dd182d7d-6949-4b90-b3cc-5befe400742e", + invariantUuid: "868b109c-9481-4a18-891b-af974db7705a", + name: "ncm_vlan_ym161f..NetworkCollection..0", + version: "1", + networkCollectionProperties: { + networkCollectionFunction: "vTSBC Customer Landing Network Collection", + networkCollectionDescription: "vTSBC Customer Landing Network Collection Desc" + } + } + } + }; + + const expected = { + action: "None", + id: "6b3536cf-3a12-457f-abb5-fa2203e0d923", + inMaint: false, + instanceGroupFunction: "vTSBC Customer Landing Network Collection", + instanceGroupRole: "SUB_INTERFACE", + instanceId: "6b3536cf-3a12-457f-abb5-fa2203e0d923", + instanceName: "NcmVlanSvcYm161f_77_vTSBC Customer Landing Network Collection", + instanceType: "L3-NETWORK", + missingData: false, + modelVersion: "1", + name: "NcmVlanSvcYm161f_77_vTSBC Customer Landing Network Collection", + numberOfNetworks: 1, + storeKey: "6b3536cf-3a12-457f-abb5-fa2203e0d923", + typeName: "NCF" + }; + + const ncfTreeNode: NcfTreeNode = ncfModel.createInstanceTreeNode(instance, {}, parentModel, "6b3536cf-3a12-457f-abb5-fa2203e0d923"); + expect(ncfTreeNode).toMatchObject(expected); + }); + + test('get modelInformation shall return Model version, role, Collection function, Number of networks', () => { + const ncf = { + trackById: "6b3536cf-3a12-457f-abb5-fa2203e0d923", + instanceGroupRole: "SUB_INTERFACE", + instanceGroupFunction: "vTSBC Customer Landing Network Collection", + numberOfNetworks: 1, + modelVersion: "35" + }; + + const actualModelInformationItems = ncfModel.getInfo(null, ncf); + const expected = [ + ModelInformationItem.createInstance('Model version', '35'), + ModelInformationItem.createInstance('Role', 'SUB_INTERFACE'), + ModelInformationItem.createInstance('Collection function', 'vTSBC Customer Landing Network Collection'), + ModelInformationItem.createInstance('Number of networks', 1), + ]; + + expect(actualModelInformationItems).toEqual(expected); + }); + + test('get modelInformation shall return empty array when ncf instance is null', () => { + expect(ncfModel.getInfo(null, null)).toEqual([]); + }); + + test('ncf getMenuAction: delete', ()=>{ + let node = {}; + let serviceModelId = 'serviceModelId'; + let result = ncfModel.getMenuAction(<any>node, serviceModelId); + spyOn(result['delete'], 'method'); + expect(result['delete']).toBeDefined(); + expect(result['delete'].visible()).toBeFalsy(); + expect(result['delete'].enable()).toBeFalsy(); + result['delete']['method'](node, serviceModelId); + expect(result['delete']['method']).toHaveBeenCalledWith(node, serviceModelId); + }); + +}); diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/ncf/ncf.model.info.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/ncf/ncf.model.info.ts new file mode 100644 index 000000000..4db41c0d1 --- /dev/null +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/ncf/ncf.model.info.ts @@ -0,0 +1,121 @@ +import {ILevelNodeInfo} from "../basic.model.info"; +import {ComponentInfoType} from "../../../component-info/component-info-model"; +import {ITreeNode} from "angular-tree-component/dist/defs/api"; +import {AvailableNodeIcons} from "../../../available-models-tree/available-models-tree.service"; +import {ModelInformationItem} from "../../../../../shared/components/model-information/model-information.component"; +import {Level1Model} from "../../../../../shared/models/nodeModel"; +import {NcfTreeNode} from "../../../../../shared/models/ncfTreeNode"; +import {Level1Instance} from "../../../../../shared/models/level1Instance"; +import {NgRedux} from "@angular-redux/store"; +import {AppState} from "../../../../../shared/store/reducers"; +import { + deleteActionNcfInstance, + undoDeleteActionNcfInstance +} from "../../../../../shared/storeUtil/utils/ncf/ncf.actions"; +import * as _ from 'lodash'; +import {NcfModelInterface} from "../../../../../shared/models/ncfModel"; + +export class NcfModelInfo implements ILevelNodeInfo { + constructor(private _store: NgRedux<AppState>){ + } + + name: string = 'ncfs'; + type: string = 'NCF'; + typeName: string = 'NCF'; + + childNames: string[] = []; + componentInfoType = ComponentInfoType.NCF; + + isEcompGeneratedNaming(currentModel): boolean { + return false; + } + + updateDynamicInputsDataFromModel = (currentModel): any => []; + + getModel = (modelId: string, instance: any, serviceHierarchy): any => { + return new Level1Model(); + }; + + + createInstanceTreeNode = (instance: Level1Instance, model: Level1Model, parentModel, storeKey: string): NcfTreeNode => { + let modelVersion: string = null; + if (parentModel.networksCollection && instance.originalName) { + const ncfRealModel: NcfModelInterface = parentModel.networksCollection[instance.originalName]; + if (ncfRealModel) { + modelVersion = ncfRealModel.version; + } + } + + let node = new NcfTreeNode(instance, model, storeKey, modelVersion); + node.menuActions = this.getMenuAction(<any>node, model.uuid); + node.typeName = this.typeName; + return node; + }; + + + getNextLevelObject = (): any => { + return null; + }; + + getTooltip = (): string => 'NCF'; + + getType = (): string => 'NCF'; + + hasMissingData(instance, dynamicInputs: any, isEcompGeneratedNaming: boolean): boolean { + return false; + } + + onClickAdd(node, serviceModelId: string): void { + + } + + getNodeCount(node: ITreeNode, serviceModelId: string): number { + return 0; + } + + showNodeIcons(node: ITreeNode, serviceModelId: string): AvailableNodeIcons { + return null; + } + + getMenuAction(node: ITreeNode, serviceModelId: string): { [methodName: string]: { method: Function, visible: Function, enable: Function } } { + return <any>{ + delete: { + method: (node, serviceModelId) => { + this._store.dispatch(deleteActionNcfInstance(node.data.parent.collectionResourceStoreKey, node.data.storeKey, serviceModelId)); + }, + visible: (node) => false, + enable: (node) => false + }, + undoDelete: { + method: (node, serviceModelId) => { + this._store.dispatch(undoDeleteActionNcfInstance(node.data.parent.collectionResourceStoreKey, node.data.storeKey, serviceModelId)); + }, + visible: (node) => false, + enable: (node) => false + } + + }; + } + + updatePosition(that, node, instanceId): void { + } + + getNodePosition(instance): number { + return 0; + } + + getInfo(model, instance: NcfTreeNode): ModelInformationItem[] { + + if (_.isNil(instance)) { + return []; + } + + return [ + ModelInformationItem.createInstance("Model version", instance.modelVersion), + ModelInformationItem.createInstance('Role', instance.instanceGroupRole), + ModelInformationItem.createInstance('Collection function', instance.instanceGroupFunction), + ModelInformationItem.createInstance('Number of networks', instance.numberOfNetworks), + ]; + } +} + diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/network/network.model.info.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/network/network.model.info.spec.ts index 206adb6d1..10c13661f 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/network/network.model.info.spec.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/network/network.model.info.spec.ts @@ -1,4 +1,4 @@ -import {HttpClientTestingModule, HttpTestingController} from "@angular/common/http/testing"; +import {HttpClientTestingModule} from "@angular/common/http/testing"; import {getTestBed, TestBed} from "@angular/core/testing"; import {MockNgRedux, NgReduxTestingModule} from "@angular-redux/store/testing"; import {NetworkModelInfo} from "./network.model.info"; @@ -11,6 +11,8 @@ import {AvailableNodeIcons} from "../../../available-models-tree/available-model import {DrawingBoardModes} from "../../../drawing-board.modes"; import {IframeService} from "../../../../../shared/utils/iframe.service"; import {DuplicateService} from "../../../duplicate/duplicate.service"; +import {ModelInformationItem} from "../../../../../shared/components/model-information/model-information.component"; + class MockAppStore<T> { getState() { return { @@ -131,7 +133,7 @@ describe('Network Model Info', () => { }); test('getModel should return Network model', () => { - let model = networkModel.getModel('2017-388_ADIOD-vPE 1_1', <any>{}, getServiceHierarchy()); + let model = networkModel.getModel('2017-388_PASQUALE-vPE 1_1', <any>{}, getServiceHierarchy()); expect(model.type).toEqual('VL'); }); @@ -295,6 +297,80 @@ describe('Network Model Info', () => { expect(result['showAuditInfo']['method']).toHaveBeenCalledWith(node, serviceModelId); }); + test('Info for network should be correct', () => { + const model = getNetworkModel(); + const instance = getNetworkInstance(); + let actualNetworkInfo = networkModel.getInfo(model,instance); + let expectedNetworkInfo = [ + ModelInformationItem.createInstance('Network role', "network role 1, network role 2"), + ModelInformationItem.createInstance("Route target id", null), + ModelInformationItem.createInstance("Route target role", null) + ]; + expect(actualNetworkInfo).toEqual(expectedNetworkInfo); + }); + + function getNetworkModel(){ + return { + "customizationUuid":"94fdd893-4a36-4d70-b16a-ec29c54c184f", + "name":"ExtVL", + "version":"37.0", + "description":"ECOMP generic virtual link (network) base type for all other service-level and global networks", + "uuid":"ddc3f20c-08b5-40fd-af72-c6d14636b986", + "invariantUuid":"379f816b-a7aa-422f-be30-17114ff50b7c", + "max":1, + "min":0, + "isEcompGeneratedNaming":false, + "type":"VL", + "modelCustomizationName":"ExtVL 0", + "roles":["network role 1"," network role 2"], + "properties":{ + "network_role":"network role 1, network role 2", + "network_assignments": + "{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}}", + "exVL_naming":"{ecomp_generated_naming=true}","network_flows":"{is_network_policy=false, is_bound_to_vpn=false}", + "network_homing":"{ecomp_selected_instance_node_target=false}" + } + }; + + } + + function getNetworkInstance() { + return { + "modelCustomizationId": "94fdd893-4a36-4d70-b16a-ec29c54c184f", + "modelId": "ddc3f20c-08b5-40fd-af72-c6d14636b986", + "modelUniqueId": "94fdd893-4a36-4d70-b16a-ec29c54c184f", + "missingData": true, + "id": "NETWORK4_INSTANCE_ID", + "action": "None", + "orchStatus": "Created", + "provStatus": "preprov", + "inMaint": false, + "instanceId": "NETWORK4_INSTANCE_ID", + "instanceType": "CONTRAIL30_HIMELGUARD", + "instanceName": "NETWORK4_INSTANCE_NAME", + "name": "NETWORK4_INSTANCE_NAME", + "modelName": "ExtVL 0", + "type": "VL", + "isEcompGeneratedNaming": false, + "networkStoreKey": "NETWORK4_INSTANCE_ID", + "typeName": "N", + "menuActions": {"edit": {}, "showAuditInfo": {}, "duplicate": {}, "remove": {}, "delete": {}, "undoDelete": {}}, + "isFailed": false, + "statusMessage": "", + "statusProperties": [{"key": "Prov Status:", "value": "preprov", "testId": "provStatus"}, { + "key": "Orch Status:", + "value": "Created", + "testId": "orchStatus" + }], + "trackById": "1wvr73xl999", + "parentType": "", + "componentInfoType": "Network", + "errors": {} + }; + } + + + function getServiceHierarchy(){ return { @@ -311,7 +387,7 @@ describe('Network Model Info', () => { "serviceEcompNaming": "false", "instantiationType": "Macro", "inputs": { - "2017488_adiodvpe0_ASN": { + "2017488_pasqualevpe0_ASN": { "type": "string", "description": "AV/PE", "entry_schema": null, @@ -327,11 +403,11 @@ describe('Network Model Info', () => { } }, "vnfs": { - "2017-388_ADIOD-vPE 1": { + "2017-388_PASQUALE-vPE 1": { "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413", "invariantUuid": "00beb8f9-6d39-452f-816d-c709b9cbb87d", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-388_ADIOD-vPE", + "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", + "name": "2017-388_PASQUALE-vPE", "version": "1.0", "customizationUuid": "280dec31-f16d-488b-9668-4aae55d6648a", "inputs": { @@ -394,37 +470,37 @@ describe('Network Model Info', () => { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, "bandwidth": { "displayName": "bandwidth", "command": "get_input", - "inputName": "adiodvpe0_bandwidth" + "inputName": "pasqualevpe0_bandwidth" }, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, "ASN": { "displayName": "ASN", "command": "get_input", - "inputName": "2017488_adiodvpe0_ASN" + "inputName": "2017488_pasqualevpe0_ASN" }, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -469,7 +545,7 @@ describe('Network Model Info', () => { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -477,14 +553,14 @@ describe('Network Model Info', () => { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -494,7 +570,7 @@ describe('Network Model Info', () => { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -508,16 +584,16 @@ describe('Network Model Info', () => { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-388_ADIOD-vPE 1", + "modelCustomizationName": "2017-388_PASQUALE-vPE 1", "vfModules": {}, "volumeGroups": {}, "vfcInstanceGroups": {} }, - "2017-388_ADIOD-vPE 0": { + "2017-388_PASQUALE-vPE 0": { "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168", "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-388_ADIOD-vPE", + "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", + "name": "2017-388_PASQUALE-vPE", "version": "4.0", "customizationUuid": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c", "inputs": { @@ -580,37 +656,37 @@ describe('Network Model Info', () => { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, "bandwidth": { "displayName": "bandwidth", "command": "get_input", - "inputName": "adiodvpe0_bandwidth" + "inputName": "pasqualevpe0_bandwidth" }, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, "ASN": { "displayName": "ASN", "command": "get_input", - "inputName": "2017488_adiodvpe0_ASN" + "inputName": "2017488_pasqualevpe0_ASN" }, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -656,7 +732,7 @@ describe('Network Model Info', () => { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -664,14 +740,14 @@ describe('Network Model Info', () => { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -681,7 +757,7 @@ describe('Network Model Info', () => { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -695,16 +771,16 @@ describe('Network Model Info', () => { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-388_ADIOD-vPE 0", + "modelCustomizationName": "2017-388_PASQUALE-vPE 0", "vfModules": {}, "volumeGroups": {}, "vfcInstanceGroups": {} }, - "2017-488_ADIOD-vPE 0": { + "2017-488_PASQUALE-vPE 0": { "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09", "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-488_ADIOD-vPE", + "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", + "name": "2017-488_PASQUALE-vPE", "version": "5.0", "customizationUuid": "1da7b585-5e61-4993-b95e-8e6606c81e45", "inputs": { @@ -767,37 +843,37 @@ describe('Network Model Info', () => { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, "bandwidth": { "displayName": "bandwidth", "command": "get_input", - "inputName": "adiodvpe0_bandwidth" + "inputName": "pasqualevpe0_bandwidth" }, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, "ASN": { "displayName": "ASN", "command": "get_input", - "inputName": "2017488_adiodvpe0_ASN" + "inputName": "2017488_pasqualevpe0_ASN" }, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -844,7 +920,7 @@ describe('Network Model Info', () => { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -852,14 +928,14 @@ describe('Network Model Info', () => { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -869,7 +945,7 @@ describe('Network Model Info', () => { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -883,21 +959,21 @@ describe('Network Model Info', () => { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-488_ADIOD-vPE 0", + "modelCustomizationName": "2017-488_PASQUALE-vPE 0", "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "baseModule": false }, "inputs": { @@ -907,10 +983,10 @@ describe('Network Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, - "fromInputName": "2017488_adiodvpe0_vnf_config_template_version", + "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", "constraints": null, "required": true, "default": "17.2" @@ -921,10 +997,10 @@ describe('Network Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, - "fromInputName": "adiodvpe0_bandwidth_units", + "fromInputName": "pasqualevpe0_bandwidth_units", "constraints": null, "required": true, "default": "Gbps" @@ -935,10 +1011,10 @@ describe('Network Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, - "fromInputName": "adiodvpe0_bandwidth", + "fromInputName": "pasqualevpe0_bandwidth", "constraints": null, "required": true, "default": "10" @@ -949,10 +1025,10 @@ describe('Network Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, - "fromInputName": "2017488_adiodvpe0_AIC_CLLI", + "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", "constraints": null, "required": true, "default": "ATLMY8GA" @@ -963,10 +1039,10 @@ describe('Network Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, - "fromInputName": "2017488_adiodvpe0_vnf_instance_name", + "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", "constraints": null, "required": true, "default": "mtnj309me6" @@ -974,37 +1050,37 @@ describe('Network Model Info', () => { }, "volumeGroupAllowed": true }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db", "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091", "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", "description": null, - "name": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "version": "5", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "ADIOD_base_vPE_BV", + "vfModuleLabel": "PASQUALE_base_vPE_BV", "baseModule": true }, "inputs": {}, "volumeGroupAllowed": false }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV", + "vfModuleLabel": "PASQUALE_vPFE_BV", "baseModule": false }, "inputs": {}, @@ -1012,19 +1088,19 @@ describe('Network Model Info', () => { } }, "volumeGroups": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "baseModule": false }, "inputs": { @@ -1034,10 +1110,10 @@ describe('Network Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, - "fromInputName": "2017488_adiodvpe0_vnf_config_template_version", + "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", "constraints": null, "required": true, "default": "17.2" @@ -1048,10 +1124,10 @@ describe('Network Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, - "fromInputName": "adiodvpe0_bandwidth_units", + "fromInputName": "pasqualevpe0_bandwidth_units", "constraints": null, "required": true, "default": "Gbps" @@ -1062,10 +1138,10 @@ describe('Network Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, - "fromInputName": "adiodvpe0_bandwidth", + "fromInputName": "pasqualevpe0_bandwidth", "constraints": null, "required": true, "default": "10" @@ -1076,10 +1152,10 @@ describe('Network Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, - "fromInputName": "2017488_adiodvpe0_AIC_CLLI", + "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", "constraints": null, "required": true, "default": "ATLMY8GA" @@ -1090,29 +1166,29 @@ describe('Network Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, - "fromInputName": "2017488_adiodvpe0_vnf_instance_name", + "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", "constraints": null, "required": true, "default": "mtnj309me6" } } }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV", + "vfModuleLabel": "PASQUALE_vPFE_BV", "baseModule": false }, "inputs": {} @@ -1122,11 +1198,11 @@ describe('Network Model Info', () => { } }, "networks": { - "2017-388_ADIOD-vPE 1_1": { + "2017-388_PASQUALE-vPE 1_1": { "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413", "invariantUuid": "00beb8f9-6d39-452f-816d-c709b9cbb87d", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-388_ADIOD-vPE", + "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", + "name": "2017-388_PASQUALE-vPE", "version": "1.0", "customizationUuid": "280dec31-f16d-488b-9668-4aae55d6648a", "inputs": { @@ -1189,37 +1265,37 @@ describe('Network Model Info', () => { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, "bandwidth": { "displayName": "bandwidth", "command": "get_input", - "inputName": "adiodvpe0_bandwidth" + "inputName": "pasqualevpe0_bandwidth" }, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, "ASN": { "displayName": "ASN", "command": "get_input", - "inputName": "2017488_adiodvpe0_ASN" + "inputName": "2017488_pasqualevpe0_ASN" }, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -1264,7 +1340,7 @@ describe('Network Model Info', () => { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -1272,14 +1348,14 @@ describe('Network Model Info', () => { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -1289,7 +1365,7 @@ describe('Network Model Info', () => { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -1303,30 +1379,30 @@ describe('Network Model Info', () => { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VL", - "modelCustomizationName": "2017-388_ADIOD-vPE 1", + "modelCustomizationName": "2017-388_PASQUALE-vPE 1", "vfModules": {}, "volumeGroups": {}, "vfcInstanceGroups": {} } }, - "collectionResource": {}, + "collectionResources": {}, "configurations": {}, "fabricConfigurations": {}, "serviceProxies": {}, "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "baseModule": false }, "inputs": { @@ -1336,10 +1412,10 @@ describe('Network Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, - "fromInputName": "2017488_adiodvpe0_vnf_config_template_version", + "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", "constraints": null, "required": true, "default": "17.2" @@ -1350,10 +1426,10 @@ describe('Network Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, - "fromInputName": "adiodvpe0_bandwidth_units", + "fromInputName": "pasqualevpe0_bandwidth_units", "constraints": null, "required": true, "default": "Gbps" @@ -1364,10 +1440,10 @@ describe('Network Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, - "fromInputName": "adiodvpe0_bandwidth", + "fromInputName": "pasqualevpe0_bandwidth", "constraints": null, "required": true, "default": "10" @@ -1378,10 +1454,10 @@ describe('Network Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, - "fromInputName": "2017488_adiodvpe0_AIC_CLLI", + "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", "constraints": null, "required": true, "default": "ATLMY8GA" @@ -1392,10 +1468,10 @@ describe('Network Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, - "fromInputName": "2017488_adiodvpe0_vnf_instance_name", + "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", "constraints": null, "required": true, "default": "mtnj309me6" @@ -1403,37 +1479,37 @@ describe('Network Model Info', () => { }, "volumeGroupAllowed": true }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db", "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091", "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", "description": null, - "name": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "version": "5", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "ADIOD_base_vPE_BV", + "vfModuleLabel": "PASQUALE_base_vPE_BV", "baseModule": true }, "inputs": {}, "volumeGroupAllowed": false }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV", + "vfModuleLabel": "PASQUALE_vPFE_BV", "baseModule": false }, "inputs": {}, @@ -1441,19 +1517,19 @@ describe('Network Model Info', () => { } }, "volumeGroups": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "baseModule": false }, "inputs": { @@ -1463,10 +1539,10 @@ describe('Network Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, - "fromInputName": "2017488_adiodvpe0_vnf_config_template_version", + "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", "constraints": null, "required": true, "default": "17.2" @@ -1477,10 +1553,10 @@ describe('Network Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, - "fromInputName": "adiodvpe0_bandwidth_units", + "fromInputName": "pasqualevpe0_bandwidth_units", "constraints": null, "required": true, "default": "Gbps" @@ -1491,10 +1567,10 @@ describe('Network Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, - "fromInputName": "adiodvpe0_bandwidth", + "fromInputName": "pasqualevpe0_bandwidth", "constraints": null, "required": true, "default": "10" @@ -1505,10 +1581,10 @@ describe('Network Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, - "fromInputName": "2017488_adiodvpe0_AIC_CLLI", + "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", "constraints": null, "required": true, "default": "ATLMY8GA" @@ -1519,29 +1595,29 @@ describe('Network Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, - "fromInputName": "2017488_adiodvpe0_vnf_instance_name", + "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", "constraints": null, "required": true, "default": "mtnj309me6" } } }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV", + "vfModuleLabel": "PASQUALE_vPFE_BV", "baseModule": false }, "inputs": {} diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/network/network.model.info.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/network/network.model.info.ts index 3d99750ae..3ed40cd5f 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/network/network.model.info.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/network/network.model.info.ts @@ -28,6 +28,8 @@ import { updateNetworkPosition } from "../../../../../shared/storeUtil/utils/network/network.actions"; import {IModalConfig} from "onap-ui-angular/dist/modals/models/modal-config"; +import {ComponentInfoType} from "../../../component-info/component-info-model"; +import {ModelInformationItem} from "../../../../../shared/components/model-information/model-information.component"; export class NetworkModelInfo implements ILevelNodeInfo { constructor(private _dynamicInputsService: DynamicInputsService, @@ -43,6 +45,8 @@ export class NetworkModelInfo implements ILevelNodeInfo { name: string = 'networks'; type: string = 'Network'; typeName: string = 'N'; + childNames: string[]; + componentInfoType = ComponentInfoType.NETWORK; /*********************************************************** * return model dynamic inputs @@ -83,7 +87,7 @@ export class NetworkModelInfo implements ILevelNodeInfo { node.typeName = this.typeName; node.menuActions = this.getMenuAction(<any>node, model.uuid); node.isFailed = _.isNil(instance.isFailed) ? false : instance.isFailed; - node.statusMessage = !_.isNil(instance.statusMessage) ? instance.statusMessage: ""; + node.statusMessage = !_.isNil(instance.statusMessage) ? instance.statusMessage : ""; node = this._sharedTreeService.addingStatusProperty(node); return node; }; @@ -141,7 +145,7 @@ export class NetworkModelInfo implements ILevelNodeInfo { map = this._store.getState().service.serviceInstance[serviceModelId].existingNetworksCounterMap || 0; if (!_.isNil(map)) { let count = map[node.data.modelUniqueId] || 0; - count -= this._sharedTreeService.getExistingInstancesWithDeleteMode(node, serviceModelId , 'networks'); + count -= this._sharedTreeService.getExistingInstancesWithDeleteMode(node, serviceModelId, 'networks'); return count; } } @@ -157,7 +161,7 @@ export class NetworkModelInfo implements ILevelNodeInfo { let counter: number = !_.isNil(this._store.getState().service.serviceInstance[serviceModelId]) ? (this._store.getState().service.serviceInstance[serviceModelId].existingNetworksCounterMap[node.data.modelUniqueId] || 0) : 0; - counter -= this._sharedTreeService.getExistingInstancesWithDeleteMode(node, serviceModelId , 'networks'); + counter -= this._sharedTreeService.getExistingInstancesWithDeleteMode(node, serviceModelId, 'networks'); const properties = this._store.getState().service.serviceHierarchy[serviceModelId].networks[node.data.name].properties; const maxInstances: number = !_.isNil(properties) ? (properties.max_instances || 1) : 1; @@ -167,7 +171,7 @@ export class NetworkModelInfo implements ILevelNodeInfo { return new AvailableNodeIcons(showAddIcon, isReachedLimit) } - getMenuAction(node: ITreeNode, serviceModelId: string): { [methodName: string]: { method: Function, visible: Function, enable: Function }} { + getMenuAction(node: ITreeNode, serviceModelId: string): { [methodName: string]: { method: Function, visible: Function, enable: Function } } { const mode = this._store.getState().global.drawingBoardStatus; return { edit: { @@ -186,64 +190,63 @@ export class NetworkModelInfo implements ILevelNodeInfo { isUpdateMode: true }); }, - visible: (node) => this._sharedTreeService.shouldShowRemoveAndEdit(node), - enable: (node) => this._sharedTreeService.shouldShowRemoveAndEdit(node) + visible: (node) => node.data.parentType !== 'VRF' && this._sharedTreeService.shouldShowRemoveAndEdit(node), + enable: (node) => node.data.parentType !== 'VRF' && this._sharedTreeService.shouldShowRemoveAndEdit(node) }, showAuditInfo: { method: (node, serviceModelId) => { let instance = this._store.getState().service.serviceInstance[serviceModelId].networks[node.data.networkStoreKey]; this._sharedTreeService.openAuditInfoModal(node, serviceModelId, instance, 'NETWORK', this); }, - visible: (node) => this._sharedTreeService.shouldShowAuditInfo(node), - enable: (node) => this._sharedTreeService.shouldShowAuditInfo(node) + visible: (node) => node.data.parentType !== 'VRF' && this._sharedTreeService.shouldShowAuditInfo(node), + enable: (node) => node.data.parentType !== 'VRF' && this._sharedTreeService.shouldShowAuditInfo(node) }, duplicate: { method: (node, serviceModelId) => { - if (this._store.getState().global.flags['FLAG_DUPLICATE_VNF']) { - const storeKey = node.data.networkStoreKey; - let modalConfig: IModalConfig = this._duplicateService.openDuplicateModal(serviceModelId, node.data.modelUniqueId, node.data.modelName, storeKey, 1, this._store, node); - this.modalService.openCustomModal(modalConfig, DuplicateVnfComponent); - } + const storeKey = node.data.networkStoreKey; + let modalConfig: IModalConfig = this._duplicateService.openDuplicateModal(serviceModelId, node.data.modelUniqueId, node.data.modelName, storeKey, 1, this._store, node); + this.modalService.openCustomModal(modalConfig, DuplicateVnfComponent); }, - visible: (node) => this._sharedTreeService.shouldShowDuplicate(node) && !_.isNil(node.data) && !_.isNil(node.data.action) && node.data.action === ServiceInstanceActions.Create && this._duplicateService.canDuplicate(node), - enable: (node, serviceModelId) => this._duplicateService.isEnabled(node, this._store, serviceModelId) + visible: (node) => node.data.parentType !== 'VRF' && this._sharedTreeService.shouldShowDuplicate(node) && !_.isNil(node.data) && !_.isNil(node.data.action) && node.data.action === ServiceInstanceActions.Create && this._duplicateService.canDuplicate(node), + enable: (node, serviceModelId) => node.data.parentType !== 'VRF' && this._duplicateService.isEnabled(node, this._store, serviceModelId) }, remove: { method: (node, serviceModelId) => { let storeKey: string = node.data.networkStoreKey; this._store.dispatch(removeInstance(node.data.networkStoreKey, serviceModelId, storeKey, node)); - this._store.dispatch(changeInstanceCounter(node.data.modelUniqueId , serviceModelId, -1, node)); + this._store.dispatch(changeInstanceCounter(node.data.modelUniqueId, serviceModelId, -1, node)); this._sharedTreeService.selectedVNF = null; }, - visible: (node) => this._sharedTreeService.shouldShowRemoveAndEdit(node), - enable: (node) => this._sharedTreeService.shouldShowRemoveAndEdit(node), + visible: (node) => node.data.parentType !== 'VRF' && this._sharedTreeService.shouldShowRemoveAndEdit(node), + enable: (node) => node.data.parentType !== 'VRF' && this._sharedTreeService.shouldShowRemoveAndEdit(node), }, - delete : { - method : (node, serviceModelId) => { + delete: { + method: (node, serviceModelId) => { if ((!_.isNil(node.data.children) && node.data.children.length === 0) || _.isNil(node.data.children)) { this._store.dispatch(deleteActionNetworkInstance(node.data.networkStoreKey, serviceModelId)); - }else { - this._sharedTreeService.removeDeleteAllChild(node, serviceModelId, (node, serviceModelId)=>{ + } else { + this._sharedTreeService.removeDeleteAllChild(node, serviceModelId, (node, serviceModelId) => { this._store.dispatch(deleteActionNetworkInstance(node.data.networkStoreKey, serviceModelId)); }); } }, - visible: (node) => this._sharedTreeService.shouldShowDelete(node), - enable: (node) => this._sharedTreeService.shouldShowDelete(node) + visible: (node) => node.data.parentType !== 'VRF' && this._sharedTreeService.shouldShowDelete(node), + enable: (node) => node.data.parentType !== 'VRF' && this._sharedTreeService.shouldShowDelete(node) }, - undoDelete : { - method : (node, serviceModelId) => { + undoDelete: { + method: (node, serviceModelId) => { if ((!_.isNil(node.data.children) && node.data.children.length === 0) || _.isNil(node.data.children)) { this._store.dispatch(undoDeleteActionNetworkInstance(node.data.networkStoreKey, serviceModelId)); - }else { - this._sharedTreeService.undoDeleteAllChild(node, serviceModelId, (node, serviceModelId)=>{ + } else { + this._sharedTreeService.undoDeleteAllChild(node, serviceModelId, (node, serviceModelId) => { this._store.dispatch(undoDeleteActionNetworkInstance(node.data.networkStoreKey, serviceModelId)); }); } }, - visible: (node) => this._sharedTreeService.shouldShowUndoDelete(node), - enable: (node, serviceModelId) => this._sharedTreeService.shouldShowUndoDelete(node) && !this._sharedTreeService.isServiceOnDeleteMode(serviceModelId) + visible: (node) => node.data.parentType !== 'VRF' && this._sharedTreeService.shouldShowUndoDelete(node), + enable: (node, serviceModelId) => node.data.parentType !== 'VRF' && this._sharedTreeService.shouldShowUndoDelete(node) && !this._sharedTreeService.isServiceOnDeleteMode(serviceModelId) } + }; } @@ -251,7 +254,7 @@ export class NetworkModelInfo implements ILevelNodeInfo { * should update node position inside the tree * @param node - current ITrees node ************************************************************/ - updatePosition(that , node, instanceId): void { + updatePosition(that, node, instanceId): void { that.store.dispatch(updateNetworkPosition(node)); } @@ -259,6 +262,16 @@ export class NetworkModelInfo implements ILevelNodeInfo { return !_.isNil(instance) ? instance.position : null; } - onSelectedNode(node: ITreeNode): void { + getInfo(model, instance): ModelInformationItem[] { + const modelInformation = !_.isEmpty(model) && !_.isEmpty(model.properties) ? [ + ModelInformationItem.createInstance("Network role", model.properties.network_role)] : []; + ModelInformationItem.createInstance("Min instances", !_.isNull(model.min) ? String(model.min) : null), + ModelInformationItem.createInstance("Max instances", !_.isNull(model.max) ? String(model.max) : null) + const instanceInfo = !_.isEmpty(instance) ? [ + ModelInformationItem.createInstance("Route target id", instance.routeTargetId ? instance.routeTargetId : null), + ModelInformationItem.createInstance("Route target role", instance.routeTargetRole ? instance.routeTargetRole : null)] : + []; + const result = [modelInformation, instanceInfo]; + return _.uniq(_.flatten(result)); } } diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/pnf/pnf.model.info.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/pnf/pnf.model.info.spec.ts new file mode 100644 index 000000000..ca041e045 --- /dev/null +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/pnf/pnf.model.info.spec.ts @@ -0,0 +1,134 @@ +import {ComponentInfoService} from "../../../component-info/component-info.service"; +import {AppState} from "../../../../../shared/store/reducers"; +import {NgRedux} from "@angular-redux/store"; +import {PnfModelInfo} from "./pnf.model.info"; +import {getTestBed, TestBed} from "@angular/core/testing"; +import {DynamicInputsService} from "../../dynamicInputs.service"; +import {SharedTreeService} from "../../shared.tree.service"; +import {DuplicateService} from "../../../duplicate/duplicate.service"; +import {AaiService} from "../../../../../shared/services/aaiService/aai.service"; +import {FeatureFlagsService} from "../../../../../shared/services/featureFlag/feature-flags.service"; +import {IframeService} from "../../../../../shared/utils/iframe.service"; +import {HttpClientTestingModule} from "@angular/common/http/testing"; +import {MockNgRedux, NgReduxTestingModule} from "@angular-redux/store/testing"; +import {HttpClient, HttpHandler} from "@angular/common/http"; +import {CollectionResourceModel} from "../../../../../shared/models/collectionResourceModel"; +import {ComponentInfoType} from "../../../component-info/component-info-model"; + + +describe('PNF model info', () => { + let injector; + let _componentInfoService: ComponentInfoService; + let _store: NgRedux<AppState>; + let pnfModel: PnfModelInfo = new PnfModelInfo(); + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [HttpClientTestingModule, NgReduxTestingModule], + providers: [ + MockNgRedux, + DynamicInputsService, + SharedTreeService, + DuplicateService, + AaiService, + HttpClient, + HttpHandler, + FeatureFlagsService, + ComponentInfoService, + IframeService] + }).compileComponents(); + + injector = getTestBed(); + _store = injector.get(NgRedux); + _componentInfoService = injector.get(ComponentInfoService); + }); + + test('pnf model should be defined', () => { + expect(pnfModel).toBeDefined(); + }); + + test('pnf model should defined extra details', () => { + expect(pnfModel.name).toEqual('pnfs'); + expect(pnfModel.type).toEqual('PNF'); + expect(pnfModel.typeName).toEqual('PNF'); + expect(pnfModel.componentInfoType).toEqual(ComponentInfoType.PNF); + }); + + test('getTooltip should return "PNF"', () => { + let tooltip: string = pnfModel.getTooltip(); + expect(tooltip).toEqual('PNF'); + }); + + test('getType should return "pnf"', () => { + let tooltip: string = pnfModel.getType(); + expect(tooltip).toEqual('pnf'); + }); + + test('getNextLevelObject should be null', () => { + let nextLevel: any = pnfModel.getNextLevelObject(); + expect(nextLevel).toBeNull(); + }); + + test('isEcompGeneratedNaming should return false', () => { + let isEcompGeneratedNaming: boolean = pnfModel.isEcompGeneratedNaming(<any>{}); + expect(isEcompGeneratedNaming).toBeFalsy(); + }); + + test('getModel should return pnf model', () => { + let model: CollectionResourceModel = pnfModel.getModel('PNF1', <any>{ + originalName : 'PNF1' + }, getServiceHierarchy()); + expect(model.type).toEqual('PNF'); + }); + + function getServiceHierarchy(){ + return { + "service": { + "uuid": "12550cd7-7708-4f53-a09e-41d3d6327ebc", + "invariantUuid": "561faa57-7bbb-40ec-a81c-c0d4133e98d4", + "name": "AIM Transport SVC_ym161f", + "version": "1.0", + "toscaModelURL": null, + "category": "Network L1-3", + "serviceType": "TRANSPORT", + "serviceRole": "AIM", + "description": "AIM Transport service", + "serviceEcompNaming": "true", + "instantiationType": "Macro", + "inputs": {}, + "vidNotions": { + "instantiationUI": "legacy", + "modelCategory": "other", + "viewEditUI": "legacy" + } + }, + "vnfs": {}, + "networks": {}, + "collectionResources": {}, + "configurations": {}, + "fabricConfigurations": {}, + "serviceProxies": {}, + "vfModules": {}, + "volumeGroups": {}, + "pnfs": { + "PNF1": { + "uuid": "1c831fa9-28a6-4778-8c1d-80b9e769f2ed", + "invariantUuid": "74e13a12-dac9-4fba-b102-cd242d9e7f02", + "description": "AIM Transport service", + "name": "AIM PNF Model", + "version": "1.0", + "customizationUuid": "dce78da7-c842-47a1-aba2-2de1cd03ab7a", + "inputs": {}, + "commands": {}, + "properties": { + "nf_function": "SDNGW", + "nf_role": "pD2IPE", + "ecomp_generated_naming": "false", + "nf_type": "ROUTER" + }, + "type": "PNF" + } + }, + "vnfGroups": {} + } + } +}) diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/pnf/pnf.model.info.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/pnf/pnf.model.info.ts new file mode 100644 index 000000000..dc01b87ef --- /dev/null +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/pnf/pnf.model.info.ts @@ -0,0 +1,70 @@ +import {ILevelNodeInfo} from "../basic.model.info"; +import {ComponentInfoType} from "../../../component-info/component-info-model"; +import {ModelInformationItem} from "../../../../../shared/components/model-information/model-information.component"; +import {ITreeNode} from "angular-tree-component/dist/defs/api"; +import {AvailableNodeIcons} from "../../../available-models-tree/available-models-tree.service"; +import {PnfInstance} from "app/shared/models/pnfInstance"; +import {PNFModel} from "../../../../../shared/models/pnfModel"; +import {PnfTreeNode} from "../../../../../shared/models/pnfTreeNode"; + + +export class PnfModelInfo implements ILevelNodeInfo{ + + constructor(){} + + name: string = 'pnfs'; + type: string ='PNF'; + typeName: string = 'PNF'; + childNames: string[]; + componentInfoType = ComponentInfoType.PNF; + + createInstanceTreeNode = (instance: PnfInstance, model: PNFModel, parentModel: any, storeKey: string): PnfTreeNode => null; + + getInfo(model, instance): ModelInformationItem[] { + return []; + } + + getMenuAction(node: ITreeNode, serviceModelId: string): { [methodName: string]: { method: Function; visible: Function; enable: Function } } { + return {}; + } + + getModel = (pnfModelId: string, instance: PnfInstance, serviceHierarchy): PNFModel => { + const originalModelName = instance.originalName ? instance.originalName : pnfModelId; + return new PNFModel(serviceHierarchy[this.name][originalModelName]); + }; + + getNextLevelObject(): any { return null; } + + getNodeCount(node: ITreeNode, serviceModelId: string): number { + return 0; + } + + getNodePosition(instance): number {return 0; } + + getTooltip = (): string => 'PNF'; + + + getType = (): string => 'pnf'; + + + hasMissingData(instance, dynamicInputs: any, isEcompGeneratedNaming: boolean): boolean { + return false; + } + + isEcompGeneratedNaming(currentModel): boolean { + return false; + } + + onClickAdd(node: ITreeNode, serviceModelId: string): void { + } + + showNodeIcons(node: ITreeNode, serviceModelId: string): AvailableNodeIcons { + return null; + } + + updateDynamicInputsDataFromModel = (currentModel): any => []; + + updatePosition(that, node, instanceId): void { + } + +} diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/relatedVnfMember/relatedVnfMember.info.model.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/relatedVnfMember/relatedVnfMember.info.model.spec.ts index dcf25f579..840f31dcf 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/relatedVnfMember/relatedVnfMember.info.model.spec.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/relatedVnfMember/relatedVnfMember.info.model.spec.ts @@ -107,15 +107,15 @@ describe('Related Vnf member Model Info', () => { }); test('getModel should return VNF model', () => { - let model: VNFModel = relatedVnfMemeber.getModel('2017-388_ADIOD-vPE 1', <any>{ - originalName : '2017-388_ADIOD-vPE 1' + let model: VNFModel = relatedVnfMemeber.getModel('2017-388_PASQUALE-vPE 1', <any>{ + originalName : '2017-388_PASQUALE-vPE 1' }, getServiceHierarchy()); expect(model.type).toEqual('VF'); }); test('getMenuAction: delete', ()=>{ - let node = {"modelId":"d6557200-ecf2-4641-8094-5393ae3aae60","missingData":true,"action":"None","inMaint":true,"name":"jlfBwIks283yKlCD8","modelName":"VF_vMee 0","type":"VF","isEcompGeneratedNaming":true,"networkStoreKey":"VF_vMee 0:004","vnfStoreKey":"VF_vMee 0:004","typeName":"VNF"}; + 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"}; let serviceModelId = "d6557200-ecf2-4641-8094-5393ae3aae60"; let result = relatedVnfMemeber.getMenuAction(<any>node, serviceModelId); spyOn(result['delete'], 'method'); @@ -128,7 +128,7 @@ describe('Related Vnf member Model Info', () => { test('getMenuAction: undoDelete', ()=>{ - let node = {"modelId":"d6557200-ecf2-4641-8094-5393ae3aae60","missingData":true,"action":"None","inMaint":true,"name":"jlfBwIks283yKlCD8","modelName":"VF_vMee 0","type":"VF","isEcompGeneratedNaming":true,"networkStoreKey":"VF_vMee 0:004","vnfStoreKey":"VF_vMee 0:004","typeName":"VNF"}; + 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"}; let serviceModelId = "d6557200-ecf2-4641-8094-5393ae3aae60"; let result = relatedVnfMemeber.getMenuAction(<any>node, serviceModelId); spyOn(result['undoDelete'], 'method'); @@ -156,7 +156,7 @@ describe('Related Vnf member Model Info', () => { "serviceEcompNaming": "false", "instantiationType": "Macro", "inputs": { - "2017488_adiodvpe0_ASN": { + "2017488_pasqualevpe0_ASN": { "type": "string", "description": "AV/PE", "entry_schema": null, @@ -172,11 +172,11 @@ describe('Related Vnf member Model Info', () => { } }, "vnfs": { - "2017-388_ADIOD-vPE 1": { + "2017-388_PASQUALE-vPE 1": { "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413", "invariantUuid": "00beb8f9-6d39-452f-816d-c709b9cbb87d", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-388_ADIOD-vPE", + "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", + "name": "2017-388_PASQUALE-vPE", "version": "1.0", "customizationUuid": "280dec31-f16d-488b-9668-4aae55d6648a", "inputs": { @@ -239,37 +239,37 @@ describe('Related Vnf member Model Info', () => { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, "bandwidth": { "displayName": "bandwidth", "command": "get_input", - "inputName": "adiodvpe0_bandwidth" + "inputName": "pasqualevpe0_bandwidth" }, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, "ASN": { "displayName": "ASN", "command": "get_input", - "inputName": "2017488_adiodvpe0_ASN" + "inputName": "2017488_pasqualevpe0_ASN" }, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -314,7 +314,7 @@ describe('Related Vnf member Model Info', () => { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -322,14 +322,14 @@ describe('Related Vnf member Model Info', () => { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -339,7 +339,7 @@ describe('Related Vnf member Model Info', () => { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -353,16 +353,16 @@ describe('Related Vnf member Model Info', () => { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-388_ADIOD-vPE 1", + "modelCustomizationName": "2017-388_PASQUALE-vPE 1", "vfModules": {}, "volumeGroups": {}, "vfcInstanceGroups": {} }, - "2017-388_ADIOD-vPE 0": { + "2017-388_PASQUALE-vPE 0": { "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168", "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-388_ADIOD-vPE", + "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", + "name": "2017-388_PASQUALE-vPE", "version": "4.0", "customizationUuid": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c", "inputs": { @@ -425,37 +425,37 @@ describe('Related Vnf member Model Info', () => { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, "bandwidth": { "displayName": "bandwidth", "command": "get_input", - "inputName": "adiodvpe0_bandwidth" + "inputName": "pasqualevpe0_bandwidth" }, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, "ASN": { "displayName": "ASN", "command": "get_input", - "inputName": "2017488_adiodvpe0_ASN" + "inputName": "2017488_pasqualevpe0_ASN" }, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -501,7 +501,7 @@ describe('Related Vnf member Model Info', () => { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -509,14 +509,14 @@ describe('Related Vnf member Model Info', () => { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -526,7 +526,7 @@ describe('Related Vnf member Model Info', () => { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -540,16 +540,16 @@ describe('Related Vnf member Model Info', () => { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-388_ADIOD-vPE 0", + "modelCustomizationName": "2017-388_PASQUALE-vPE 0", "vfModules": {}, "volumeGroups": {}, "vfcInstanceGroups": {} }, - "2017-488_ADIOD-vPE 0": { + "2017-488_PASQUALE-vPE 0": { "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09", "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-488_ADIOD-vPE", + "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", + "name": "2017-488_PASQUALE-vPE", "version": "5.0", "customizationUuid": "1da7b585-5e61-4993-b95e-8e6606c81e45", "inputs": { @@ -612,37 +612,37 @@ describe('Related Vnf member Model Info', () => { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, "bandwidth": { "displayName": "bandwidth", "command": "get_input", - "inputName": "adiodvpe0_bandwidth" + "inputName": "pasqualevpe0_bandwidth" }, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, "ASN": { "displayName": "ASN", "command": "get_input", - "inputName": "2017488_adiodvpe0_ASN" + "inputName": "2017488_pasqualevpe0_ASN" }, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -689,7 +689,7 @@ describe('Related Vnf member Model Info', () => { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -697,14 +697,14 @@ describe('Related Vnf member Model Info', () => { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -714,7 +714,7 @@ describe('Related Vnf member Model Info', () => { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -728,21 +728,21 @@ describe('Related Vnf member Model Info', () => { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-488_ADIOD-vPE 0", + "modelCustomizationName": "2017-488_PASQUALE-vPE 0", "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "baseModule": false }, "inputs": { @@ -752,10 +752,10 @@ describe('Related Vnf member Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, - "fromInputName": "2017488_adiodvpe0_vnf_config_template_version", + "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", "constraints": null, "required": true, "default": "17.2" @@ -766,10 +766,10 @@ describe('Related Vnf member Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, - "fromInputName": "adiodvpe0_bandwidth_units", + "fromInputName": "pasqualevpe0_bandwidth_units", "constraints": null, "required": true, "default": "Gbps" @@ -780,10 +780,10 @@ describe('Related Vnf member Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, - "fromInputName": "adiodvpe0_bandwidth", + "fromInputName": "pasqualevpe0_bandwidth", "constraints": null, "required": true, "default": "10" @@ -794,10 +794,10 @@ describe('Related Vnf member Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, - "fromInputName": "2017488_adiodvpe0_AIC_CLLI", + "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", "constraints": null, "required": true, "default": "ATLMY8GA" @@ -808,10 +808,10 @@ describe('Related Vnf member Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, - "fromInputName": "2017488_adiodvpe0_vnf_instance_name", + "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", "constraints": null, "required": true, "default": "mtnj309me6" @@ -819,37 +819,37 @@ describe('Related Vnf member Model Info', () => { }, "volumeGroupAllowed": true }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db", "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091", "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", "description": null, - "name": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "version": "5", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "ADIOD_base_vPE_BV", + "vfModuleLabel": "PASQUALE_base_vPE_BV", "baseModule": true }, "inputs": {}, "volumeGroupAllowed": false }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV", + "vfModuleLabel": "PASQUALE_vPFE_BV", "baseModule": false }, "inputs": {}, @@ -857,19 +857,19 @@ describe('Related Vnf member Model Info', () => { } }, "volumeGroups": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "baseModule": false }, "inputs": { @@ -879,10 +879,10 @@ describe('Related Vnf member Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, - "fromInputName": "2017488_adiodvpe0_vnf_config_template_version", + "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", "constraints": null, "required": true, "default": "17.2" @@ -893,10 +893,10 @@ describe('Related Vnf member Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, - "fromInputName": "adiodvpe0_bandwidth_units", + "fromInputName": "pasqualevpe0_bandwidth_units", "constraints": null, "required": true, "default": "Gbps" @@ -907,10 +907,10 @@ describe('Related Vnf member Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, - "fromInputName": "adiodvpe0_bandwidth", + "fromInputName": "pasqualevpe0_bandwidth", "constraints": null, "required": true, "default": "10" @@ -921,10 +921,10 @@ describe('Related Vnf member Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, - "fromInputName": "2017488_adiodvpe0_AIC_CLLI", + "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", "constraints": null, "required": true, "default": "ATLMY8GA" @@ -935,29 +935,29 @@ describe('Related Vnf member Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, - "fromInputName": "2017488_adiodvpe0_vnf_instance_name", + "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", "constraints": null, "required": true, "default": "mtnj309me6" } } }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV", + "vfModuleLabel": "PASQUALE_vPFE_BV", "baseModule": false }, "inputs": {} @@ -967,24 +967,24 @@ describe('Related Vnf member Model Info', () => { } }, "networks": {}, - "collectionResource": {}, + "collectionResources": {}, "configurations": {}, "fabricConfigurations": {}, "serviceProxies": {}, "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "baseModule": false }, "inputs": { @@ -994,10 +994,10 @@ describe('Related Vnf member Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, - "fromInputName": "2017488_adiodvpe0_vnf_config_template_version", + "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", "constraints": null, "required": true, "default": "17.2" @@ -1008,10 +1008,10 @@ describe('Related Vnf member Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, - "fromInputName": "adiodvpe0_bandwidth_units", + "fromInputName": "pasqualevpe0_bandwidth_units", "constraints": null, "required": true, "default": "Gbps" @@ -1022,10 +1022,10 @@ describe('Related Vnf member Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, - "fromInputName": "adiodvpe0_bandwidth", + "fromInputName": "pasqualevpe0_bandwidth", "constraints": null, "required": true, "default": "10" @@ -1036,10 +1036,10 @@ describe('Related Vnf member Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, - "fromInputName": "2017488_adiodvpe0_AIC_CLLI", + "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", "constraints": null, "required": true, "default": "ATLMY8GA" @@ -1050,10 +1050,10 @@ describe('Related Vnf member Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, - "fromInputName": "2017488_adiodvpe0_vnf_instance_name", + "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", "constraints": null, "required": true, "default": "mtnj309me6" @@ -1061,37 +1061,37 @@ describe('Related Vnf member Model Info', () => { }, "volumeGroupAllowed": true }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db", "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091", "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", "description": null, - "name": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "version": "5", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "ADIOD_base_vPE_BV", + "vfModuleLabel": "PASQUALE_base_vPE_BV", "baseModule": true }, "inputs": {}, "volumeGroupAllowed": false }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV", + "vfModuleLabel": "PASQUALE_vPFE_BV", "baseModule": false }, "inputs": {}, @@ -1099,19 +1099,19 @@ describe('Related Vnf member Model Info', () => { } }, "volumeGroups": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "baseModule": false }, "inputs": { @@ -1121,10 +1121,10 @@ describe('Related Vnf member Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, - "fromInputName": "2017488_adiodvpe0_vnf_config_template_version", + "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", "constraints": null, "required": true, "default": "17.2" @@ -1135,10 +1135,10 @@ describe('Related Vnf member Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, - "fromInputName": "adiodvpe0_bandwidth_units", + "fromInputName": "pasqualevpe0_bandwidth_units", "constraints": null, "required": true, "default": "Gbps" @@ -1149,10 +1149,10 @@ describe('Related Vnf member Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, - "fromInputName": "adiodvpe0_bandwidth", + "fromInputName": "pasqualevpe0_bandwidth", "constraints": null, "required": true, "default": "10" @@ -1163,10 +1163,10 @@ describe('Related Vnf member Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, - "fromInputName": "2017488_adiodvpe0_AIC_CLLI", + "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", "constraints": null, "required": true, "default": "ATLMY8GA" @@ -1177,29 +1177,29 @@ describe('Related Vnf member Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, - "fromInputName": "2017488_adiodvpe0_vnf_instance_name", + "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", "constraints": null, "required": true, "default": "mtnj309me6" } } }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV", + "vfModuleLabel": "PASQUALE_vPFE_BV", "baseModule": false }, "inputs": {} diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/relatedVnfMember/relatedVnfMember.info.model.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/relatedVnfMember/relatedVnfMember.info.model.ts index b1eb10937..c8807e87d 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/relatedVnfMember/relatedVnfMember.info.model.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/relatedVnfMember/relatedVnfMember.info.model.ts @@ -15,6 +15,8 @@ import {VnfInstance} from "../../../../../shared/models/vnfInstance"; import {VNFModel} from "../../../../../shared/models/vnfModel"; import {VnfTreeNode} from "../../../../../shared/models/vnfTreeNode"; import {InputType} from "../../../../../shared/models/inputTypes"; +import {ComponentInfoType} from "../../../component-info/component-info-model"; +import {ModelInformationItem} from "../../../../../shared/components/model-information/model-information.component"; export class RelatedVnfMemberInfoModel implements ILevelNodeInfo { constructor(private _sharedTreeService: SharedTreeService, @@ -25,6 +27,7 @@ export class RelatedVnfMemberInfoModel implements ILevelNodeInfo { name: string = 'vnfs'; type: string = 'relatedVnfMember'; typeName: string = 'VNF'; + componentInfoType = ComponentInfoType.VNFMEMBER; /*********************************************************** * return if user should provide instance name or not. @@ -153,6 +156,8 @@ export class RelatedVnfMemberInfoModel implements ILevelNodeInfo { return null; } - onSelectedNode(node: ITreeNode): void { + getInfo(model, instance): ModelInformationItem[] { + return []; } + } diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vfModule/vfModule.model.info.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vfModule/vfModule.model.info.spec.ts index dc7452516..b596d0b48 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vfModule/vfModule.model.info.spec.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vfModule/vfModule.model.info.spec.ts @@ -1,5 +1,4 @@ - -import {HttpClientTestingModule, HttpTestingController} from "@angular/common/http/testing"; +import {HttpClientTestingModule} from "@angular/common/http/testing"; import {getTestBed, TestBed} from "@angular/core/testing"; import {MockNgRedux, NgReduxTestingModule} from "@angular-redux/store/testing"; import {VFModuleModelInfo} from "./vfModule.model.info"; @@ -8,17 +7,16 @@ import {SharedTreeService} from "../../shared.tree.service"; import {VfModulePopuopService} from "../../../../../shared/components/genericFormPopup/genericFormServices/vfModule/vfModule.popuop.service"; import {DialogService} from "ng2-bootstrap-modal"; import {NgRedux} from "@angular-redux/store"; -import {AppState} from "../../../../../shared/store/reducers"; import {AvailableNodeIcons} from "../../../available-models-tree/available-models-tree.service"; import {MessageBoxService} from "../../../../../shared/components/messageBox/messageBox.service"; import {DrawingBoardModes} from "../../../drawing-board.modes"; import {IframeService} from "../../../../../shared/utils/iframe.service"; import {ComponentInfoService} from "../../../component-info/component-info.service"; import {ModelInformationItem} from "../../../../../shared/components/model-information/model-information.component"; -import {ComponentInfoModel, ComponentInfoType} from "../../../component-info/component-info-model"; import {AaiService} from "../../../../../shared/services/aaiService/aai.service"; import {HttpClient, HttpHandler} from "@angular/common/http"; import {FeatureFlagsService} from "../../../../../shared/services/featureFlag/feature-flags.service"; + class MockAppStore<T> { getState() { return { @@ -120,7 +118,7 @@ describe('VFModule Model Info', () => { }); test('getModel should return Module model', () => { - let model = vfModuleModel.getModel('2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1',{}, getServiceHierarchy()); + let model = vfModuleModel.getModel('2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1',{}, getServiceHierarchy()); expect(model.uuid).toEqual('25284168-24bb-4698-8cb4-3f509146eca5'); }); @@ -460,18 +458,14 @@ describe('VFModule Model Info', () => { test('Info for vfModule should be correct', () => { const model = getVFModule(); const instance = getVFModuleInstance(); - let actualVNFInfo = vfModuleModel.getInfoForVFModule(model,instance); + let actualVNFInfo = vfModuleModel.getInfo(model,instance); let expectedVNFInfo = [ - ModelInformationItem.createInstance('Type', 'vfModule'), - ModelInformationItem.createInstance('Model Version', '2'), - ModelInformationItem.createInstance('Model Customization ID','55b1be94-671a-403e-a26c-667e9c47d091'), - ModelInformationItem.createInstance('Instance ID', '2c1ca484-cbc2-408b-ab86-25a2c15ce280'), - ModelInformationItem.createInstance('In Maintenance', true), - ModelInformationItem.createInstance('Base Module', false), - ModelInformationItem.createInstance('Min Instances', 0), - ModelInformationItem.createInstance('Initial Instances Count',0) + ModelInformationItem.createInstance('Base module', false), + ModelInformationItem.createInstance('Min instances', "0"), + ModelInformationItem.createInstance("Max instances", null), + ModelInformationItem.createInstance('Initial instances count',"0") ]; - expect(actualVNFInfo).toEqual(new ComponentInfoModel(ComponentInfoType.VFMODULE, expectedVNFInfo, [])); + expect(actualVNFInfo).toEqual(expectedVNFInfo); }); function getVFModule(){ @@ -480,14 +474,14 @@ describe('VFModule Model Info', () => { "invariantUuid":"98a7c88b-b577-476a-90e4-e25a5871e02b", "customizationUuid":"55b1be94-671a-403e-a26c-667e9c47d091", "description":null, - "name":"VfVmee..vmme_vlc..module-1", + "name":"VfVgeraldine..vflorence_vlc..module-1", "version":"2", - "modelCustomizationName":"VfVmee..vmme_vlc..module-1", + "modelCustomizationName":"VfVgeraldine..vflorence_vlc..module-1", "properties":{ "minCountInstances":0, "maxCountInstances":null, "initialCount":0, - "vfModuleLabel":"vmme_vlc", + "vfModuleLabel":"vflorence_vlc", "baseModule":false }, "inputs":{}, @@ -505,7 +499,7 @@ describe('VFModule Model Info', () => { "lcpCloudRegionId":null, "tenantId":null, "modelInfo":{ - "modelCustomizationName":"VfVmee..vmme_vlc..module-1", + "modelCustomizationName":"VfVgeraldine..vflorence_vlc..module-1", "modelCustomizationId":"b200727a-1bf9-4e7c-bd06-b5f4c9d920b9", "modelInvariantId":"09edc9ef-85d0-4b26-80de-1f569d49e750", "modelVersionId":"522159d5-d6e0-4c2a-aa44-5a542a12a830", @@ -515,11 +509,11 @@ describe('VFModule Model Info', () => { "provStatus":null, "inMaint":true, "uuid":"522159d5-d6e0-4c2a-aa44-5a542a12a830", - "originalName":"VfVmee..vmme_vlc..module-1", + "originalName":"VfVgeraldine..vflorence_vlc..module-1", "legacyRegion":null, "lineOfBusiness":null, "platformName":null, - "trackById":"vf_vmee0..VfVmee..vmme_vlc..module-1:008", + "trackById":"vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1:008", "isBase":false, "volumeGroupName":null }; @@ -541,7 +535,7 @@ describe('VFModule Model Info', () => { "serviceEcompNaming": "false", "instantiationType": "Macro", "inputs": { - "2017488_adiodvpe0_ASN": { + "2017488_pasqualevpe0_ASN": { "type": "string", "description": "AV/PE", "entry_schema": null, @@ -557,11 +551,11 @@ describe('VFModule Model Info', () => { } }, "vnfs": { - "2017-388_ADIOD-vPE 1": { + "2017-388_PASQUALE-vPE 1": { "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413", "invariantUuid": "00beb8f9-6d39-452f-816d-c709b9cbb87d", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-388_ADIOD-vPE", + "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", + "name": "2017-388_PASQUALE-vPE", "version": "1.0", "customizationUuid": "280dec31-f16d-488b-9668-4aae55d6648a", "inputs": { @@ -624,37 +618,37 @@ describe('VFModule Model Info', () => { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, "bandwidth": { "displayName": "bandwidth", "command": "get_input", - "inputName": "adiodvpe0_bandwidth" + "inputName": "pasqualevpe0_bandwidth" }, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, "ASN": { "displayName": "ASN", "command": "get_input", - "inputName": "2017488_adiodvpe0_ASN" + "inputName": "2017488_pasqualevpe0_ASN" }, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -699,7 +693,7 @@ describe('VFModule Model Info', () => { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -707,14 +701,14 @@ describe('VFModule Model Info', () => { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -724,7 +718,7 @@ describe('VFModule Model Info', () => { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -738,16 +732,16 @@ describe('VFModule Model Info', () => { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-388_ADIOD-vPE 1", + "modelCustomizationName": "2017-388_PASQUALE-vPE 1", "vfModules": {}, "volumeGroups": {}, "vfcInstanceGroups": {} }, - "2017-388_ADIOD-vPE 0": { + "2017-388_PASQUALE-vPE 0": { "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168", "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-388_ADIOD-vPE", + "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", + "name": "2017-388_PASQUALE-vPE", "version": "4.0", "customizationUuid": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c", "inputs": { @@ -810,37 +804,37 @@ describe('VFModule Model Info', () => { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, "bandwidth": { "displayName": "bandwidth", "command": "get_input", - "inputName": "adiodvpe0_bandwidth" + "inputName": "pasqualevpe0_bandwidth" }, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, "ASN": { "displayName": "ASN", "command": "get_input", - "inputName": "2017488_adiodvpe0_ASN" + "inputName": "2017488_pasqualevpe0_ASN" }, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -886,7 +880,7 @@ describe('VFModule Model Info', () => { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -894,14 +888,14 @@ describe('VFModule Model Info', () => { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -911,7 +905,7 @@ describe('VFModule Model Info', () => { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -925,16 +919,16 @@ describe('VFModule Model Info', () => { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-388_ADIOD-vPE 0", + "modelCustomizationName": "2017-388_PASQUALE-vPE 0", "vfModules": {}, "volumeGroups": {}, "vfcInstanceGroups": {} }, - "2017-488_ADIOD-vPE 0": { + "2017-488_PASQUALE-vPE 0": { "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09", "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-488_ADIOD-vPE", + "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", + "name": "2017-488_PASQUALE-vPE", "version": "5.0", "customizationUuid": "1da7b585-5e61-4993-b95e-8e6606c81e45", "inputs": { @@ -997,37 +991,37 @@ describe('VFModule Model Info', () => { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, "bandwidth": { "displayName": "bandwidth", "command": "get_input", - "inputName": "adiodvpe0_bandwidth" + "inputName": "pasqualevpe0_bandwidth" }, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, "ASN": { "displayName": "ASN", "command": "get_input", - "inputName": "2017488_adiodvpe0_ASN" + "inputName": "2017488_pasqualevpe0_ASN" }, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -1074,7 +1068,7 @@ describe('VFModule Model Info', () => { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -1082,14 +1076,14 @@ describe('VFModule Model Info', () => { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -1099,7 +1093,7 @@ describe('VFModule Model Info', () => { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -1113,21 +1107,21 @@ describe('VFModule Model Info', () => { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-488_ADIOD-vPE 0", + "modelCustomizationName": "2017-488_PASQUALE-vPE 0", "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "baseModule": false }, "inputs": { @@ -1137,10 +1131,10 @@ describe('VFModule Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, - "fromInputName": "2017488_adiodvpe0_vnf_config_template_version", + "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", "constraints": null, "required": true, "default": "17.2" @@ -1151,10 +1145,10 @@ describe('VFModule Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, - "fromInputName": "adiodvpe0_bandwidth_units", + "fromInputName": "pasqualevpe0_bandwidth_units", "constraints": null, "required": true, "default": "Gbps" @@ -1165,10 +1159,10 @@ describe('VFModule Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, - "fromInputName": "adiodvpe0_bandwidth", + "fromInputName": "pasqualevpe0_bandwidth", "constraints": null, "required": true, "default": "10" @@ -1179,10 +1173,10 @@ describe('VFModule Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, - "fromInputName": "2017488_adiodvpe0_AIC_CLLI", + "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", "constraints": null, "required": true, "default": "ATLMY8GA" @@ -1193,10 +1187,10 @@ describe('VFModule Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, - "fromInputName": "2017488_adiodvpe0_vnf_instance_name", + "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", "constraints": null, "required": true, "default": "mtnj309me6" @@ -1204,37 +1198,37 @@ describe('VFModule Model Info', () => { }, "volumeGroupAllowed": true }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db", "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091", "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", "description": null, - "name": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "version": "5", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "ADIOD_base_vPE_BV", + "vfModuleLabel": "PASQUALE_base_vPE_BV", "baseModule": true }, "inputs": {}, "volumeGroupAllowed": false }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV", + "vfModuleLabel": "PASQUALE_vPFE_BV", "baseModule": false }, "inputs": {}, @@ -1242,19 +1236,19 @@ describe('VFModule Model Info', () => { } }, "volumeGroups": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "baseModule": false }, "inputs": { @@ -1264,10 +1258,10 @@ describe('VFModule Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, - "fromInputName": "2017488_adiodvpe0_vnf_config_template_version", + "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", "constraints": null, "required": true, "default": "17.2" @@ -1278,10 +1272,10 @@ describe('VFModule Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, - "fromInputName": "adiodvpe0_bandwidth_units", + "fromInputName": "pasqualevpe0_bandwidth_units", "constraints": null, "required": true, "default": "Gbps" @@ -1292,10 +1286,10 @@ describe('VFModule Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, - "fromInputName": "adiodvpe0_bandwidth", + "fromInputName": "pasqualevpe0_bandwidth", "constraints": null, "required": true, "default": "10" @@ -1306,10 +1300,10 @@ describe('VFModule Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, - "fromInputName": "2017488_adiodvpe0_AIC_CLLI", + "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", "constraints": null, "required": true, "default": "ATLMY8GA" @@ -1320,29 +1314,29 @@ describe('VFModule Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, - "fromInputName": "2017488_adiodvpe0_vnf_instance_name", + "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", "constraints": null, "required": true, "default": "mtnj309me6" } } }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV", + "vfModuleLabel": "PASQUALE_vPFE_BV", "baseModule": false }, "inputs": {} @@ -1352,24 +1346,24 @@ describe('VFModule Model Info', () => { } }, "networks": {}, - "collectionResource": {}, + "collectionResources": {}, "configurations": {}, "fabricConfigurations": {}, "serviceProxies": {}, "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "baseModule": false }, "inputs": { @@ -1379,10 +1373,10 @@ describe('VFModule Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, - "fromInputName": "2017488_adiodvpe0_vnf_config_template_version", + "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", "constraints": null, "required": true, "default": "17.2" @@ -1393,10 +1387,10 @@ describe('VFModule Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, - "fromInputName": "adiodvpe0_bandwidth_units", + "fromInputName": "pasqualevpe0_bandwidth_units", "constraints": null, "required": true, "default": "Gbps" @@ -1407,10 +1401,10 @@ describe('VFModule Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, - "fromInputName": "adiodvpe0_bandwidth", + "fromInputName": "pasqualevpe0_bandwidth", "constraints": null, "required": true, "default": "10" @@ -1421,10 +1415,10 @@ describe('VFModule Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, - "fromInputName": "2017488_adiodvpe0_AIC_CLLI", + "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", "constraints": null, "required": true, "default": "ATLMY8GA" @@ -1435,10 +1429,10 @@ describe('VFModule Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, - "fromInputName": "2017488_adiodvpe0_vnf_instance_name", + "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", "constraints": null, "required": true, "default": "mtnj309me6" @@ -1446,37 +1440,37 @@ describe('VFModule Model Info', () => { }, "volumeGroupAllowed": true }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db", "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091", "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", "description": null, - "name": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "version": "5", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "ADIOD_base_vPE_BV", + "vfModuleLabel": "PASQUALE_base_vPE_BV", "baseModule": true }, "inputs": {}, "volumeGroupAllowed": false }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV", + "vfModuleLabel": "PASQUALE_vPFE_BV", "baseModule": false }, "inputs": {}, @@ -1484,19 +1478,19 @@ describe('VFModule Model Info', () => { } }, "volumeGroups": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "baseModule": false }, "inputs": { @@ -1506,10 +1500,10 @@ describe('VFModule Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, - "fromInputName": "2017488_adiodvpe0_vnf_config_template_version", + "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", "constraints": null, "required": true, "default": "17.2" @@ -1520,10 +1514,10 @@ describe('VFModule Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, - "fromInputName": "adiodvpe0_bandwidth_units", + "fromInputName": "pasqualevpe0_bandwidth_units", "constraints": null, "required": true, "default": "Gbps" @@ -1534,10 +1528,10 @@ describe('VFModule Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, - "fromInputName": "adiodvpe0_bandwidth", + "fromInputName": "pasqualevpe0_bandwidth", "constraints": null, "required": true, "default": "10" @@ -1548,10 +1542,10 @@ describe('VFModule Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, - "fromInputName": "2017488_adiodvpe0_AIC_CLLI", + "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", "constraints": null, "required": true, "default": "ATLMY8GA" @@ -1562,29 +1556,29 @@ describe('VFModule Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, - "fromInputName": "2017488_adiodvpe0_vnf_instance_name", + "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", "constraints": null, "required": true, "default": "mtnj309me6" } } }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV", + "vfModuleLabel": "PASQUALE_vPFE_BV", "baseModule": false }, "inputs": {} diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vfModule/vfModule.model.info.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vfModule/vfModule.model.info.ts index 7db3d906e..bfe1d0082 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vfModule/vfModule.model.info.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vfModule/vfModule.model.info.ts @@ -42,6 +42,7 @@ export class VFModuleModelInfo implements ILevelNodeInfo { name: string = 'vfModules'; type: string = 'Module'; typeName: string = 'M'; + componentInfoType = ComponentInfoType.VFMODULE; /*********************************************************** * return if user should provide instance name or not. @@ -367,22 +368,16 @@ export class VFModuleModelInfo implements ILevelNodeInfo { return (!_.isNil(instance) && !_.isNil(instance[deepDynamicName])) ? instance[deepDynamicName].position : null; } - onSelectedNode(node: ITreeNode): void { + getInfo(model, instance): ModelInformationItem[] { + const modelInformation = !_.isEmpty(model) && !_.isEmpty(model.properties) ? [ + ModelInformationItem.createInstance("Base module", model.properties.baseModule), + ModelInformationItem.createInstance("Min instances", !_.isNull(model.properties.minCountInstances)? String(model.properties.minCountInstances): null), + ModelInformationItem.createInstance("Max instances", !_.isNull(model.properties.maxCountInstances)? String(model.properties.maxCountInstances): null), + ModelInformationItem.createInstance("Initial instances count", !_.isNull(model.properties.initialCount)? String(model.properties.initialCount): null) + ] : []; + + const instanceInfo = []; + const result = [modelInformation, instanceInfo]; + return _.uniq(_.flatten(result)); } - - getInfoForVFModule(model, instance): ComponentInfoModel { - let modelInfoItems: ModelInformationItem[] = []; - if (model && !_.isNil(model.properties)) - { - modelInfoItems = [ - ModelInformationItem.createInstance("Base Module", model.properties.baseModule), - ModelInformationItem.createInstance("Min Instances", model.properties.minCountInstances), - ModelInformationItem.createInstance("Max Instances", model.properties.maxCountInstances), - ModelInformationItem.createInstance("Initial Instances Count", model.properties.initialCount) - ]; - } - return this._componentInfoService.addGeneralInfoItems(modelInfoItems, ComponentInfoType.VFMODULE, model, instance); - } - - } diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vnf/vnf.model.info.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vnf/vnf.model.info.spec.ts index 10c8e399c..de8962787 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vnf/vnf.model.info.spec.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vnf/vnf.model.info.spec.ts @@ -18,7 +18,6 @@ import {IframeService} from "../../../../../shared/utils/iframe.service"; import {ServiceInfoService} from "../../../../../shared/server/serviceInfo/serviceInfo.service"; import {AuditInfoModalComponent} from "../../../../../shared/components/auditInfoModal/auditInfoModal.component"; import {ModelInformationItem} from "../../../../../shared/components/model-information/model-information.component"; -import {ComponentInfoModel, ComponentInfoType} from "../../../component-info/component-info-model"; import {ComponentInfoService} from "../../../component-info/component-info.service"; import {AaiService} from "../../../../../shared/services/aaiService/aai.service"; import {HttpClient, HttpHandler} from "@angular/common/http"; @@ -88,8 +87,7 @@ describe('Vnf Model Info', () => { test('VnfModelInfo should defined extra details', () => { expect(vnfModel.name).toEqual('vnfs'); expect(vnfModel.type).toEqual('VNF'); - expect(vnfModel.childName).toEqual('vfModules'); - expect(vnfModel.childType).toEqual('VFModuleModelInfo'); + expect(vnfModel.childNames).toEqual(['vfModules']); }); test('isEcompGeneratedNaming should return true if isEcompGeneratedNaming is "true" ', () => { @@ -135,8 +133,8 @@ describe('Vnf Model Info', () => { }); test('getModel should return VNF model', () => { - let model: VNFModel = vnfModel.getModel('2017-388_ADIOD-vPE 1', <any>{ - originalName : '2017-388_ADIOD-vPE 1' + let model: VNFModel = vnfModel.getModel('2017-388_PASQUALE-vPE 1', <any>{ + originalName : '2017-388_PASQUALE-vPE 1' }, getServiceHierarchy()); expect(model.type).toEqual('VF'); }); @@ -283,7 +281,7 @@ describe('Vnf Model Info', () => { }); test('getMenuAction: edit', ()=>{ - let node = {"modelId":"d6557200-ecf2-4641-8094-5393ae3aae60","missingData":true,"action":"None","inMaint":true,"name":"jlfBwIks283yKlCD8","modelName":"VF_vMee 0","type":"VF","isEcompGeneratedNaming":true,"networkStoreKey":"VF_vMee 0:004","vnfStoreKey":"VF_vMee 0:004","typeName":"VNF"}; + 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"}; let serviceModelId = "d6557200-ecf2-4641-8094-5393ae3aae60"; let result = vnfModel.getMenuAction(<any>node, serviceModelId); spyOn(result['edit'], 'method'); @@ -302,11 +300,11 @@ describe('Vnf Model Info', () => { "action": "None", "inMaint": true, "name": "jlfBwIks283yKlCD8", - "modelName": "VF_vMee 0", + "modelName": "VF_vGeraldine 0", "type": "VF", "userProvidedNaming": false, - "networkStoreKey": "VF_vMee 0:004", - "vnfStoreKey": "VF_vMee 0:004", + "networkStoreKey": "VF_vGeraldine 0:004", + "vnfStoreKey": "VF_vGeraldine 0:004", "typeName": "VNF" }, type : 'VNF' @@ -337,11 +335,11 @@ describe('Vnf Model Info', () => { "action": "None", "inMaint": true, "name": "jlfBwIks283yKlCD8", - "modelName": "VF_vMee 0", + "modelName": "VF_vGeraldine 0", "type": "VF", "isEcompGeneratedNaming":true, - "networkStoreKey": "VF_vMee 0:004", - "vnfStoreKey": "VF_vMee 0:004", + "networkStoreKey": "VF_vGeraldine 0:004", + "vnfStoreKey": "VF_vGeraldine 0:004", "typeName": "VNF" }, type : 'VNF' @@ -364,11 +362,11 @@ describe('Vnf Model Info', () => { "action": "None", "inMaint": true, "name": "jlfBwIks283yKlCD8", - "modelName": "VF_vMee 0", + "modelName": "VF_vGeraldine 0", "type": "VF", "isEcompGeneratedNaming":true, - "networkStoreKey": "VF_vMee 0:004", - "vnfStoreKey": "VF_vMee 0:004", + "networkStoreKey": "VF_vGeraldine 0:004", + "vnfStoreKey": "VF_vGeraldine 0:004", "typeName": "VNF" }, type : 'VNF' @@ -385,7 +383,7 @@ describe('Vnf Model Info', () => { }); test('getMenuAction: delete', ()=>{ - let node = {"modelId":"d6557200-ecf2-4641-8094-5393ae3aae60","missingData":true,"action":"None","inMaint":true,"name":"jlfBwIks283yKlCD8","modelName":"VF_vMee 0","type":"VF","isEcompGeneratedNaming":true,"networkStoreKey":"VF_vMee 0:004","vnfStoreKey":"VF_vMee 0:004","typeName":"VNF"}; + 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"}; let serviceModelId = "d6557200-ecf2-4641-8094-5393ae3aae60"; let result = vnfModel.getMenuAction(<any>node, serviceModelId); spyOn(result['delete'], 'method'); @@ -398,7 +396,7 @@ describe('Vnf Model Info', () => { test('getMenuAction: undoDelete', ()=>{ - let node = {"modelId":"d6557200-ecf2-4641-8094-5393ae3aae60","missingData":true,"action":"None","inMaint":true,"name":"jlfBwIks283yKlCD8","modelName":"VF_vMee 0","type":"VF","isEcompGeneratedNaming":true,"networkStoreKey":"VF_vMee 0:004","vnfStoreKey":"VF_vMee 0:004","typeName":"VNF"}; + 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"}; let serviceModelId = "d6557200-ecf2-4641-8094-5393ae3aae60"; let result = vnfModel.getMenuAction(<any>node, serviceModelId); spyOn(result['undoDelete'], 'method'); @@ -433,45 +431,36 @@ describe('Vnf Model Info', () => { expect(result['showAuditInfo'].enable(node)).toBeTruthy(); result['showAuditInfo']['method'](node, serviceModelId); - // expect(AuditInfoModalComponent.openInstanceAuditInfoModal.next).toBeCalled(); - // expect(result['showAuditInfo'].method) - }); test('Info for vnf should be correct', () => { const model = getVNFModel(); const instance = getVNFInstance(); - let actualVNFInfo = vnfModel.getInfoForVnf(model,instance); + let actualVNFInfo = vnfModel.getInfo(model,instance); let expectedVNFInfo = [ - ModelInformationItem.createInstance('Type', 'VF'), - ModelInformationItem.createInstance('Model Version', '2.0'), - ModelInformationItem.createInstance('Model Customization ID','91415b44-753d-494c-926a-456a9172bbb9'), - ModelInformationItem.createInstance('Instance ID', '66cbb3b5-c823-470c-9520-4e0b85112250'), - ModelInformationItem.createInstance('In Maintenance', true), - ModelInformationItem.createInstance('Min Instances', 0), - ModelInformationItem.createInstance('Max Instances',1) + ModelInformationItem.createInstance('Min instances', "0"), + ModelInformationItem.createInstance('Max instances',"1"), + ModelInformationItem.createInstance('NF type',undefined), + ModelInformationItem.createInstance('NF role',undefined) ]; - expect(actualVNFInfo).toEqual(new ComponentInfoModel(ComponentInfoType.VNF, expectedVNFInfo, [])); + expect(actualVNFInfo).toEqual(expectedVNFInfo); }); test('Info for vnf in left side - model only - should be correct', () => { const model = getVNFModel(); - let actualVNFInfo = vnfModel.getInfoForVnf(model,null); + let actualVNFInfo = vnfModel.getInfo(model,null); let expectedVNFInfo = [ - ModelInformationItem.createInstance('Type', 'VF'), - ModelInformationItem.createInstance('Model Version', '2.0'), - ModelInformationItem.createInstance('Model Customization ID','91415b44-753d-494c-926a-456a9172bbb9'), - ModelInformationItem.createInstance('Min Instances', 0), - ModelInformationItem.createInstance('Max Instances',1) + ModelInformationItem.createInstance('Min instances', "0"), + ModelInformationItem.createInstance('Max instances',"1") ]; - expect(actualVNFInfo).toEqual(new ComponentInfoModel(ComponentInfoType.VNF, expectedVNFInfo, [])); + expect(actualVNFInfo).toEqual(expectedVNFInfo); }); function getVNFModel(){ return { - "name":"VF_vMee", + "name":"VF_vGeraldine", "version":"2.0", - "description":"VSP_vMee", + "description":"VSP_vGeraldine", "uuid":"d6557200-ecf2-4641-8094-5393ae3aae60", "invariantUuid":"4160458e-f648-4b30-a176-43881ffffe9e", "max":1, @@ -479,7 +468,7 @@ describe('Vnf Model Info', () => { "customizationUuid":"91415b44-753d-494c-926a-456a9172bbb9", "isEcompGeneratedNaming":true, "type":"VF", - "modelCustomizationName":"VF_vMee 0", + "modelCustomizationName":"VF_vGeraldine 0", "vfcInstanceGroups":{}, "properties":{ "gpb2_Internal2_mac":"00:11:22:EF:AC:DF", @@ -521,7 +510,7 @@ describe('Vnf Model Info', () => { "lcpCloudRegionId":null, "tenantId":null, "modelInfo":{ - "modelCustomizationName":"VF_vMee 0", + "modelCustomizationName":"VF_vGeraldine 0", "modelInvariantId":"vnf-instance-model-invariant-id", "modelVersionId":"d6557200-ecf2-4641-8094-5393ae3aae60", "modelType":"vnf" @@ -530,14 +519,14 @@ describe('Vnf Model Info', () => { "provStatus":null, "inMaint":true, "uuid":"d6557200-ecf2-4641-8094-5393ae3aae60", - "originalName":"VF_vMee 0", + "originalName":"VF_vGeraldine 0", "legacyRegion":null, "lineOfBusiness":null, "platformName":null, - "trackById":"VF_vMee 0:004", + "trackById":"VF_vGeraldine 0:004", "vfModules":{ - "vf_vmee0..VfVmee..vmme_vlc..module-1":{ - "vf_vmee0..VfVmee..vmme_vlc..module-1:008":{ + "vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1":{ + "vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1:008":{ "action":"None", "instanceName":"ss820f_0918_db", "instanceId":"2c1ca484-cbc2-408b-ab86-25a2c15ce280", @@ -546,7 +535,7 @@ describe('Vnf Model Info', () => { "lcpCloudRegionId":null, "tenantId":null, "modelInfo":{ - "modelCustomizationName":"VfVmee..vmme_vlc..module-1", + "modelCustomizationName":"VfVgeraldine..vflorence_vlc..module-1", "modelCustomizationId":"b200727a-1bf9-4e7c-bd06-b5f4c9d920b9", "modelInvariantId":"09edc9ef-85d0-4b26-80de-1f569d49e750", "modelVersionId":"522159d5-d6e0-4c2a-aa44-5a542a12a830", @@ -556,11 +545,11 @@ describe('Vnf Model Info', () => { "provStatus":null, "inMaint":true, "uuid":"522159d5-d6e0-4c2a-aa44-5a542a12a830", - "originalName":"VfVmee..vmme_vlc..module-1", + "originalName":"VfVgeraldine..vflorence_vlc..module-1", "legacyRegion":null, "lineOfBusiness":null, "platformName":null, - "trackById":"vf_vmee0..VfVmee..vmme_vlc..module-1:008", + "trackById":"vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1:008", "isBase":false, "volumeGroupName":null } @@ -615,7 +604,7 @@ describe('Vnf Model Info', () => { "serviceEcompNaming": "false", "instantiationType": "Macro", "inputs": { - "2017488_adiodvpe0_ASN": { + "2017488_pasqualevpe0_ASN": { "type": "string", "description": "AV/PE", "entry_schema": null, @@ -631,11 +620,11 @@ describe('Vnf Model Info', () => { } }, "vnfs": { - "2017-388_ADIOD-vPE 1": { + "2017-388_PASQUALE-vPE 1": { "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413", "invariantUuid": "00beb8f9-6d39-452f-816d-c709b9cbb87d", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-388_ADIOD-vPE", + "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", + "name": "2017-388_PASQUALE-vPE", "version": "1.0", "customizationUuid": "280dec31-f16d-488b-9668-4aae55d6648a", "inputs": { @@ -698,37 +687,37 @@ describe('Vnf Model Info', () => { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, "bandwidth": { "displayName": "bandwidth", "command": "get_input", - "inputName": "adiodvpe0_bandwidth" + "inputName": "pasqualevpe0_bandwidth" }, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, "ASN": { "displayName": "ASN", "command": "get_input", - "inputName": "2017488_adiodvpe0_ASN" + "inputName": "2017488_pasqualevpe0_ASN" }, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -773,7 +762,7 @@ describe('Vnf Model Info', () => { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -781,14 +770,14 @@ describe('Vnf Model Info', () => { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -798,7 +787,7 @@ describe('Vnf Model Info', () => { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -812,16 +801,16 @@ describe('Vnf Model Info', () => { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-388_ADIOD-vPE 1", + "modelCustomizationName": "2017-388_PASQUALE-vPE 1", "vfModules": {}, "volumeGroups": {}, "vfcInstanceGroups": {} }, - "2017-388_ADIOD-vPE 0": { + "2017-388_PASQUALE-vPE 0": { "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168", "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-388_ADIOD-vPE", + "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", + "name": "2017-388_PASQUALE-vPE", "version": "4.0", "customizationUuid": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c", "inputs": { @@ -884,37 +873,37 @@ describe('Vnf Model Info', () => { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, "bandwidth": { "displayName": "bandwidth", "command": "get_input", - "inputName": "adiodvpe0_bandwidth" + "inputName": "pasqualevpe0_bandwidth" }, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, "ASN": { "displayName": "ASN", "command": "get_input", - "inputName": "2017488_adiodvpe0_ASN" + "inputName": "2017488_pasqualevpe0_ASN" }, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -960,7 +949,7 @@ describe('Vnf Model Info', () => { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -968,14 +957,14 @@ describe('Vnf Model Info', () => { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -985,7 +974,7 @@ describe('Vnf Model Info', () => { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -999,16 +988,16 @@ describe('Vnf Model Info', () => { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-388_ADIOD-vPE 0", + "modelCustomizationName": "2017-388_PASQUALE-vPE 0", "vfModules": {}, "volumeGroups": {}, "vfcInstanceGroups": {} }, - "2017-488_ADIOD-vPE 0": { + "2017-488_PASQUALE-vPE 0": { "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09", "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-488_ADIOD-vPE", + "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", + "name": "2017-488_PASQUALE-vPE", "version": "5.0", "customizationUuid": "1da7b585-5e61-4993-b95e-8e6606c81e45", "inputs": { @@ -1071,37 +1060,37 @@ describe('Vnf Model Info', () => { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, "bandwidth": { "displayName": "bandwidth", "command": "get_input", - "inputName": "adiodvpe0_bandwidth" + "inputName": "pasqualevpe0_bandwidth" }, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, "ASN": { "displayName": "ASN", "command": "get_input", - "inputName": "2017488_adiodvpe0_ASN" + "inputName": "2017488_pasqualevpe0_ASN" }, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -1148,7 +1137,7 @@ describe('Vnf Model Info', () => { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -1156,14 +1145,14 @@ describe('Vnf Model Info', () => { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -1173,7 +1162,7 @@ describe('Vnf Model Info', () => { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -1187,21 +1176,21 @@ describe('Vnf Model Info', () => { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-488_ADIOD-vPE 0", + "modelCustomizationName": "2017-488_PASQUALE-vPE 0", "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "baseModule": false }, "inputs": { @@ -1211,10 +1200,10 @@ describe('Vnf Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, - "fromInputName": "2017488_adiodvpe0_vnf_config_template_version", + "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", "constraints": null, "required": true, "default": "17.2" @@ -1225,10 +1214,10 @@ describe('Vnf Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, - "fromInputName": "adiodvpe0_bandwidth_units", + "fromInputName": "pasqualevpe0_bandwidth_units", "constraints": null, "required": true, "default": "Gbps" @@ -1239,10 +1228,10 @@ describe('Vnf Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, - "fromInputName": "adiodvpe0_bandwidth", + "fromInputName": "pasqualevpe0_bandwidth", "constraints": null, "required": true, "default": "10" @@ -1253,10 +1242,10 @@ describe('Vnf Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, - "fromInputName": "2017488_adiodvpe0_AIC_CLLI", + "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", "constraints": null, "required": true, "default": "ATLMY8GA" @@ -1267,10 +1256,10 @@ describe('Vnf Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, - "fromInputName": "2017488_adiodvpe0_vnf_instance_name", + "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", "constraints": null, "required": true, "default": "mtnj309me6" @@ -1278,37 +1267,37 @@ describe('Vnf Model Info', () => { }, "volumeGroupAllowed": true }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db", "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091", "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", "description": null, - "name": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "version": "5", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "ADIOD_base_vPE_BV", + "vfModuleLabel": "PASQUALE_base_vPE_BV", "baseModule": true }, "inputs": {}, "volumeGroupAllowed": false }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV", + "vfModuleLabel": "PASQUALE_vPFE_BV", "baseModule": false }, "inputs": {}, @@ -1316,19 +1305,19 @@ describe('Vnf Model Info', () => { } }, "volumeGroups": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "baseModule": false }, "inputs": { @@ -1338,10 +1327,10 @@ describe('Vnf Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, - "fromInputName": "2017488_adiodvpe0_vnf_config_template_version", + "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", "constraints": null, "required": true, "default": "17.2" @@ -1352,10 +1341,10 @@ describe('Vnf Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, - "fromInputName": "adiodvpe0_bandwidth_units", + "fromInputName": "pasqualevpe0_bandwidth_units", "constraints": null, "required": true, "default": "Gbps" @@ -1366,10 +1355,10 @@ describe('Vnf Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, - "fromInputName": "adiodvpe0_bandwidth", + "fromInputName": "pasqualevpe0_bandwidth", "constraints": null, "required": true, "default": "10" @@ -1380,10 +1369,10 @@ describe('Vnf Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, - "fromInputName": "2017488_adiodvpe0_AIC_CLLI", + "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", "constraints": null, "required": true, "default": "ATLMY8GA" @@ -1394,29 +1383,29 @@ describe('Vnf Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, - "fromInputName": "2017488_adiodvpe0_vnf_instance_name", + "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", "constraints": null, "required": true, "default": "mtnj309me6" } } }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV", + "vfModuleLabel": "PASQUALE_vPFE_BV", "baseModule": false }, "inputs": {} @@ -1426,24 +1415,24 @@ describe('Vnf Model Info', () => { } }, "networks": {}, - "collectionResource": {}, + "collectionResources": {}, "configurations": {}, "fabricConfigurations": {}, "serviceProxies": {}, "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "baseModule": false }, "inputs": { @@ -1453,10 +1442,10 @@ describe('Vnf Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, - "fromInputName": "2017488_adiodvpe0_vnf_config_template_version", + "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", "constraints": null, "required": true, "default": "17.2" @@ -1467,10 +1456,10 @@ describe('Vnf Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, - "fromInputName": "adiodvpe0_bandwidth_units", + "fromInputName": "pasqualevpe0_bandwidth_units", "constraints": null, "required": true, "default": "Gbps" @@ -1481,10 +1470,10 @@ describe('Vnf Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, - "fromInputName": "adiodvpe0_bandwidth", + "fromInputName": "pasqualevpe0_bandwidth", "constraints": null, "required": true, "default": "10" @@ -1495,10 +1484,10 @@ describe('Vnf Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, - "fromInputName": "2017488_adiodvpe0_AIC_CLLI", + "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", "constraints": null, "required": true, "default": "ATLMY8GA" @@ -1509,10 +1498,10 @@ describe('Vnf Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, - "fromInputName": "2017488_adiodvpe0_vnf_instance_name", + "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", "constraints": null, "required": true, "default": "mtnj309me6" @@ -1520,37 +1509,37 @@ describe('Vnf Model Info', () => { }, "volumeGroupAllowed": true }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db", "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091", "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", "description": null, - "name": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "version": "5", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "ADIOD_base_vPE_BV", + "vfModuleLabel": "PASQUALE_base_vPE_BV", "baseModule": true }, "inputs": {}, "volumeGroupAllowed": false }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV", + "vfModuleLabel": "PASQUALE_vPFE_BV", "baseModule": false }, "inputs": {}, @@ -1558,19 +1547,19 @@ describe('Vnf Model Info', () => { } }, "volumeGroups": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "baseModule": false }, "inputs": { @@ -1580,10 +1569,10 @@ describe('Vnf Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, - "fromInputName": "2017488_adiodvpe0_vnf_config_template_version", + "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", "constraints": null, "required": true, "default": "17.2" @@ -1594,10 +1583,10 @@ describe('Vnf Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, - "fromInputName": "adiodvpe0_bandwidth_units", + "fromInputName": "pasqualevpe0_bandwidth_units", "constraints": null, "required": true, "default": "Gbps" @@ -1608,10 +1597,10 @@ describe('Vnf Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, - "fromInputName": "adiodvpe0_bandwidth", + "fromInputName": "pasqualevpe0_bandwidth", "constraints": null, "required": true, "default": "10" @@ -1622,10 +1611,10 @@ describe('Vnf Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, - "fromInputName": "2017488_adiodvpe0_AIC_CLLI", + "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", "constraints": null, "required": true, "default": "ATLMY8GA" @@ -1636,29 +1625,29 @@ describe('Vnf Model Info', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, - "fromInputName": "2017488_adiodvpe0_vnf_instance_name", + "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", "constraints": null, "required": true, "default": "mtnj309me6" } } }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV", + "vfModuleLabel": "PASQUALE_vPFE_BV", "baseModule": false }, "inputs": {} diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vnf/vnf.model.info.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vnf/vnf.model.info.ts index cec3fad1e..2bdeda083 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vnf/vnf.model.info.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vnf/vnf.model.info.ts @@ -33,7 +33,7 @@ import { } from "../../../../../shared/storeUtil/utils/vnf/vnf.actions"; import * as _ from 'lodash'; import {IModalConfig} from "onap-ui-angular/dist/modals/models/modal-config"; -import {ComponentInfoModel, ComponentInfoType} from "../../../component-info/component-info-model"; +import {ComponentInfoType} from "../../../component-info/component-info-model"; import {ComponentInfoService} from "../../../component-info/component-info.service"; import {ModelInformationItem} from "../../../../../shared/components/model-information/model-information.component"; @@ -53,9 +53,9 @@ export class VnfModelInfo implements ILevelNodeInfo { name: string = 'vnfs'; type: string = 'VNF'; - childName: string = 'vfModules'; - childType: string = 'VFModuleModelInfo'; + childNames: string[] = ['vfModules']; typeName: string = 'VNF'; + componentInfoType = ComponentInfoType.VNF; /*********************************************************** * return if user should provide instance name or not. @@ -215,11 +215,9 @@ export class VnfModelInfo implements ILevelNodeInfo { }, duplicate: { method: (node, serviceModelId) => { - if (this._store.getState().global.flags['FLAG_DUPLICATE_VNF']) { - const storeKey = node.data.vnfStoreKey; - let modalConfig: IModalConfig = this._duplicateService.openDuplicateModal(serviceModelId, node.data.modelUniqueId, node.data.modelName, storeKey, 1, this._store, node); - this.modalService.openCustomModal(modalConfig, DuplicateVnfComponent); - } + const storeKey = node.data.vnfStoreKey; + let modalConfig: IModalConfig = this._duplicateService.openDuplicateModal(serviceModelId, node.data.modelUniqueId, node.data.modelName, storeKey, 1, this._store, node); + this.modalService.openCustomModal(modalConfig, DuplicateVnfComponent); }, visible: (node) => this._sharedTreeService.shouldShowDuplicate(node) && !_.isNil(node.data) && !_.isNil(node.data.action) && node.data.action === ServiceInstanceActions.Create && this._duplicateService.canDuplicate(node), enable: (node, serviceModelId) => this._duplicateService.isEnabled(node, this._store, serviceModelId) @@ -306,27 +304,18 @@ export class VnfModelInfo implements ILevelNodeInfo { return !_.isNil(instance) ? instance.position : null; } - /*********************************************************** - * When user is click on some nod element - * @param node - current ITrees node - ************************************************************/ - onSelectedNode(node: ITreeNode): void { - ComponentInfoService.triggerComponentInfoChange.next(new ComponentInfoModel(ComponentInfoType.VNF,[], [])); - } + getInfo(model, instance): ModelInformationItem[] { + const modelInformation = !_.isEmpty(model) ? [ + ModelInformationItem.createInstance("Min instances", !_.isNull(model.min)? String(model.min): null), + ModelInformationItem.createInstance("Max instances", !_.isNull(model.max)? String(model.max): null) + ] : []; - getInfoForVnf(model, instance): ComponentInfoModel { - let modelInfoItems: ModelInformationItem[] = []; - if (model) { - modelInfoItems.push(ModelInformationItem.createInstance("Min Instances", model.min)); - modelInfoItems.push(ModelInformationItem.createInstance("Max Instances", model.max)); - } - if (instance) { - modelInfoItems.push(ModelInformationItem.createInstance("NF Type", instance.nfType)); - modelInfoItems.push(ModelInformationItem.createInstance("NF Role", instance.nfRole)); - } - return this._componentInfoService.addGeneralInfoItems(modelInfoItems, ComponentInfoType.VNF, model, instance); + const instanceInfo = !_.isEmpty(instance) ? [ + ModelInformationItem.createInstance("NF type", instance.nfType), + ModelInformationItem.createInstance("NF role", instance.nfRole) + ] : []; + const result = [modelInformation, instanceInfo]; + return _.uniq(_.flatten(result)); } - - } diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vnfGrouping/vnfGrouping.model.info.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vnfGrouping/vnfGrouping.model.info.spec.ts index 532a8fe17..802047cb9 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vnfGrouping/vnfGrouping.model.info.spec.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vnfGrouping/vnfGrouping.model.info.spec.ts @@ -1,5 +1,4 @@ - -import {HttpClientTestingModule, HttpTestingController} from "@angular/common/http/testing"; +import {HttpClientTestingModule} from "@angular/common/http/testing"; import {getTestBed, TestBed} from "@angular/core/testing"; import {MockNgRedux, NgReduxTestingModule} from "@angular-redux/store/testing"; import {VnfGroupingModelInfo} from "./vnfGrouping.model.info"; @@ -10,9 +9,11 @@ import {DialogService} from "ng2-bootstrap-modal"; import {AvailableNodeIcons} from "../../../available-models-tree/available-models-tree.service"; import {VnfGroupModel} from "../../../../../shared/models/vnfGroupModel"; import {IframeService} from "../../../../../shared/utils/iframe.service"; -import {ActivatedRoute} from "@angular/router"; import {RouterTestingModule} from "@angular/router/testing"; import {DrawingBoardModes} from "../../../drawing-board.modes"; +import {AaiService} from "../../../../../shared/services/aaiService/aai.service"; +import {FeatureFlagsService} from "../../../../../shared/services/featureFlag/feature-flags.service"; +import {ITableContent} from "../../../../../shared/components/searchMembersModal/members-table/element-table-row.model"; describe('VnfGroupingModelInfo Model Info', () => { let injector; @@ -22,6 +23,7 @@ describe('VnfGroupingModelInfo Model Info', () => { let _sharedTreeService : SharedTreeService; let _iframeService : IframeService; let vnfGroupModel: VnfGroupingModelInfo; + let _aaiService : AaiService; beforeAll(done => (async () => { TestBed.configureTestingModule({ imports: [HttpClientTestingModule, NgReduxTestingModule, RouterTestingModule], @@ -31,13 +33,16 @@ describe('VnfGroupingModelInfo Model Info', () => { DynamicInputsService, SharedTreeService, IframeService, + AaiService, + FeatureFlagsService, MockNgRedux] }); await TestBed.compileComponents(); injector = getTestBed(); _sharedTreeService = injector.get(SharedTreeService); + _aaiService = injector.get(AaiService); - vnfGroupModel = new VnfGroupingModelInfo(_dynamicInputsService, _sharedTreeService, _dialogService, _vnfGroupPopupService, _iframeService, MockNgRedux.getInstance()); + vnfGroupModel = new VnfGroupingModelInfo(_dynamicInputsService, _sharedTreeService, _dialogService, _vnfGroupPopupService, _iframeService, _aaiService, MockNgRedux.getInstance()); })().then(done).catch(done.fail)); @@ -59,7 +64,6 @@ describe('VnfGroupingModelInfo Model Info', () => { expect(isEcompGeneratedNaming).toBeTruthy(); }); - test('getTooltip should return "vnfGrouping"', () => { let tooltip: string = vnfGroupModel.getTooltip(); expect(tooltip).toEqual('VnfGroup'); @@ -75,7 +79,6 @@ describe('VnfGroupingModelInfo Model Info', () => { expect(nextLevel).not.toBeNull(); }); - test('showNodeIcons should return true if not reachLimit of max', ()=>{ let serviceId : string = 'servicedId'; let node = { @@ -199,6 +202,70 @@ describe('VnfGroupingModelInfo Model Info', () => { expect(result['showAuditInfo']['method']).toHaveBeenCalledWith(node, serviceModelId); }); + + test('generateRelatedMemberTableContent', ()=> { + const tableContents: ITableContent[] = vnfGroupModel.generateRelatedMemberTableContent(); + expect(tableContents).toEqual([ + { + id: 'vnfName', + contents: [{ + id: ['instanceName'], + value: ['instanceName'] + }, { + id: ['instanceId'], + value: ["instanceId"], + prefix: 'UUID: ' + }] + }, + { + id: 'version', + contents: [{ + id: ['modelInfo', 'modelVersion'], + value: ['modelInfo', 'modelVersion'] + }] + }, + { + id: 'modelName', + contents: [{ + id: ['modelInfo', 'modelName'], + value: ['modelInfo', 'modelName'] + }] + }, + { + id: 'provStatus', + contents: [{ + id: ['provStatus'], + value: ['provStatus'] + }] + }, + { + id: 'serviceInstance', + contents: [{ + id: ['serviceInstanceName'], + value: ['serviceInstanceName'] + }, { + id: ['serviceInstanceId'], + value: ["serviceInstanceId"], + prefix: 'UUID: ' + }] + }, + { + id: 'cloudRegion', + contents: [{ + id: ['lcpCloudRegionId'], + value: ['lcpCloudRegionId'] + }] + }, + { + id: 'tenantName', + contents: [{ + id: ['tenantName'], + value: ['tenantName'] + }] + } + ]); + }); + function getServiceHierarchy(){ return { "service": { @@ -214,7 +281,7 @@ describe('VnfGroupingModelInfo Model Info', () => { "serviceEcompNaming": "false", "instantiationType": "Macro", "inputs": { - "2017488_adiodvpe0_ASN": { + "2017488_pasqualevpe0_ASN": { "type": "string", "description": "AV/PE", "entry_schema": null, @@ -245,11 +312,11 @@ describe('VnfGroupingModelInfo Model Info', () => { "type": "LOAD-GROUP" }, "members": { - "vdbe_svc_vprs_proxy 0": { + "vdorothea_svc_vprs_proxy 0": { "uuid": "65fadfa8-a0d9-443f-95ad-836cd044e26c", "invariantUuid": "f4baae0c-b3a5-4ca1-a777-afbffe7010bc", - "description": "A Proxy for Service vDBE_Svc_vPRS", - "name": "vDBE_Svc_vPRS Service Proxy", + "description": "A Proxy for Service vDOROTHEA_Svc_vPRS", + "name": "vDOROTHEA_Svc_vPRS Service Proxy", "version": "1.0", "customizationUuid": "bdb63d23-e132-4ce7-af2c-a493b4cafac9", "inputs": {}, @@ -258,12 +325,12 @@ describe('VnfGroupingModelInfo Model Info', () => { "type": "Service Proxy", "sourceModelUuid": "da7827a2-366d-4be6-8c68-a69153c61274", "sourceModelInvariant": "24632e6b-584b-4f45-80d4-fefd75fd9f14", - "sourceModelName": "vDBE_Svc_vPRS" + "sourceModelName": "vDOROTHEA_Svc_vPRS" }, - "vdbe_svc_vprs_proxy 1": { + "vdorothea_svc_vprs_proxy 1": { "uuid": "111dfa8-a0d9-443f-95ad-836cd044e26c", "invariantUuid": "111ae0c-b3a5-4ca1-a777-afbffe7010bc", - "description": "A Proxy for Service vDBE_Svc_vPRS", + "description": "A Proxy for Service vDOROTHEA_Svc_vPRS", "name": "111_Svc_vPRS Service Proxy", "version": "1.0", "customizationUuid": "1113d23-e132-4ce7-af2c-a493b4cafac9", @@ -279,7 +346,7 @@ describe('VnfGroupingModelInfo Model Info', () => { } }, "networks": {}, - "collectionResource": {}, + "collectionResources": {}, "configurations": {}, "fabricConfigurations": {}, "serviceProxies": {}, @@ -288,4 +355,67 @@ describe('VnfGroupingModelInfo Model Info', () => { "pnfs": {} } } + + function loadMockMembers(): any[] { + return [ + { + "action": "None", + "instanceName": "VNF1_INSTANCE_NAME", + "instanceId": "VNF1_INSTANCE_ID", + "orchStatus": null, + "productFamilyId": null, + "lcpCloudRegionId": "hvf23b", + "tenantId": "3e9a20a3e89e45f884e09df0cc2d2d2a", + "tenantName": "APPC-24595-T-IST-02C", + "modelInfo": { + "modelInvariantId": "vnf-instance-model-invariant-id", + "modelVersionId": "7a6ee536-f052-46fa-aa7e-2fca9d674c44", + "modelVersion": "2.0", + "modelName": "vf_vEPDG", + "modelType": "vnf" + }, + "instanceType": "VNF1_INSTANCE_TYPE", + "provStatus": null, + "inMaint": false, + "uuid": "7a6ee536-f052-46fa-aa7e-2fca9d674c44", + "originalName": null, + "legacyRegion": null, + "lineOfBusiness": null, + "platformName": null, + "trackById": "7a6ee536-f052-46fa-aa7e-2fca9d674c44:002", + "serviceInstanceId": "service-instance-id1", + "serviceInstanceName": "service-instance-name" + }, + { + "action": "None", + "instanceName": "VNF2_INSTANCE_NAME", + "instanceId": "VNF2_INSTANCE_ID", + "orchStatus": null, + "productFamilyId": null, + "lcpCloudRegionId": "hvf23b", + "tenantId": "3e9a20a3e89e45f884e09df0cc2d2d2a", + "tenantName": "APPC-24595-T-IST-02C", + "modelInfo": { + "modelInvariantId": "vnf-instance-model-invariant-id", + "modelVersionId": "eb5f56bf-5855-4e61-bd00-3e19a953bf02", + "modelVersion": "1.0", + "modelName": "vf_vEPDG", + "modelType": "vnf" + }, + "instanceType": "VNF2_INSTANCE_TYPE", + "provStatus": null, + "inMaint": true, + "uuid": "eb5f56bf-5855-4e61-bd00-3e19a953bf02", + "originalName": null, + "legacyRegion": null, + "lineOfBusiness": null, + "platformName": null, + "trackById": "eb5f56bf-5855-4e61-bd00-3e19a953bf02:003", + "serviceInstanceId": "service-instance-id2", + "serviceInstanceName": "service-instance-name" + } + ]; + } + + }); diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vnfGrouping/vnfGrouping.model.info.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vnfGrouping/vnfGrouping.model.info.ts index 7f2052a0c..148ce22c7 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vnfGrouping/vnfGrouping.model.info.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vnfGrouping/vnfGrouping.model.info.ts @@ -20,10 +20,21 @@ import { undoDeleteActionVnfGroupInstance } from "../../../../../shared/storeUtil/utils/vnfGroup/vnfGroup.actions"; import {RelatedVnfMemberInfoModel} from "../relatedVnfMember/relatedVnfMember.info.model"; -import {SearchMembersModalComponent} from "../../../../../shared/components/searchMembersModal/search-members-modal.component"; +import {SearchElementsModalComponent} from "../../../../../shared/components/searchMembersModal/search-elements-modal.component"; import * as _ from "lodash"; import {MessageBoxData} from "../../../../../shared/components/messageBox/messageBox.data"; import {MessageBoxService} from "../../../../../shared/components/messageBox/messageBox.service"; +import {ComponentInfoType} from "../../../component-info/component-info-model"; +import {ModelInformationItem} from "../../../../../shared/components/model-information/model-information.component"; +import {Level1Instance} from "../../../../../shared/models/level1Instance"; +import {AaiService} from "../../../../../shared/services/aaiService/aai.service"; +import {Observable} from "rxjs"; +import {createRelatedVnfMemberInstance} from "../../../../../shared/storeUtil/utils/relatedVnfMember/relatedVnfMember.actions"; +import { + ITableContent, + SearchFieldItemType +} from "../../../../../shared/components/searchMembersModal/members-table/element-table-row.model"; +import {CustomTableColumnDefinition} from "../../../../../shared/components/searchMembersModal/members-table/elements-table.component"; export class VnfGroupingModelInfo implements ILevelNodeInfo { constructor(private _dynamicInputsService: DynamicInputsService, @@ -31,15 +42,16 @@ export class VnfGroupingModelInfo implements ILevelNodeInfo { private _dialogService: DialogService, private _vnfGroupPopupService: VnfGroupPopupService, private _iframeService: IframeService, + private _aaiService: AaiService, private _store: NgRedux<AppState>) { } name: string = 'vnfGroups'; type: string = 'VnfGroup'; typeName: string = 'G'; - childType: string = 'RelatedVnfMemberInfoModel'; - childName: string = 'vnfs'; - limitMembers : number; + childNames: string[] = ['vnfs']; + componentInfoType = ComponentInfoType.VNFGROUP; + limitMembers: number; /*********************************************************** * return if user should provide instance name or not. @@ -78,7 +90,7 @@ export class VnfGroupingModelInfo implements ILevelNodeInfo { node.typeName = this.typeName; node.menuActions = this.getMenuAction(<any>node, model.uuid); node.isFailed = _.isNil(instance.isFailed) ? false : instance.isFailed; - node.statusMessage = !_.isNil(instance.statusMessage) ? instance.statusMessage: ""; + node.statusMessage = !_.isNil(instance.statusMessage) ? instance.statusMessage : ""; node.limitMembers = (!_.isNil(model.properties.quantity)) ? model.properties.quantity : null; return node; } @@ -182,29 +194,61 @@ export class VnfGroupingModelInfo implements ILevelNodeInfo { visible: (node) => this._sharedTreeService.shouldShowRemoveAndEdit(node), enable: (node) => this._sharedTreeService.shouldShowRemoveAndEdit(node) }, + addGroupMember: { method: (node, serviceModelId) => { let serviceHierarchy = this._store.getState().service.serviceHierarchy[serviceModelId]; let serviceInstance = this._store.getState().service.serviceInstance[serviceModelId]; let vnfGroupModel = new VnfGroupModel(serviceHierarchy['vnfGroups'][node.data.modelName]); - this._dialogService.addDialog(SearchMembersModalComponent, { - title: 'Add members to group', - description: 'Select VNF instances to associate', - subscriberId: serviceInstance.globalSubscriberId, - serviceType: serviceInstance.subscriptionServiceType, - vnfGroupModel: vnfGroupModel, - serviceModelId: serviceModelId, - node: node.data, - searchFields: [{ - title: 'Service model name', - dataTestId: 'sourceModelName', - value: (Object.values(vnfGroupModel.members))[0].sourceModelName - }, - { - title: 'Service invariant UUID', - dataTestId: 'sourceModelInvariant', - value: (Object.values(vnfGroupModel.members))[0].sourceModelInvariant - }] + this._dialogService.addDialog(SearchElementsModalComponent, { + modalInformation: { + type: 'VNF', + serviceModelId : serviceModelId, + title: 'Add members to group', + description: 'Select VNF instances to associate', + noElementsMsg: 'No VNFs were found that can belong to this group.', + uniqObjectField: 'instanceId', + topButton: { + text: 'SET MEMBERS', + /******************************************************************************************************************************** + iterate over all current elements: + + 1) if element is selected then update REDUX store + 2) if element is not selected then delete member + + @searchElementsModalComponent - all modal information (allElementsStatusMap, vnfGroupStoreKey, serviceId) + ********************************************************************************************************************************/ + + action: (searchElementsModalComponent) => { + let tmpMembers = searchElementsModalComponent._membersTableService.allElementsStatusMap; + for (let key in tmpMembers) { + if (tmpMembers[key].isSelected) { + this._store.dispatch(createRelatedVnfMemberInstance(node.data.vnfGroupStoreKey, serviceModelId, tmpMembers[key])); + } + } + searchElementsModalComponent.closeDialog(); + } + }, + getElements: (): Observable<Level1Instance[]> => { + return this._aaiService.getOptionalGroupMembers(serviceModelId, serviceInstance.globalSubscriberId, serviceInstance.subscriptionServiceType, (Object.values(vnfGroupModel.members))[0].sourceModelInvariant, vnfGroupModel.properties.type, vnfGroupModel.properties.role).map((result) => { + return this.filterUsedVnfMembers(serviceModelId, result); + }); + }, + tableHeaders : this.getTableHeaders(), + tableContent: this.generateRelatedMemberTableContent(), + searchFields: [{ + title: 'Service model name', + dataTestId: 'sourceModelName', + value: (Object.values(vnfGroupModel.members))[0].sourceModelName, + type: SearchFieldItemType.LABEL + }, + { + title: 'Service invariant UUID', + dataTestId: 'sourceModelInvariant', + value: (Object.values(vnfGroupModel.members))[0].sourceModelInvariant, + type: SearchFieldItemType.LABEL + }] + } } ); }, @@ -223,9 +267,9 @@ export class VnfGroupingModelInfo implements ILevelNodeInfo { method: (node, serviceModelId) => { if ((!_.isNil(node.data.children) && node.data.children.length === 0) || _.isNil(node.data.children)) { this._store.dispatch(deleteActionVnfGroupInstance(node.data.vnfGroupStoreKey, serviceModelId)); - }else { - this._sharedTreeService.shouldShowDeleteInstanceWithChildrenModal(node, serviceModelId, (node, serviceModelId)=>{ - this._sharedTreeService.removeDeleteAllChild(node, serviceModelId, (node, serviceModelId)=>{ + } else { + this._sharedTreeService.shouldShowDeleteInstanceWithChildrenModal(node, serviceModelId, (node, serviceModelId) => { + this._sharedTreeService.removeDeleteAllChild(node, serviceModelId, (node, serviceModelId) => { this._store.dispatch(deleteActionVnfGroupInstance(node.data.vnfGroupStoreKey, serviceModelId)); }); }); @@ -252,13 +296,101 @@ export class VnfGroupingModelInfo implements ILevelNodeInfo { } + + generateRelatedMemberTableContent(): ITableContent[] { + return [ + { + id: 'vnfName', + contents: [{ + id: ['instanceName'], + value: ['instanceName'] + }, { + id: ['instanceId'], + value: ["instanceId"], + prefix: 'UUID: ' + }] + }, + { + id: 'version', + contents: [{ + id: ['modelInfo', 'modelVersion'], + value: ['modelInfo', 'modelVersion'] + }] + }, + { + id: 'modelName', + contents: [{ + id: ['modelInfo', 'modelName'], + value: ['modelInfo', 'modelName'] + }] + }, + { + id: 'provStatus', + contents: [{ + id: ['provStatus'], + value: ['provStatus'] + }] + }, + { + id: 'serviceInstance', + contents: [{ + id: ['serviceInstanceName'], + value: ['serviceInstanceName'] + }, { + id: ['serviceInstanceId'], + value: ["serviceInstanceId"], + prefix: 'UUID: ' + }] + }, + { + id: 'cloudRegion', + contents: [{ + id: ['lcpCloudRegionId'], + value: ['lcpCloudRegionId'] + }] + }, + { + id: 'tenantName', + contents: [{ + id: ['tenantName'], + value: ['tenantName'] + }] + } + ]; + } + + getTableHeaders() : CustomTableColumnDefinition[]{ + const type : string = 'VNF'; + return [ + {displayName: `${type} instance name`, key: ['instanceName']}, + {displayName: `${type} version`, key: ['modelInfo', 'modelVersion']}, + {displayName: `${type} model name`, key: ['modelInfo', 'modelName']}, + {displayName: 'Prov Status', key: ['provStatus']}, + {displayName: 'Service instance name', key: ['serviceInstanceName']}, + {displayName: 'Cloud Region', key: ['lcpCloudRegionId']}, + {displayName: 'Tenant Name', key: ['tenantName']} + ]; + } + + filterUsedVnfMembers = (serviceModelId: string, result: Level1Instance[]): Level1Instance[] => { + const allMembersMap = _.keyBy(result as Level1Instance[], 'instanceId'); + const vnfGroupsData = this._store.getState().service.serviceInstance[serviceModelId].vnfGroups; + const vnfMembersArr = _.flatMap(vnfGroupsData).map((vnfGroup) => vnfGroup.vnfs); + for (let vnf of vnfMembersArr) { + for (let member in vnf) { + delete allMembersMap[member]; + } + } + return _.flatMap(allMembersMap); + }; + removeGroup(this, node, serviceModelId) { this._store.dispatch(removeInstance(node.data.modelName, serviceModelId, node.data.vnfGroupStoreKey, node)); this._store.dispatch(changeInstanceCounter(node.data.modelUniqueId, serviceModelId, -1, node)); this._sharedTreeService.selectedVNF = null; } - updatePosition(that , node, instanceId): void { + updatePosition(that, node, instanceId): void { // TODO } @@ -266,7 +398,8 @@ export class VnfGroupingModelInfo implements ILevelNodeInfo { return !_.isNil(instance) ? instance.position : null; } - onSelectedNode(node: ITreeNode): void { + getInfo(model, instance): ModelInformationItem[] { + return []; } } diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vpn/vpn.model.info.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vpn/vpn.model.info.spec.ts new file mode 100644 index 000000000..9ccfaf753 --- /dev/null +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vpn/vpn.model.info.spec.ts @@ -0,0 +1,66 @@ +import {ComponentInfoService} from "../../../component-info/component-info.service"; +import {NgRedux} from "@angular-redux/store"; +import {AppState} from "../../../../../shared/store/reducers"; +import {getTestBed, TestBed} from "@angular/core/testing"; +import {HttpClientTestingModule} from "@angular/common/http/testing"; +import {MockNgRedux, NgReduxTestingModule} from "@angular-redux/store/testing"; +import {SharedTreeService} from "../../shared.tree.service"; +import {ComponentInfoType} from "../../../component-info/component-info-model"; +import {VpnModelInfo} from "./vpn.model.info"; +import {VrfModel} from "../../../../../shared/models/vrfModel"; +import {ModelInformationItem} from "../../../../../shared/components/model-information/model-information.component"; +import {Level1Instance} from "../../../../../shared/models/level1Instance"; +import * as _ from "lodash"; +import {VpnTreeNode} from "../../../../../shared/models/vpnTreeNode"; +import {Level1Model} from "../../../../../shared/models/nodeModel"; + +describe('VPN Model Info', () => { + + let injector; + let _store : NgRedux<AppState>; + let _sharedTreeService: SharedTreeService; + let vpnModel: VpnModelInfo; + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [HttpClientTestingModule, NgReduxTestingModule], + providers: [ + SharedTreeService, + MockNgRedux + ] + }).compileComponents(); + injector = getTestBed(); + _sharedTreeService = injector.get(SharedTreeService); + _store = injector.get(NgRedux); + vpnModel = new VpnModelInfo(_store,_sharedTreeService); + }); + + + test('vpnModel should be defined', () => { + expect(vpnModel).toBeDefined(); + }); + + test('vpnModel should defined extra details', () => { + expect(vpnModel.name).toEqual('vpns'); + expect(vpnModel.type).toEqual('VPN'); + expect(vpnModel.childNames).toBeUndefined; + expect(vpnModel.componentInfoType).toEqual(ComponentInfoType.VPN); + }); + + test('Info for vpn should be correct', () => { + const model = null; + const instance = new VpnTreeNode(new Level1Instance(), new Level1Model(), ""); + instance.region = "USA,EMEA"; + instance.routeTargetId = "globalRouteTarget_1"; + instance.routeTargetRole = "routeTargetRole_1"; + instance.customerVPNId = "VPN1260"; + let actualVpnInfo = vpnModel.getInfo(model,instance); + const instanceInfo = [ + ModelInformationItem.createInstance("Region", "USA,EMEA"), + ModelInformationItem.createInstance("Route target id", "globalRouteTarget_1"), + ModelInformationItem.createInstance("Route target role", "routeTargetRole_1"), + ModelInformationItem.createInstance("Customet VPN ID", "VPN1260")]; + expect(actualVpnInfo).toEqual(instanceInfo); + }); + +}) diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vpn/vpn.model.info.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vpn/vpn.model.info.ts new file mode 100644 index 000000000..b951162f8 --- /dev/null +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vpn/vpn.model.info.ts @@ -0,0 +1,96 @@ +import {ILevelNodeInfo} from "../basic.model.info"; +import {ComponentInfoType} from "../../../component-info/component-info-model"; +import {ITreeNode} from "angular-tree-component/dist/defs/api"; +import {AvailableNodeIcons} from "../../../available-models-tree/available-models-tree.service"; +import {ModelInformationItem} from "../../../../../shared/components/model-information/model-information.component"; +import * as _ from "lodash"; +import {NgRedux} from "@angular-redux/store"; +import {AppState} from "../../../../../shared/store/reducers"; +import {SharedTreeService} from "../../shared.tree.service"; +import {NetworkInstance} from "../../../../../shared/models/networkInstance"; +import {Level1Model} from "../../../../../shared/models/nodeModel"; +import {VpnTreeNode} from "../../../../../shared/models/vpnTreeNode"; + +export class VpnModelInfo implements ILevelNodeInfo { + constructor(private _store: NgRedux<AppState>, + private _sharedTreeService: SharedTreeService) { + } + + name: string = 'vpns'; + type: string = 'VPN'; + typeName: string = 'VPN'; + + childNames: string[] = []; + componentInfoType = ComponentInfoType.VPN; + + isEcompGeneratedNaming(currentModel): boolean { + return false; + } + + updateDynamicInputsDataFromModel = (currentModel): any => []; + + getModel = (modelId: string, instance: any, serviceHierarchy): any => { + return new Level1Model(); + }; + + + createInstanceTreeNode = (instance: NetworkInstance, model: any, parentModel, storeKey: string): VpnTreeNode => { + let node = new VpnTreeNode(instance, model, storeKey); + node.missingData = this.hasMissingData(instance, node, model.isEcompGeneratedNaming); + node = this._sharedTreeService.addingStatusProperty(node); + node.typeName = this.typeName; + node.menuActions = this.getMenuAction(<any>node, model.uuid); + node.isFailed = _.isNil(instance.isFailed) ? false : instance.isFailed; + node.statusMessage = !_.isNil(instance.statusMessage) ? instance.statusMessage : ""; + node = this._sharedTreeService.addingStatusProperty(node); + return node; + }; + + + getNextLevelObject = (): any => { + return null; + }; + + getTooltip = (): string => 'VPN'; + + getType = (): string => 'VPN'; + + hasMissingData(instance, dynamicInputs: any, isEcompGeneratedNaming: boolean): boolean { + return false; + } + + onClickAdd(node, serviceModelId: string): void { + + } + + getNodeCount(node: ITreeNode, serviceModelId: string): number { + return 0; + } + + showNodeIcons(node: ITreeNode, serviceModelId: string): AvailableNodeIcons { + return null; + } + + getMenuAction(node: ITreeNode, serviceModelId: string): { [methodName: string]: { method: Function, visible: Function, enable: Function } } { + return {}; + } + + updatePosition(that, node, instanceId): void { + } + + getNodePosition(instance): number { + return 0; + } + + getInfo(model, instance): ModelInformationItem[] { + const modelInformation = []; + const instanceInfo = !_.isEmpty(instance) ? [ + ModelInformationItem.createInstance("Region", instance.region), + ModelInformationItem.createInstance("Route target id", !_.isNull(instance.routeTargetId) ? instance.routeTargetId : null), + ModelInformationItem.createInstance("Route target role", !_.isNull(instance.routeTargetRole) ? instance.routeTargetRole : null), + ModelInformationItem.createInstance("Customet VPN ID", !_.isNull(instance.customerVPNId) ? instance.customerVPNId : null)] : []; + const result = [modelInformation, instanceInfo]; + return _.uniq(_.flatten(result)); + } +} + diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vrf/vrf.model.info.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vrf/vrf.model.info.spec.ts new file mode 100644 index 000000000..07d4cee9b --- /dev/null +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vrf/vrf.model.info.spec.ts @@ -0,0 +1,238 @@ +import {ComponentInfoService} from "../../../component-info/component-info.service"; +import {NgRedux} from "@angular-redux/store"; +import {AppState} from "../../../../../shared/store/reducers"; +import {getTestBed, TestBed} from "@angular/core/testing"; +import {HttpClientTestingModule} from "@angular/common/http/testing"; +import {MockNgRedux, NgReduxTestingModule} from "@angular-redux/store/testing"; +import {DynamicInputsService} from "../../dynamicInputs.service"; +import {SharedTreeService} from "../../shared.tree.service"; +import {DuplicateService} from "../../../duplicate/duplicate.service"; +import {AaiService} from "../../../../../shared/services/aaiService/aai.service"; +import {HttpClient, HttpHandler} from "@angular/common/http"; +import {FeatureFlagsService} from "../../../../../shared/services/featureFlag/feature-flags.service"; +import {IframeService} from "../../../../../shared/utils/iframe.service"; +import {VrfModelInfo} from "./vrf.model.info"; +import {ComponentInfoType} from "../../../component-info/component-info-model"; +import {ModelInformationItem} from "../../../../../shared/components/model-information/model-information.component"; +import {VrfModel} from "../../../../../shared/models/vrfModel"; +import {AvailableNodeIcons} from "../../../available-models-tree/available-models-tree.service"; +import each from 'jest-each'; +import {DialogService} from "ng2-bootstrap-modal"; +import {NetworkStepService} from "./vrfModal/networkStep/network.step.service"; +import {VpnStepService} from "./vrfModal/vpnStep/vpn.step.service"; + +describe('Vrf Model Info', () => { + + let injector; + let _componentInfoService : ComponentInfoService; + + let _store : NgRedux<AppState>; + let _sharedTreeService: SharedTreeService; + let _dialogService : DialogService; + let _iframeService : IframeService; + let _networkStepService : NetworkStepService; + let _vpnStepService : VpnStepService; + let vrfModel: VrfModelInfo; + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [HttpClientTestingModule, NgReduxTestingModule], + providers: [ + MockNgRedux, + DynamicInputsService, + SharedTreeService, + DuplicateService, + AaiService, + HttpClient, + HttpHandler, + FeatureFlagsService, + ComponentInfoService, + DialogService, + IframeService, + IframeService, + NetworkStepService, + VpnStepService] + }).compileComponents(); + + injector = getTestBed(); + _sharedTreeService = injector.get(SharedTreeService); + _dialogService = injector.get(DialogService); + _iframeService = injector.get(IframeService); + _networkStepService = injector.get(NetworkStepService); + _vpnStepService = injector.get(VpnStepService); + _store = injector.get(NgRedux); + _componentInfoService = injector.get(ComponentInfoService); + + vrfModel = new VrfModelInfo(_store,_sharedTreeService, _dialogService, _iframeService, _networkStepService, _vpnStepService); + + }); + + + test('vrfModel should be defined', () => { + expect(vrfModel).toBeDefined(); + }); + + test('vrfModel should defined extra details', () => { + expect(vrfModel.name).toEqual('vrfs'); + expect(vrfModel.type).toEqual('VRF'); + expect(vrfModel.childNames).toEqual(['networks','vpns']); + expect(vrfModel.componentInfoType).toEqual(ComponentInfoType.VRF); + }); + + test('Info for vrf should be correct', () => { + const model = new VrfModel(); + const instance = null; + let actualNetworkInfo = vrfModel.getInfo(model,instance); + let expectedNetworkInfo = [ + ModelInformationItem.createInstance('Min instances', "1"), + ModelInformationItem.createInstance('Max instances', "1"), + ModelInformationItem.createInstance("Association", "L3-Network - VPN") + ]; + expect(actualNetworkInfo).toEqual(expectedNetworkInfo); + }); + + + + test('getModel should return VRF model with min and max are equal to 1 (hard coded)', () => { + let model: VrfModel = vrfModel.getModel('VRF Entry Configuration 0', <any>{ + originalName : 'VRF Entry Configuration 0' + }, getServiceHierarchy()); + expect(model.properties['type']).toEqual('VRF-ENTRY'); + expect(model.min).toEqual(1); + expect(model.max).toEqual(1); + }); + + const showNodeIconsDataProvider = [ + [false, new AvailableNodeIcons(true , false)], + [true, new AvailableNodeIcons(false , true)] + ]; + + each(showNodeIconsDataProvider).test('showNodeIcons should return value according reach limit of max',(existVRFs,expectedResult)=>{ + const serviceId : string = 'servicedId'; + const node = getNode(); + let state = getMockState(); + if(existVRFs) { + state.service.serviceInstance.servicedId.existingVRFCounterMap = { + 'modelCustomizationId': 1 + }; + } + jest.spyOn(MockNgRedux.getInstance(), 'getState').mockReturnValue(state); + const result = vrfModel.showNodeIcons(<any>node, serviceId); + expect(result).toEqual(expectedResult); + }); + + function getNode() { + return { + data: { + id: 'vrfId', + name: 'VRF Entry Configuration 0', + modelCustomizationId: 'modelCustomizationId', + modelUniqueId: 'modelCustomizationId', + getModel: function () { + return {max: 1} + } + } + }; + } + + function getMockState(){ + return { + global:{ + "drawingBoardStatus": "CREATE" + }, + service : { + serviceHierarchy : { + 'servicedId' : { + } + }, + serviceInstance : { + 'servicedId' : { + 'existingVRFCounterMap' : {}, + 'vrfs' : { + 'vrfName' :{ + + } + } + } + } + } + }; + } + + function getServiceHierarchy() { + return { + "service": { + "uuid": "f028b2e2-7080-4b13-91b2-94944d4c42d8", + "invariantUuid": "dfc2c44c-2429-44ca-ae26-1e6dc1f207fb", + "name": "infraVPN", + "version": "1.0", + "toscaModelURL": null, + "category": "Network Service", + "serviceType": "BONDING", + "serviceRole": "INFRASTRUCTURE-VPN", + "description": "ddd", + "serviceEcompNaming": "true", + "instantiationType": "A-La-Carte", + "inputs": {}, + "vidNotions": { + "instantiationUI": "macroService", + "modelCategory": "other", + "viewEditUI": "legacy" + } + }, + "vnfs": {}, + "networks": {}, + "collectionResources": {}, + "configurations": {}, + "fabricConfigurations": {}, + "serviceProxies": { + "misvpn_service_proxy 0": { + "uuid": "35186eb0-e6b6-4fa5-86bb-1501b342a7b1", + "invariantUuid": "73f89e21-b96c-473f-8884-8b93bcbd2f76", + "description": "A Proxy for Service MISVPN_SERVICE", + "name": "MISVPN_SERVICE Service Proxy", + "version": "3.0", + "customizationUuid": "4c2fb7e0-a0a5-4b32-b6ed-6a974e55d923", + "inputs": {}, + "commands": {}, + "properties": { + "ecomp_generated_naming": "false" + }, + "type": "Service Proxy", + "sourceModelUuid": "d5cc7d15-c842-450e-95ae-2a69e66dd23b", + "sourceModelInvariant": "c126ec86-59fe-48c0-9532-e39a9b3e5272", + "sourceModelName": "MISVPN_SERVICE" + } + }, + "vfModules": {}, + "volumeGroups": {}, + "pnfs": {}, + "vnfGroups": {}, + "vrfs": { + "VRF Entry Configuration 0": { + "uuid": "9cac02be-2489-4374-888d-2863b4511a59", + "invariantUuid": "b67a289b-1688-496d-86e8-1583c828be0a", + "description": "VRF Entry configuration object", + "name": "VRF Entry Configuration", + "version": "30.0", + "customizationUuid": "dd024d73-9bd1-425d-9db5-476338d53433", + "inputs": {}, + "commands": {}, + "properties": { + "ecomp_generated_naming": "false", + "type": "VRF-ENTRY", + "role": "INFRASTRUCTURE-CLOUD-VPN" + }, + "type": "Configuration", + "modelCustomizationName": "VRF Entry Configuration 0", + "sourceNodes": [], + "collectorNodes": null, + "configurationByPolicy": false + } + } + } + } + + + +}) diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vrf/vrf.model.info.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vrf/vrf.model.info.ts new file mode 100644 index 000000000..4c779a313 --- /dev/null +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vrf/vrf.model.info.ts @@ -0,0 +1,188 @@ +import {ILevelNodeInfo} from "../basic.model.info"; +import {ComponentInfoType} from "../../../component-info/component-info-model"; +import {ITreeNode} from "angular-tree-component/dist/defs/api"; +import {AvailableNodeIcons} from "../../../available-models-tree/available-models-tree.service"; +import {ModelInformationItem} from "../../../../../shared/components/model-information/model-information.component"; +import {VrfInstance} from "../../../../../shared/models/vrfInstance"; +import {VrfTreeNode} from "../../../../../shared/models/vrfTreeNode"; +import {VrfModel} from "../../../../../shared/models/vrfModel"; +import {NgRedux} from "@angular-redux/store"; +import {AppState} from "../../../../../shared/store/reducers"; +import {SharedTreeService} from "../../shared.tree.service"; +import {DialogService} from 'ng2-bootstrap-modal'; +import {SearchElementsModalComponent} from "../../../../../shared/components/searchMembersModal/search-elements-modal.component"; +import {IframeService} from "../../../../../shared/utils/iframe.service"; +import {NetworkStepService} from "./vrfModal/networkStep/network.step.service"; +import {VpnStepService} from "./vrfModal/vpnStep/vpn.step.service"; +import {NetworkModelInfo} from "../network/network.model.info"; +import {VpnModelInfo} from "../vpn/vpn.model.info"; +import { + clearAllGenericModalhelper, + updateGenericModalhelper, + updateGenericModalTableDataHelper +} from "../../../../../shared/storeUtil/utils/global/global.actions"; +import { + deleteActionVrfInstance, + undoDeleteActionVrfInstance +} from "../../../../../shared/storeUtil/utils/vrf/vrf.actions"; +import * as _ from "lodash"; + +export class VrfModelInfo implements ILevelNodeInfo { + constructor(private _store: NgRedux<AppState>, + private _sharedTreeService: SharedTreeService, + private _dialogService: DialogService, + private _iframeService: IframeService, + private _networkStepService: NetworkStepService, + private _vpnStepService: VpnStepService) { + } + + name: string = 'vrfs'; + type: string = 'VRF'; + typeName: string = 'VRF'; + childNames: string [] = ["networks", "vpns"]; + componentInfoType = ComponentInfoType.VRF; + + isEcompGeneratedNaming(currentModel): boolean { + return false; + } + + updateDynamicInputsDataFromModel = (currentModel): any => []; + + getModel = (vrfModelId: string, instance: VrfInstance, serviceHierarchy): VrfModel => { + const originalModelName = instance.originalName ? instance.originalName : vrfModelId; + return new VrfModel(serviceHierarchy[this.name][originalModelName]); + }; + + + createInstanceTreeNode = (instance: VrfInstance, model: VrfModel, parentModel, storeKey: string): VrfTreeNode => { + let node = new VrfTreeNode(instance, model, storeKey); + node.missingData = this.hasMissingData(instance, node, model.isEcompGeneratedNaming); + node.typeName = this.typeName; + node.menuActions = this.getMenuAction(<any>node, model.uuid); + node.isFailed = _.isNil(instance.isFailed) ? false : instance.isFailed; + node.statusMessage = !_.isNil(instance.statusMessage) ? instance.statusMessage : ""; + return node; + }; + + + getNextLevelObject = (nextLevelType: string): any => { + if (nextLevelType === 'vpns') { + return new VpnModelInfo(this._store, this._sharedTreeService); + } else { + if (nextLevelType === 'networks') { + return new NetworkModelInfo(null, this._sharedTreeService, null, null, null, null, null, this._store); + } + } + }; + + getTooltip = (): string => 'VRF'; + + getType = (): string => 'VRF'; + + hasMissingData(instance, dynamicInputs: any, isEcompGeneratedNaming: boolean): boolean { + return false; + } + + onClickAdd(node, serviceModelId: string): void { + this._store.dispatch(clearAllGenericModalhelper()); + this._store.dispatch(updateGenericModalTableDataHelper('currentVRF', { + model: this._store.getState().service.serviceHierarchy[serviceModelId].vrfs[node.data.name], + instance: null + })); + this._iframeService.addFullScreen(); + let modalSteps = [this._vpnStepService, this._networkStepService]; + const serviceInstance = this._store.getState().service.serviceInstance[serviceModelId]; + this._dialogService.addDialog(SearchElementsModalComponent, { + modalInformation: this._networkStepService.getNetworkStep(serviceInstance, serviceModelId, ...modalSteps) + } + ) + } + + getNodeCount(node: ITreeNode, serviceModelId: string): number { + //TODO + return 0; + } + + showNodeIcons(node: ITreeNode, serviceModelId: string): AvailableNodeIcons { + const serviceHierarchy = this._store.getState().service.serviceHierarchy[serviceModelId]; + + let counter: number = !_.isNil(this._store.getState().service.serviceInstance[serviceModelId]) ? + (this._store.getState().service.serviceInstance[serviceModelId].existingVRFCounterMap[node.data.modelUniqueId] || 0) : 0; + counter -= this._sharedTreeService.getExistingInstancesWithDeleteMode(node, serviceModelId, 'vrfs'); + const model = node.data.getModel(node.data.name, node.data, serviceHierarchy); + const maxInstances: number = model.max; + const isReachedLimit = !(maxInstances > counter); + const showAddIcon = this._sharedTreeService.shouldShowAddIcon() && !isReachedLimit; + + return new AvailableNodeIcons(showAddIcon, isReachedLimit) + } + + getMenuAction(node: ITreeNode, serviceModelId: string): { [methodName: string]: { method: Function, visible: Function, enable: Function } } { + return <any>{ + changeAssociations: { + method: (node, serviceModelId) => { + let modalSteps = [this._vpnStepService, this._networkStepService]; + this._store.dispatch(clearAllGenericModalhelper()); + const vrfInstance = this._store.getState().service.serviceInstance[serviceModelId].vrfs[node.data.vrfStoreKey]; + const vrfModel = this._store.getState().service.serviceHierarchy[serviceModelId].vrfs[node.data.name]; + this._store.dispatch(updateGenericModalTableDataHelper('currentVRF', { + model: vrfModel, + instance: vrfInstance, + vrfStoreKey: node.data.vrfStoreKey + })); + + + for (let networkKey in vrfInstance.networks) { + this._store.dispatch(updateGenericModalhelper(`selectedNetwork`, vrfInstance.networks[networkKey], modalSteps[1].uniqObjectField)); + } + + for (let networkKey in vrfInstance.vpns) { + this._store.dispatch(updateGenericModalhelper(`selectedVPN`, vrfInstance.vpns[networkKey], modalSteps[0].uniqObjectField)); + } + + this._iframeService.addFullScreen(); + + const serviceInstance = this._store.getState().service.serviceInstance[serviceModelId]; + this._dialogService.addDialog(SearchElementsModalComponent, { + modalInformation: this._networkStepService.getNetworkStep(serviceInstance, serviceModelId, ...modalSteps) + } + ) + }, + visible: (node) => this._sharedTreeService.shouldShowRemoveAndEdit(node), + enable: (node) => this._sharedTreeService.shouldShowRemoveAndEdit(node), + }, + delete: { + method: (node, serviceModelId) => { + this._store.dispatch(deleteActionVrfInstance(node.data.vrfStoreKey, serviceModelId)); + }, + visible: (node) => this._sharedTreeService.shouldShowDelete(node), + enable: (node) => this._sharedTreeService.shouldShowDelete(node) + }, + undoDelete: { + method: (node, serviceModelId) => { + this._store.dispatch(undoDeleteActionVrfInstance(node.data.vrfStoreKey, serviceModelId)); + }, + visible: (node) => this._sharedTreeService.shouldShowUndoDelete(node), + enable: (node, serviceModelId) => this._sharedTreeService.shouldShowUndoDelete(node) && !this._sharedTreeService.isServiceOnDeleteMode(serviceModelId) + } + } + } + + updatePosition(that, node, instanceId): void { + //TODO + } + + getNodePosition(instance): number { + //TODO + return 0; + } + + getInfo(model, instance): ModelInformationItem[] { + const modelInformation = !_.isEmpty(model) ? [ + ModelInformationItem.createInstance("Min instances", "1"), + ModelInformationItem.createInstance("Max instances", "1"), + ModelInformationItem.createInstance("Association", "L3-Network - VPN")] : []; + return modelInformation; + } +} + diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vrf/vrfModal/networkStep/network.step.model.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vrf/vrfModal/networkStep/network.step.model.ts new file mode 100644 index 000000000..8a2d18ad5 --- /dev/null +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vrf/vrfModal/networkStep/network.step.model.ts @@ -0,0 +1,18 @@ +export class NetworkModalRow { + instanceName : string; + instanceType: string; + role: string; + orchStatus: string; + physicalName: string; + instanceId: string; + serviceName : string; + serviceUUID : string; + tenantName : string; + lcpCloudRegionId : string; + modelInfo : { + modelCustomizationId: string; + modelInvariantId: string; + modelVersionId: string; + modelType: string; + } +} diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vrf/vrfModal/networkStep/network.step.service.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vrf/vrfModal/networkStep/network.step.service.spec.ts new file mode 100644 index 000000000..e06e4c9f9 --- /dev/null +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vrf/vrfModal/networkStep/network.step.service.spec.ts @@ -0,0 +1,458 @@ +import {NgRedux} from "@angular-redux/store"; +import {AppState} from "../../../../../../../shared/store/reducers"; +import {getTestBed, TestBed} from "@angular/core/testing"; +import {NgReduxTestingModule} from "@angular-redux/store/testing"; +import {HttpClientTestingModule} from "@angular/common/http/testing"; +import {FeatureFlagsService} from "../../../../../../../shared/services/featureFlag/feature-flags.service"; +import {AaiService} from "../../../../../../../shared/services/aaiService/aai.service"; +import {NetworkStepService} from "./network.step.service"; +import {updateGenericModalCriteria} from "../../../../../../../shared/storeUtil/utils/global/global.actions"; +import {ITableContent} from "../../../../../../../shared/components/searchMembersModal/members-table/element-table-row.model"; + +describe('Network step service', () => { + let injector; + let service: NetworkStepService; + let store: NgRedux<AppState>; + beforeAll(done => (async () => { + TestBed.configureTestingModule({ + imports: [NgReduxTestingModule, HttpClientTestingModule], + providers: [ + NetworkStepService, + FeatureFlagsService, + AaiService + ] + }); + await TestBed.compileComponents(); + injector = getTestBed(); + service = injector.get(NetworkStepService); + store = injector.get(NgRedux); + })().then(done).catch(done.fail)); + + test('service should be defined', () => { + expect(service).toBeDefined(); + }); + + + test('networkStep', () => { + spyOn(store, 'getState').and.returnValue({ + "global": { + "genericModalHelper": { + "selectedNetwork": { + "action": "None", + "instanceName": "NETWORK_1_INSTANCE_NAME", + "instanceId": "NETWORK_1_INSTANCE_ID", + "orchStatus": null, + "productFamilyId": null, + "lcpCloudRegionId": "hvf23b", + "tenantId": "3e9a20a3e89e45f884e09df0cc2d2d2a", + "tenantName": "APPC-24595-T-IST-02C", + "modelInfo": { + "modelInvariantId": "network-instance-model-invariant-id", + "modelVersionId": "7a6ee536-f052-46fa-aa7e-2fca9d674c44", + "modelVersion": "2.0", + "modelName": "vf_vEPDG", + "modelType": "vnf" + }, + "roles": ["network role 1", "network role 2"], + "instanceType": "NETWORK_1_INSTANCE_TYPE", + "provStatus": null, + "inMaint": false, + "uuid": "7a6ee536-f052-46fa-aa7e-2fca9d674c44", + "originalName": null, + "legacyRegion": null, + "lineOfBusiness": null, + "platformName": null, + "trackById": "VNF1_INSTANCE_ID", + "serviceInstanceId": "service-instance-id1", + "serviceInstanceName": "service-instance-name", + "isSelected": true + }, + "selectedVpn": { + "vpn-id": "120d39fb-3627-473d-913c-d228dd0f8e5b", + "vpn-name": "LPPVPN", + "vpn-platform": "AVPN", + "vpn-type": "SERVICE-INFRASTRUCTURE", + "vpn-region": "USA,EMEA", + "customer-vpn-id": "VPN1260", + "model-customization-id": null, + "model-invariant-id": null, + "model-version-id": null, + "route-targets": null, + "isSelected": true + } + }, + "genericModalCriteria": {"roles": ["-- select an option --", "network role 1", "network role 2", "network role 3", "network role 4", "network role 5"]}, + "name": null, + "flags": { + "CREATE_INSTANCE_TEST": false, + "EMPTY_DRAWING_BOARD_TEST": false, + "FLAG_NETWORK_TO_ASYNC_INSTANTIATION": false, + "FLAG_ASYNC_INSTANTIATION": true, + "FLAG_ASYNC_JOBS": true, + "FLAG_ADD_MSO_TESTAPI_FIELD": true, + "FLAG_UNASSIGN_SERVICE": false, + "FLAG_SERVICE_MODEL_CACHE": false, + "FLAG_SHOW_ASSIGNMENTS": true, + "FLAG_FABRIC_CONFIGURATION_ASSIGNMENTS": true, + "FLAG_DUPLICATE_VNF": true, + "FLAG_DEFAULT_VNF": true, + "FLAG_SETTING_DEFAULTS_IN_DRAWING_BOARD": true, + "FLAG_A_LA_CARTE_AUDIT_INFO": true, + "FLAG_1810_CR_ADD_CLOUD_OWNER_TO_MSO_REQUEST": true, + "FLAG_PRESENT_PROVIDER_NETWORKS_ASSOCIATIONS": true, + "FLAG_1810_CR_SOFT_DELETE_ALACARTE_VF_MODULE": true, + "FLAG_1902_NEW_VIEW_EDIT": true, + "FLAG_VF_MODULE_RESUME_STATUS_CREATE": true, + "FLAG_1906_COMPONENT_INFO": true + }, + "drawingBoardStatus": "CREATE", + "type": "UPDATE_DRAWING_BOARD_STATUS" + }, "service": { + "serviceHierarchy": { + "f028b2e2-7080-4b13-91b2-94944d4c42d8": { + "service": { + "uuid": "f028b2e2-7080-4b13-91b2-94944d4c42d8", + "invariantUuid": "dfc2c44c-2429-44ca-ae26-1e6dc1f207fb", + "name": "infraVPN", + "version": "1.0", + "toscaModelURL": null, + "category": "Network Service", + "serviceType": "BONDING", + "serviceRole": "INFRASTRUCTURE-VPN", + "description": "ddd", + "serviceEcompNaming": "true", + "instantiationType": "A-La-Carte", + "inputs": {}, + "vidNotions": {"instantiationUI": "macroService", "modelCategory": "other", "viewEditUI": "legacy"} + }, + "vnfs": {}, + "networks": {}, + "collectionResources": {}, + "configurations": {}, + "fabricConfigurations": {}, + "serviceProxies": { + "misvpn_service_proxy 0": { + "uuid": "35186eb0-e6b6-4fa5-86bb-1501b342a7b1", + "invariantUuid": "73f89e21-b96c-473f-8884-8b93bcbd2f76", + "description": "A Proxy for Service MISVPN_SERVICE", + "name": "MISVPN_SERVICE Service Proxy", + "version": "3.0", + "customizationUuid": "4c2fb7e0-a0a5-4b32-b6ed-6a974e55d923", + "inputs": {}, + "commands": {}, + "properties": {"ecomp_generated_naming": "false"}, + "type": "Service Proxy", + "sourceModelUuid": "d5cc7d15-c842-450e-95ae-2a69e66dd23b", + "sourceModelInvariant": "c126ec86-59fe-48c0-9532-e39a9b3e5272", + "sourceModelName": "MISVPN_SERVICE" + } + }, + "vfModules": {}, + "volumeGroups": {}, + "pnfs": {}, + "vnfGroups": {}, + "vrfs": { + "VRF Entry Configuration 0": { + "uuid": "9cac02be-2489-4374-888d-2863b4511a59", + "invariantUuid": "b67a289b-1688-496d-86e8-1583c828be0a", + "description": "VRF Entry configuration object", + "name": "VRF Entry Configuration", + "version": "30.0", + "customizationUuid": "dd024d73-9bd1-425d-9db5-476338d53433", + "inputs": {}, + "commands": {}, + "properties": {"ecomp_generated_naming": "false"}, + "type": "Configuration", + "modelCustomizationName": "VRF Entry Configuration 0", + "sourceNodes": [], + "collectorNodes": null, + "configurationByPolicy": false + } + } + } + }, + "serviceInstance": { + "f028b2e2-7080-4b13-91b2-94944d4c42d8": { + "action": "Create", + "isDirty": false, + "vnfs": {}, + "vrfs": {}, + "instanceParams": [{}], + "validationCounter": 0, + "existingNames": {"dfd": ""}, + "existingVNFCounterMap": {}, + "existingVRFCounterMap": {}, + "existingVnfGroupCounterMap": {}, + "existingNetworksCounterMap": {}, + "optionalGroupMembersMap": {}, + "networks": {}, + "vnfGroups": {}, + "bulkSize": 1, + "instanceName": "dfd", + "globalSubscriberId": "e433710f-9217-458d-a79d-1c7aff376d89", + "subscriptionServiceType": "TYLER SILVIA", + "owningEntityId": "d61e6f2d-12fa-4cc2-91df-7c244011d6fc", + "projectName": "WATKINS", + "rollbackOnFailure": "true", + "aicZoneName": null, + "owningEntityName": "WayneHolland", + "testApi": "VNF_API", + "tenantName": null, + "modelInfo": { + "modelInvariantId": "dfc2c44c-2429-44ca-ae26-1e6dc1f207fb", + "modelVersionId": "f028b2e2-7080-4b13-91b2-94944d4c42d8", + "modelName": "infraVPN", + "modelVersion": "1.0", + "uuid": "f028b2e2-7080-4b13-91b2-94944d4c42d8", + "modelUniqueId": "f028b2e2-7080-4b13-91b2-94944d4c42d8" + }, + "isALaCarte": true, + "name": "infraVPN", + "version": "1.0", + "description": "ddd", + "category": "Network Service", + "uuid": "f028b2e2-7080-4b13-91b2-94944d4c42d8", + "invariantUuid": "dfc2c44c-2429-44ca-ae26-1e6dc1f207fb", + "serviceType": "BONDING", + "serviceRole": "INFRASTRUCTURE-VPN", + "vidNotions": {"instantiationUI": "macroService", "modelCategory": "other", "viewEditUI": "legacy"}, + "isEcompGeneratedNaming": true, + "isMultiStepDesign": false + } + }, + "type": "UPDATE_CATEGORY_PARAMETERS", + "categoryParameters": { + "owningEntityList": [{ + "id": "d61e6f2d-12fa-4cc2-91df-7c244011d6fc", + "name": "WayneHolland" + }, {"id": "Melissa", "name": "Melissa"}, {"id": "aaa1", "name": "aaa1"}], + "projectList": [{"id": "WATKINS", "name": "WATKINS"}, {"id": "x1", "name": "x1"}, {"id": "yyy1", "name": "yyy1"}], + "lineOfBusinessList": [{"id": "ONAP", "name": "ONAP"}, {"id": "zzz1", "name": "zzz1"}], + "platformList": [{"id": "platform", "name": "platform"}, {"id": "xxx1", "name": "xxx1"}] + } + } + }); + const networkStep = service.getNetworkStep( + "f028b2e2-7080-4b13-91b2-94944d4c42d8", + <any>{ + data: { + children: [], + componentInfoType: "VRF", + count: 0, + disabled: false, + id: "dd024d73-9bd1-425d-9db5-476338d53433", + isEcompGeneratedNaming: false, + max: 1, + modelCustomizationId: "dd024d73-9bd1-425d-9db5-476338d53433", + modelUniqueId: "dd024d73-9bd1-425d-9db5-476338d53433", + modelVersionId: "9cac02be-2489-4374-888d-2863b4511a59", + name: "VRF Entry Configuration 0", + tooltip: "VRF", + type: "VRF", + typeName: "VRF" + } + }); + + + expect(networkStep.type).toEqual('Network'); + expect(networkStep.title).toEqual('Associate network to VRF Entry'); + expect(networkStep.description).toEqual('Select a network to associate to the VRF Entry'); + expect(networkStep.noElementsMsg).toEqual('No network were found.'); + expect(networkStep.maxSelectRow).toEqual(1); + expect(networkStep.uniqObjectField).toEqual('instanceId'); + expect(networkStep.topButton.text).toEqual('Next'); + expect(networkStep.criteria).toHaveLength(1); + + }); + + test('getsNetworkStepSearchFields', () => { + const networkStepSearchFields = service.getsNetworkStepSearchFields({ + "lcpCloudRegionId": "lcpCloudRegionId", + "tenantName": "tenantName" + }); + + expect(networkStepSearchFields[0].value).toEqual("lcpCloudRegionId"); + expect(networkStepSearchFields[1].value).toEqual("tenantName"); + expect(networkStepSearchFields[2].value).toEqual("Active"); + expect(networkStepSearchFields[3].value).toEqual("VPN binding"); + }); + + test('generateRolesOptions should sort networks roles, check if should add "Not assigned" option', () => { + const networks = [ + {"role": "2"}, + {"role": "3"}, + {"role": "4"}, + {"role": "1"}, + {"role": "6"} + ]; + + spyOn(store, 'dispatch'); + + service.generateRolesOptions(networks); + expect(store.dispatch).toHaveBeenCalledWith(updateGenericModalCriteria("roles", ["-- select an option --", "1", "2", "3", "4", "6"])) + + networks.push({"role": null}); + service.generateRolesOptions(networks); + expect(store.dispatch).toHaveBeenCalledWith(updateGenericModalCriteria("roles", ["-- select an option --", "Not assigned", "1", "2", "3", "4", "6"])) + }); + + test('shouldAddNotAssigned- check if "Not Assigned" option to roles', () => { + const networks = [ + {"role": "5"}, + {"role": "3"}, + {"role": "4"}, + {"role": "1"}, + {"role": "6"} + ]; + + let result: boolean = service.shouldAddNotAssigned(networks); + expect(result).toBeFalsy(); + + networks.push({"role": null}); + + result = service.shouldAddNotAssigned(networks); + expect(result).toBeTruthy(); + }); + + + test('getNetworkStepHeaders should return the correct headers for network popup', () => { + let headers = service.getNetworkStepHeaders(); + + expect(headers[0].displayName).toEqual('Name'); + expect(headers[0].key).toEqual(['instanceName']); + + expect(headers[1].displayName).toEqual('Type'); + expect(headers[1].key).toEqual(['instanceType']); + + expect(headers[2].displayName).toEqual('Role'); + expect(headers[2].key).toEqual(['role']); + + expect(headers[3].displayName).toEqual('Orch. Status'); + expect(headers[3].key).toEqual(['orchStatus']); + + expect(headers[4].displayName).toEqual('Physical name'); + expect(headers[4].key).toEqual(['physicalName']); + + expect(headers[5].displayName).toEqual('Instance ID'); + expect(headers[5].key).toEqual(['instanceId']); + + expect(headers[6].displayName).toEqual('Model UUID'); + expect(headers[6].key).toEqual(['modelInfo', 'modelVersionId']); + + expect(headers[7].displayName).toEqual('Service name'); + expect(headers[7].key).toEqual(['serviceName']); + + expect(headers[8].displayName).toEqual('Service UUID'); + expect(headers[8].key).toEqual(['serviceUUID']); + + expect(headers[9].displayName).toEqual('Tenant'); + expect(headers[9].key).toEqual(['tenantName']); + + expect(headers[10].displayName).toEqual('Region'); + expect(headers[10].key).toEqual(['lcpCloudRegionId']); + }); + + test('getElementsFirstStep should return sort networks by instance name', () => { + let networks = [ + {"instanceUUID": "B"}, + {"instanceUUID": "A"}, + {"instanceUUID": "D"}, + {"instanceUUID": "C"}, + {"instanceUUID": "E"} + ]; + + let sortedNetworkByInstanceName = service.sortElementsResultByField(networks, "instanceUUID"); + expect(sortedNetworkByInstanceName).toEqual([ + {"instanceUUID": "A"}, + {"instanceUUID": "B"}, + {"instanceUUID": "C"}, + {"instanceUUID": "D"}, + {"instanceUUID": "E"} + ]) + }); + + + test('getNetworkTableContent', () => { + let tableContent: ITableContent[] = service.getNetworkTableContent(); + expect(tableContent).toEqual( + [ + { + id: 'instanceName', + contents: [{ + id: ['name'], + value: ["instanceName"] + }] + }, + { + id: 'instanceType', + contents: [{ + id: ['type'], + value: ['instanceType'] + }] + }, + { + id: 'role', + contents: [{ + id: ['role'], + value: ['role'] + }] + }, + { + id: 'network-orch-status', + contents: [{ + id: ['orchStatus'], + value: ['orchStatus'] + }] + }, + { + id: 'network-physical-name', + contents: [{ + id: ['physicalName'], + value: ['physicalName'] + }] + }, + { + id: 'network-instance-id', + contents: [{ + id: ['instanceID'], + value: ['instanceId'] + }] + }, + { + id: 'network-model-uuid', + contents: [{ + id: ['modelUUID'], + value: ['modelInfo', 'modelVersionId'] + }] + }, + { + id: 'network-serviceName', + contents: [{ + id: ['serviceName'], + value: ['serviceName'] + }] + }, + { + id: 'network-service-id', + contents: [{ + id: ['serviceUUID'], + value: ['serviceUUID'] + }] + }, + { + id: 'network-tenantName', + contents: [{ + id: ['tenant'], + value: ['tenantName'] + }] + }, + { + id: 'network-region', + contents: [{ + id: ['region'], + value: ['lcpCloudRegionId'] + }] + } + ]); + }); +}); diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vrf/vrfModal/networkStep/network.step.service.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vrf/vrfModal/networkStep/network.step.service.ts new file mode 100644 index 000000000..9cd928e8f --- /dev/null +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vrf/vrfModal/networkStep/network.step.service.ts @@ -0,0 +1,242 @@ +import {Injectable} from "@angular/core"; +import {NgRedux} from "@angular-redux/store"; +import {AppState} from "../../../../../../../shared/store/reducers"; +import {AaiService} from "../../../../../../../shared/services/aaiService/aai.service"; +import { + updateGenericModalCriteria, + updateGenericModalhelper +} from "../../../../../../../shared/storeUtil/utils/global/global.actions"; +import {ElementsTableService} from "../../../../../../../shared/components/searchMembersModal/members-table/elements-table.service"; +import { + ICriteria, ISearchField, ITableContent, + ModalInformation +} from "../../../../../../../shared/components/searchMembersModal/members-table/element-table-row.model"; +import {Observable, of} from "rxjs"; +import * as _ from "lodash"; +import {CustomTableColumnDefinition} from "../../../../../../../shared/components/searchMembersModal/members-table/elements-table.component"; +import {NetworkModalRow} from "./network.step.model"; + +@Injectable() +export class NetworkStepService { + constructor(private _store: NgRedux<AppState>, private _aaiService: AaiService) {} + + uniqObjectField: string = "instanceId"; + type: string = "Network"; + + getNetworkStep = (serviceInstance, serviceModelId, ...otherSteps): ModalInformation => { + return { + type: this.type, + serviceModelId: serviceModelId, + title: 'Associate network to VRF Entry', + description: 'Select a network to associate to the VRF Entry', + noElementsMsg: 'No network were found.', + maxSelectRow: 1, + uniqObjectField: this.uniqObjectField, + backAction: (searchElementsModalComponent) => { + searchElementsModalComponent.closeDialog(); + }, + topButton: { + text: 'Next', + action: (searchElementsModalComponent) => { + let tmpMembers = searchElementsModalComponent._membersTableService.allElementsStatusMap; + let vpnStep = otherSteps[0]; + for (let key in tmpMembers) { + if (tmpMembers[key].isSelected) { + this._store.dispatch(updateGenericModalhelper(`selected${this.type}`, tmpMembers[key], this.uniqObjectField)); + } + } + ElementsTableService.changeModalInformationDataTrigger.next({ + modalInformation: vpnStep.getVpnStep(serviceInstance, searchElementsModalComponent.modalInformation.serviceModelId, ...otherSteps), + selectedRowsIds: [] + }) + } + }, + searchButton: { + text: 'Search', + action: (searchElementsModalComponent) => { + this.getNetworks(serviceInstance).subscribe((networks) => { + const currentRole = searchElementsModalComponent.modalInformation.criteria.find((criteria: ICriteria) => { + criteria.label === 'Roles'; + }); + ElementsTableService.changeFnTableDataTrigger.next( + networks.filter((network) => { + if (_.isNil(currentRole)) return network; + return network.role === currentRole.currentValue; + })); + }); + } + }, + getElements: (...args) => this.getNetworks(serviceInstance), + criteria: this.getNetworkStepCriteria(serviceInstance), + searchFields: this.getsNetworkStepSearchFields(serviceInstance), + tableHeaders: this.getNetworkStepHeaders(), + tableContent: this.getNetworkTableContent() + }; + }; + + getNetworks = (serviceInstance): Observable<any[]> => { + let cloudRegion = serviceInstance.lcpCloudRegionId; + let tenantId = serviceInstance.tenantName; + return this._aaiService.retrieveActiveNetwork(cloudRegion, tenantId).map((networks: NetworkModalRow[]) => { + this.generateRolesOptions(networks); + return this.sortElementsResultByField(networks, this.uniqObjectField); + }); + }; + + getNetworkStepCriteria(serviceInstance): ICriteria[] { + return [{ + label: "Roles", + defaultValue: "", + type: 'DROPDOWN', + onInit: (): Observable<any> => of(this._store.getState().global.genericModalCriteria.roles), + onChange: (that, selectedOption): void => { + that.currentValue = selectedOption; + }, + dataTestId: 'roles-criteria', + isRequired: false + }] + } + + getsNetworkStepSearchFields = (serviceInstance): ISearchField[] => { + return [ + { + title: 'Region', + dataTestId: 'Region', + value: serviceInstance["lcpCloudRegionId"], + type: "LABEL" + }, { + title: 'Tenant', + dataTestId: 'Tenant', + value: serviceInstance["tenantName"], + type: "LABEL" + }, + { + title: 'Orch. status', + dataTestId: 'Orch_status', + value: "Active", + type: "LABEL" + }, + { + title: 'Related to', + dataTestId: 'Related_to', + value: "VPN binding", + type: "LABEL" + } + ] + }; + + generateRolesOptions = (networks): void => { + let roles: string[] = (_.uniq(_.flatten(_.map(networks, 'role').filter((role) => !_.isNil(role))))).sort(); + const SELECTED_AN_OPTION: string = "-- select an option --"; + const NOT_ASSIGNED: string = "Not assigned"; + + roles = _.remove([SELECTED_AN_OPTION, this.shouldAddNotAssigned(networks) ? NOT_ASSIGNED : null, ...roles], null); + this._store.dispatch(updateGenericModalCriteria("roles", roles)); + }; + + getNetworkStepHeaders = (): CustomTableColumnDefinition[] => { + return [ + {displayName: `Name`, key: ['instanceName']}, + {displayName: `Type`, key: ['instanceType']}, + {displayName: `Role`, key: ['role']}, + {displayName: 'Orch. Status', key: ['orchStatus']}, + {displayName: 'Physical name', key: ['physicalName']}, + {displayName: 'Instance ID', key: ['instanceId']}, + {displayName: 'Model UUID', key: ['modelInfo', 'modelVersionId']}, + {displayName: 'Service name', key: ['serviceName']}, + {displayName: 'Service UUID', key: ['serviceUUID']}, + {displayName: 'Tenant', key: ['tenantName']}, + {displayName: 'Region', key: ['lcpCloudRegionId']} + ]; + }; + + getNetworkTableContent = (): ITableContent[] => { + return [ + { + id: 'instanceName', + contents: [{ + id: ['name'], + value: ["instanceName"] + }] + }, + { + id: 'instanceType', + contents: [{ + id: ['type'], + value: ['instanceType'] + }] + }, + { + id: 'role', + contents: [{ + id: ['role'], + value: ['role'] + }] + }, + { + id: 'network-orch-status', + contents: [{ + id: ['orchStatus'], + value: ['orchStatus'] + }] + }, + { + id: 'network-physical-name', + contents: [{ + id: ['physicalName'], + value: ['physicalName'] + }] + }, + { + id: 'network-instance-id', + contents: [{ + id: ['instanceID'], + value: ['instanceId'] + }] + }, + { + id: 'network-model-uuid', + contents: [{ + id: ['modelUUID'], + value: ['modelInfo', 'modelVersionId'] + }] + }, + { + id: 'network-serviceName', + contents: [{ + id: ['serviceName'], + value: ['serviceName'] + }] + }, + { + id: 'network-service-id', + contents: [{ + id: ['serviceUUID'], + value: ['serviceUUID'] + }] + }, + { + id: 'network-tenantName', + contents: [{ + id: ['tenant'], + value: ['tenantName'] + }] + }, + { + id: 'network-region', + contents: [{ + id: ['region'], + value: ['lcpCloudRegionId'] + }] + } + ]; + }; + + sortElementsResultByField = (elements, fieldName): any[] => { + return _.sortBy(elements, o => o[fieldName]); + }; + + shouldAddNotAssigned = (networks): boolean => { + return _.values(networks).some(network => _.isNil(network.role) || network.role === ""); + }; +} diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vrf/vrfModal/vpnStep/vpn.step.model.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vrf/vrfModal/vpnStep/vpn.step.model.ts new file mode 100644 index 000000000..ea3c69690 --- /dev/null +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vrf/vrfModal/vpnStep/vpn.step.model.ts @@ -0,0 +1,17 @@ +export class VPNModalRow { + instanceId: string; + instanceName: string; + platformName: string; + instanceType: string; + region: string; + customerId: string; + modelInfo : { + modelCustomizationId: string; + modelInvariantId: string; + modelVersionId: string; + }; + routeTargets: { + "globalRouteTarget" : string, + "routeTargetRole" : string + }[]; +} diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vrf/vrfModal/vpnStep/vpn.step.service.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vrf/vrfModal/vpnStep/vpn.step.service.spec.ts new file mode 100644 index 000000000..b64b2f1b5 --- /dev/null +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vrf/vrfModal/vpnStep/vpn.step.service.spec.ts @@ -0,0 +1,463 @@ +import {NgRedux} from "@angular-redux/store"; +import {AppState} from "../../../../../../../shared/store/reducers"; +import {getTestBed, TestBed} from "@angular/core/testing"; +import {NgReduxTestingModule} from "@angular-redux/store/testing"; +import {HttpClientTestingModule} from "@angular/common/http/testing"; +import {FeatureFlagsService} from "../../../../../../../shared/services/featureFlag/feature-flags.service"; +import {AaiService} from "../../../../../../../shared/services/aaiService/aai.service"; +import {VpnStepService} from "./vpn.step.service"; +import {NetworkStepService} from "../networkStep/network.step.service"; +import {ITableContent} from "../../../../../../../shared/components/searchMembersModal/members-table/element-table-row.model"; +import {SearchElementsModalComponent} from "../../../../../../../shared/components/searchMembersModal/search-elements-modal.component"; +import {ElementsTableService} from "../../../../../../../shared/components/searchMembersModal/members-table/elements-table.service"; +import {DataFilterPipe} from "../../../../../../../shared/pipes/dataFilter/data-filter.pipe"; +import * as _ from "lodash"; + +describe('VPN step service', () => { + let injector; + let service: VpnStepService; + let memberTableService: ElementsTableService; + let store: NgRedux<AppState>; + beforeAll(done => (async () => { + TestBed.configureTestingModule({ + imports: [NgReduxTestingModule, HttpClientTestingModule], + providers: [ + VpnStepService, + NetworkStepService, + FeatureFlagsService, + AaiService, + ElementsTableService, + DataFilterPipe + ] + }); + await TestBed.compileComponents(); + injector = getTestBed(); + service = injector.get(VpnStepService); + store = injector.get(NgRedux); + memberTableService = injector.get(ElementsTableService); + })().then(done).catch(done.fail)); + + test('service should be defined', () => { + expect(service).toBeDefined(); + }); + + test('getVPNStepHeaders', () => { + let vpnHeaders = service.getVPNStepHeaders(); + expect(vpnHeaders).toEqual([ + {displayName: `VPN instance name`, key: ['instanceName']}, + {displayName: `Version`, key: ['modelInfo', 'modelVersionId']}, + {displayName: `Instance ID`, key: ['instanceId']}, + {displayName: `Platform`, key: ['platformName']}, + {displayName: 'Region', key: ['region']}, + {displayName: 'Route target', key: ['routeTargets', 'globalRouteTarget'], type: "LIST"}, + {displayName: 'Route target role', key: ['routeTargets', 'routeTargetRole'], type: "LIST"}, + {displayName: 'Customer VPN ID', key: ['customerId']}, + ]); + }); + + + test('vpnStep', () => { + spyOn(store, 'getState').and.returnValue({ + "global": { + "genericModalHelper": { + "selectedNetwork": { + "action": "None", + "instanceName": "NETWORK_1_INSTANCE_NAME", + "instanceId": "NETWORK_1_INSTANCE_ID", + "orchStatus": null, + "productFamilyId": null, + "lcpCloudRegionId": "hvf23b", + "tenantId": "3e9a20a3e89e45f884e09df0cc2d2d2a", + "tenantName": "APPC-24595-T-IST-02C", + "modelInfo": { + "modelInvariantId": "network-instance-model-invariant-id", + "modelVersionId": "7a6ee536-f052-46fa-aa7e-2fca9d674c44", + "modelVersion": "2.0", + "modelName": "vf_vEPDG", + "modelType": "vnf" + }, + "roles": ["network role 1", "network role 2"], + "instanceType": "NETWORK_1_INSTANCE_TYPE", + "provStatus": null, + "inMaint": false, + "uuid": "7a6ee536-f052-46fa-aa7e-2fca9d674c44", + "originalName": null, + "legacyRegion": null, + "lineOfBusiness": null, + "platformName": null, + "trackById": "VNF1_INSTANCE_ID", + "serviceInstanceId": "service-instance-id1", + "serviceInstanceName": "service-instance-name", + "isSelected": true + }, + "selectedVpn": { + "vpn-id": "120d39fb-3627-473d-913c-d228dd0f8e5b", + "vpn-name": "LPPVPN", + "vpn-platform": "AVPN", + "vpn-type": "SERVICE-INFRASTRUCTURE", + "vpn-region": "USA,EMEA", + "customer-vpn-id": "VPN1260", + "model-customization-id": null, + "model-invariant-id": null, + "model-version-id": null, + "route-targets": null, + "isSelected": true + } + }, + }, "service": {} + }); + const networkStep = service.getVpnStep( + "f028b2e2-7080-4b13-91b2-94944d4c42d8", + <any>{ + data: { + children: [], + componentInfoType: "VRF", + count: 0, + disabled: false, + id: "dd024d73-9bd1-425d-9db5-476338d53433", + isEcompGeneratedNaming: false, + max: 1, + modelCustomizationId: "dd024d73-9bd1-425d-9db5-476338d53433", + modelUniqueId: "dd024d73-9bd1-425d-9db5-476338d53433", + modelVersionId: "9cac02be-2489-4374-888d-2863b4511a59", + name: "VRF Entry Configuration 0", + tooltip: "VRF", + type: "VRF", + typeName: "VRF" + } + }); + + expect(networkStep.type).toEqual('VPN'); + expect(networkStep.title).toEqual('Associate VPN'); + expect(networkStep.description).toEqual('Select a VPN to associate to the VRF Entry'); + expect(networkStep.noElementsMsg).toEqual('No VPN instances were found.'); + expect(networkStep.maxSelectRow).toEqual(1); + expect(networkStep.uniqObjectField).toEqual('instanceId'); + expect(networkStep.topButton.text).toEqual('SET VPN'); + expect(networkStep.criteria).toHaveLength(0); + + }); + + test('getsVPNStepSearchFields', () => { + const networkStepSearchFields = service.getsVPNStepSearchFields(); + expect(networkStepSearchFields[0].value).toEqual("SERVICE-INFRASTRUCTURE"); + }); + + test('getVpnStepHeaders should return the correct headers for vpn popup', () => { + let headers = service.getVPNStepHeaders(); + expect(headers[0].displayName).toEqual('VPN instance name'); + expect(headers[0].key).toEqual(['instanceName']); + + expect(headers[1].displayName).toEqual('Version'); + expect(headers[1].key).toEqual(['modelInfo', 'modelVersionId']); + + expect(headers[2].displayName).toEqual('Instance ID'); + expect(headers[2].key).toEqual(['instanceId']); + + expect(headers[3].displayName).toEqual('Platform'); + expect(headers[3].key).toEqual(['platformName']); + + expect(headers[4].displayName).toEqual('Region'); + expect(headers[4].key).toEqual(['region']); + + expect(headers[5].displayName).toEqual('Route target'); + expect(headers[5].key).toEqual(['routeTargets', 'globalRouteTarget']); + + expect(headers[6].displayName).toEqual('Route target role'); + expect(headers[6].key).toEqual(['routeTargets', 'routeTargetRole']); + + expect(headers[7].displayName).toEqual('Customer VPN ID'); + expect(headers[7].key).toEqual(['customerId']); + + }); + + test('getElementsFirstStep should return sort vpns by name', () => { + let vpns = [ + {"name": "B"}, + {"name": "A"}, + {"name": "D"}, + {"name": "C"}, + {"name": "E"} + ]; + + let sortedNetworkByInstanceName = service.sortElementsResultByField(vpns, "name"); + expect(sortedNetworkByInstanceName).toEqual([ + {"name": "A"}, + {"name": "B"}, + {"name": "C"}, + {"name": "D"}, + {"name": "E"} + ]) + }); + + test('getVpnTableContent', () => { + let tableContent: ITableContent[] = service.getVPNTableContent(); + expect(tableContent).toEqual( + [ + { + id: 'vpn-name', + contents: [{ + id: ['vpn-name'], + value: ['instanceName'] + }] + }, + { + id: 'model-version-id', + contents: [{ + id: ['model-version-id'], + value: ['modelInfo', 'modelVersionId'] + }] + }, + { + id: 'vpn-id', + contents: [{ + id: ['vpn-id'], + value: ['instanceId'] + }] + }, + { + id: 'vpn-platform', + contents: [{ + id: ['vpn-platform'], + value: ['platformName'] + }] + }, + { + id: 'vpn-region', + contents: [{ + id: ['vpn-region'], + value: ['region'] + }] + }, + { + id: 'global-route-target', + contents: [{ + id: ['global-route-target'], + value: ['routeTargets', 'globalRouteTarget'], + type: 'LIST' + }] + }, + { + id: 'route-target-role', + contents: [{ + id: ['route-target-role'], + value: ['routeTargets', 'routeTargetRole'], + type: 'LIST' + }] + }, + { + id: 'customer-vpn-id', + contents: [{ + id: ['customer-vpn-id'], + value: ['customerId'] + }] + } + ] + ) + }); + + test('associateVrfNetworkMember', () => { + const vrfStoreKey: string = 'vrfStoreKey'; + const serviceModelId: string = 'serviceModelId'; + const reduxState = { + "global": { + "genericModalHelper": { + "selectedNetwork": { + "10a74149-c9d7-4918-bbcf-d5fb9b1799ce": true + } + } + } + }; + spyOn(store, 'dispatch'); + spyOn(store, 'getState').and.returnValue(reduxState); + let searchElementsModalComponent = new SearchElementsModalComponent(null, null, null, null, null); + + searchElementsModalComponent.modalInformation = <any>{ + serviceModelId: serviceModelId + }; + service.associateVrfNetworkMember(searchElementsModalComponent, vrfStoreKey); + expect(store.dispatch).toHaveBeenCalledTimes(Object.keys(reduxState.global.genericModalHelper.selectedNetwork).length); + }); + + test('associateVrfVPNMember', () => { + const vrfStoreKey: string = 'vrfStoreKey'; + const serviceModelId: string = 'serviceModelId'; + const members = { + "120d39fb-3627-473d-913c-d228dd0f8e5b": { + "instanceId": "120d39fb-3627-473d-913c-d228dd0f8e5b", + "instanceName": "LPPVPN", + "platformName": "AVPN", + "instanceType": "SERVICE-INFRASTRUCTURE", + "region": "USA,EMEA", + "customerId": "VPN1260", + "modelInfo": { + "modelCustomizationId": null, + "modelInvariantId": null, + "modelVersionId": null, + }, + "routeTargets": [ + { + "globalRouteTarget": "globalRouteTarget_1", + "routeTargetRole": "routeTargetRole_1" + }, + { + "globalRouteTarget": "globalRouteTarget_2", + "routeTargetRole": "routeTargetRole_2" + }, + { + "globalRouteTarget": "globalRouteTarget_3", + "routeTargetRole": "routeTargetRole_3" + } + ], + "isSelected": true + }, + "c70391f3-a6e3-4874-9834-cbe12d7bf8b6": { + "instanceId": "c70391f3-a6e3-4874-9834-cbe12d7bf8b6", + "instanceName": "LPPVPN", + "platformName": "AVPN", + "instanceType": "SERVICE-INFRASTRUCTURE", + "region": "USA,EMEA", + "customerId": "VPN1274", + "modelInfo": { + "modelCustomizationId": null, + "modelInvariantId": null, + "modelVersionId": null + }, + "routeTargets": null, + "isSelected": false + }, + "4776516b-7da2-446c-9ba7-47ca8c30c571": { + "instanceId": "4776516b-7da2-446c-9ba7-47ca8c30c571", + "instanceName": "LPPVPN", + "platformName": "AVPN", + "instanceType": "SERVICE-INFRASTRUCTURE", + "region": "USA,EMEA", + "customerId": "VPN1275", + "modelInfo": { + "modelCustomizationId": null, + "modelInvariantId": null, + "modelVersionId": null + }, + + "routeTargets": null, + "isSelected": false + }, + "46fcb25a-e7ba-4d96-99ba-3bb6eae6aba7": { + "instanceId": "46fcb25a-e7ba-4d96-99ba-3bb6eae6aba7", + "instanceName": "LPPVPN", + "platformName": "AVPN", + "instanceType": "SERVICE-INFRASTRUCTURE", + "region": "USA,EMEA", + "customerId": "VPN1271", + "modelInfo": { + "modelCustomizationId": null, + "modelInvariantId": null, + "modelVersionId": null, + }, + "routeTargets": null, + "isSelected": false + }, + "ffefbe38-3087-418a-87ae-f6582a15be78": { + "instanceId": "ffefbe38-3087-418a-87ae-f6582a15be78", + "instanceName": "LPPVPN", + "platformName": "AVPN", + "instanceType": "SERVICE-INFRASTRUCTURE", + "region": "USA,EMEA", + "customerId": "VPN1272", + "modelInfo": { + "modelCustomizationId": null, + "modelInvariantId": null, + "modelVersionId": null, + }, + "routeTargets": null, + "isSelected": false + }, + "961d05be-ee41-40a2-8653-f603fc495175": { + "id": "961d05be-ee41-40a2-8653-f603fc495175", + "name": "LPPVPN", + "platform": "AVPN", + "type": "SERVICE-INFRASTRUCTURE", + "region": "USA,EMEA", + "customerId": "VPN1273", + "modelCustomizationId": null, + "modelInvariantId": null, + "modelVersionId": null, + "routeTargets": null, + "isSelected": false + }, + "14bcfc2f-bbee-4fd9-89a5-42eb5dbb08d5": { + "instanceId": "14bcfc2f-bbee-4fd9-89a5-42eb5dbb08d5", + "instanceName": "LPPVPN", + "platformName": "AVPN", + "instanceType": "SERVICE-INFRASTRUCTURE", + "region": "USA,EMEA", + "customerId": "913443", + "modelInfo": { + "modelCustomizationId": null, + "modelInvariantId": null, + "modelVersionId": null, + }, + "routeTargets": null, + "isSelected": false + }, + "89d4c968-158c-4722-a22c-c5c2ccc17fd5": { + "instanceId": "89d4c968-158c-4722-a22c-c5c2ccc17fd5", + "instanceName": "LPPVPN", + "platformName": "AVPN", + "instanceType": "SERVICE-INFRASTRUCTURE", + "region": "USA,EMEA", + "customerId": "VPN1276", + "modelInfo": { + "modelCustomizationId": null, + "modelInvariantId": null, + "modelVersionId": null, + }, + "routeTargets": null, + "isSelected": false + }, + "3e7834fb-a8e0-4243-a837-5352ccab4602": { + "instanceId": "3e7834fb-a8e0-4243-a837-5352ccab4602", + "instanceName": "LPPVPN", + "platformName": "AVPN", + "instanceType": "SERVICE-INFRASTRUCTURE", + "region": "USA,EMEA", + "customerId": "VPN1259", + "modelInfo": { + "modelCustomizationId": null, + "modelInvariantId": null, + "modelVersionId": null, + }, + "routeTargets": null, + "isSelected": false + }, + "844a1ea7-556a-4e49-8aa3-171f1db4ea02": { + "instanceId": "844a1ea7-556a-4e49-8aa3-171f1db4ea02", + "instanceName": "LPPVPN", + "platformName": "AVPN", + "instanceType": "SERVICE-INFRASTRUCTURE", + "region": "USA,EMEA", + "customerId": "VPN1277", + "modelInfo": { + "modelCustomizationId": null, + "modelInvariantId": null, + "modelVersionId": null, + }, + "routeTargets": null, + "isSelected": false + } + }; + spyOn(store, 'dispatch'); + memberTableService.allElementsStatusMap = <any>members; + let searchElementsModalComponent = new SearchElementsModalComponent(null, null, null, memberTableService, null); + + searchElementsModalComponent.modalInformation = <any>{ + modalInformation: { + serviceModelId: serviceModelId + } + }; + + let memberArr = _.values(members); + service.associateVrfVPNMember(searchElementsModalComponent, vrfStoreKey); + expect(store.dispatch).toHaveBeenCalledTimes(memberArr.filter((item) => item.isSelected).length * 2); + }); +}); diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vrf/vrfModal/vpnStep/vpn.step.service.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vrf/vrfModal/vpnStep/vpn.step.service.ts new file mode 100644 index 000000000..5523cf1ff --- /dev/null +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vrf/vrfModal/vpnStep/vpn.step.service.ts @@ -0,0 +1,195 @@ +import {Injectable} from "@angular/core"; +import {NgRedux} from "@angular-redux/store"; +import {AppState} from "../../../../../../../shared/store/reducers"; +import {AaiService} from "../../../../../../../shared/services/aaiService/aai.service"; +import { + ISearchField, + ITableContent, + ModalInformation +} from "../../../../../../../shared/components/searchMembersModal/members-table/element-table-row.model"; +import {ElementsTableService} from "../../../../../../../shared/components/searchMembersModal/members-table/elements-table.service"; +import { + clearAllGenericModalhelper, + updateGenericModalhelper +} from "../../../../../../../shared/storeUtil/utils/global/global.actions"; +import {Observable} from "rxjs"; +import {CustomTableColumnDefinition} from "../../../../../../../shared/components/searchMembersModal/members-table/elements-table.component"; +import {VPNModalRow} from "./vpn.step.model"; +import {NetworkStepService} from "../networkStep/network.step.service"; +import * as _ from "lodash"; +import { + associateVRFMember, + clearAssociateVRFMemberInstance, + createVrfInstance +} from "../../../../../../../shared/storeUtil/utils/vrf/vrf.actions"; +import {calculateNextUniqueModelName} from "../../../../../../../shared/storeUtil/utils/vnf/vnf.reducers"; + +@Injectable() +export class VpnStepService { + constructor(private _store: NgRedux<AppState>, private _aaiService: AaiService, private _networkStepService: NetworkStepService) { + } + + uniqObjectField: string = "instanceId"; + type: string = "VPN"; + + getVpnStep = (serviceInstance, serviceModelId, ...otherSteps): ModalInformation => { + return { + type: this.type, + serviceModelId: serviceModelId, + title: 'Associate VPN', + description: 'Select a VPN to associate to the VRF Entry', + noElementsMsg: 'No VPN instances were found.', + maxSelectRow: 1, + uniqObjectField: this.uniqObjectField, + backAction: (searchElementsModalComponent) => { + ElementsTableService.changeModalInformationDataTrigger.next({ + modalInformation: otherSteps[1].getNetworkStep(serviceInstance, searchElementsModalComponent.modalInformation.serviceModelId, ...otherSteps), + selectedRowsIds: [this._store.getState().global.genericModalHelper.selectedNetwork.instanceUUID] + }); + }, + topButton: { + text: 'SET VPN', + action: (searchElementsModalComponent) => { + let currentVRF = this._store.getState().global.genericModalHelper['currentVRF']; + const vrfStoreKey: string = _.isNil(currentVRF['vrfStoreKey']) + ? calculateNextUniqueModelName(currentVRF['model']['name'], searchElementsModalComponent.modalInformation.serviceModelId, this._store.getState().service, 'vrfs') + : currentVRF['vrfStoreKey']; + + + if (_.isNil(currentVRF['vrfStoreKey'])) { + this._store.dispatch(createVrfInstance(currentVRF['model'], serviceModelId, vrfStoreKey)); + } else { + this._store.dispatch(clearAssociateVRFMemberInstance(vrfStoreKey, serviceModelId, 'networks')); + this._store.dispatch(clearAssociateVRFMemberInstance(vrfStoreKey, serviceModelId, 'vpns')); + } + + this.associateVrfVPNMember(searchElementsModalComponent, vrfStoreKey); + this.associateVrfNetworkMember(searchElementsModalComponent, vrfStoreKey); + + this._store.dispatch(clearAllGenericModalhelper()); + searchElementsModalComponent.closeDialog(); + } + }, + getElements: () => this.getVPNs(), + criteria: [], + searchFields: this.getsVPNStepSearchFields(), + tableHeaders: this.getVPNStepHeaders(), + tableContent: this.getVPNTableContent() + }; + }; + + getVPNs = (): Observable<any[]> => { + return this._aaiService.retrieveActiveVPNs().map((vpns: VPNModalRow[]) => { + return this.sortElementsResultByField(vpns, "instanceName"); + }); + }; + + sortElementsResultByField = (elements, fieldName): any[] => { + return _.sortBy(elements, o => o[fieldName]); + }; + + associateVrfVPNMember = (searchElementsModalComponent, vrfStoreKey): void => { + let tmpMembers = searchElementsModalComponent._membersTableService.allElementsStatusMap; + for (let key in tmpMembers) { + if (tmpMembers[key].isSelected) { + this._store.dispatch(updateGenericModalhelper(`selected${this.type}`, tmpMembers[key], this.uniqObjectField)); + this._store.dispatch(associateVRFMember(vrfStoreKey, searchElementsModalComponent.modalInformation.serviceModelId, tmpMembers[key], 'vpns')); + } + } + }; + + associateVrfNetworkMember = (searchElementsModalComponent, vrfStoreKey): void => { + let selectedNetworks = this._store.getState().global.genericModalHelper['selectedNetwork']; + for (let key in selectedNetworks) { + this._store.dispatch(associateVRFMember(vrfStoreKey, searchElementsModalComponent.modalInformation.serviceModelId, selectedNetworks[key], 'networks')); + } + }; + + getsVPNStepSearchFields = (): ISearchField[] => { + return [ + { + title: 'Type ', + dataTestId: 'Type', + value: "SERVICE-INFRASTRUCTURE", + type: "LABEL" + } + ] + }; + + getVPNStepHeaders = (): CustomTableColumnDefinition[] => { + return [ + {displayName: `VPN instance name`, key: ['instanceName']}, + {displayName: `Version`, key: ['modelInfo', 'modelVersionId']}, + {displayName: `Instance ID`, key: ['instanceId']}, + {displayName: `Platform`, key: ['platformName']}, + {displayName: 'Region', key: ['region']}, + {displayName: 'Route target', key: ['routeTargets', 'globalRouteTarget'], type: 'LIST'}, + {displayName: 'Route target role', key: ['routeTargets', 'routeTargetRole'], type: 'LIST'}, + {displayName: 'Customer VPN ID', key: ['customerId']}, + ]; + }; + + getVPNTableContent = (): ITableContent[] => { + return [ + { + id: 'vpn-name', + contents: [{ + id: ['vpn-name'], + value: ['instanceName'] + }] + }, + { + id: 'model-version-id', + contents: [{ + id: ['model-version-id'], + value: ['modelInfo', 'modelVersionId'] + }] + }, + { + id: 'vpn-id', + contents: [{ + id: ['vpn-id'], + value: ['instanceId'] + }] + }, + { + id: 'vpn-platform', + contents: [{ + id: ['vpn-platform'], + value: ['platformName'] + }] + }, + { + id: 'vpn-region', + contents: [{ + id: ['vpn-region'], + value: ['region'] + }] + }, + { + id: 'global-route-target', + contents: [{ + id: ['global-route-target'], + value: ['routeTargets', 'globalRouteTarget'], + type: 'LIST' + }] + }, + { + id: 'route-target-role', + contents: [{ + id: ['route-target-role'], + value: ['routeTargets', 'routeTargetRole'], + type: 'LIST' + }] + }, + { + id: 'customer-vpn-id', + contents: [{ + id: ['customer-vpn-id'], + value: ['customerId'] + }] + } + ]; + }; + +} diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToInstanceTree/objectToInstanceTree.service.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToInstanceTree/objectToInstanceTree.service.spec.ts index fd39ed92a..d3f04fe66 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToInstanceTree/objectToInstanceTree.service.spec.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToInstanceTree/objectToInstanceTree.service.spec.ts @@ -30,6 +30,8 @@ import {DuplicateService} from "../../duplicate/duplicate.service"; import {SdcUiComponentsModule, SdcUiServices} from "onap-ui-angular"; import {ErrorMsgService} from "../../../../shared/components/error-msg/error-msg.service"; import {ComponentInfoService} from "../../component-info/component-info.service"; +import {NetworkStepService} from "../models/vrf/vrfModal/networkStep/network.step.service"; +import {VpnStepService} from "../models/vrf/vrfModal/vpnStep/vpn.step.service"; class MockAppStore<T> { getState() { @@ -81,6 +83,8 @@ describe('Model Tree Generator service', () => { ErrorMsgService, ComponentInfoService, SdcUiServices.ModalService, + NetworkStepService, + VpnStepService, { provide: NgRedux, useClass: MockAppStore }, MockNgRedux] }); @@ -106,14 +110,18 @@ describe('Model Tree Generator service', () => { delete convertToNodes[0].trackById; delete convertToNodes[0].updatePoistionFunction; delete convertToNodes[0].position; - delete convertToNodes[0].onSelectedNode; + delete convertToNodes[0].getInfo; + delete convertToNodes[0].componentInfoType; + delete convertToNodes[0].getModel; delete convertToNodes[1].children[0].isFailed; delete convertToNodes[1].children[0].menuActions; delete convertToNodes[1].children[0].trackById; delete convertToNodes[1].children[0].errors; delete convertToNodes[1].children[0].updatePoistionFunction; delete convertToNodes[1].children[0].position; - delete convertToNodes[1].children[0].onSelectedNode; + delete convertToNodes[1].children[0].getInfo; + delete convertToNodes[1].children[0].getModel; + delete convertToNodes[1].children[0].componentInfoType; expect(Object.assign({}, convertToNodes[0])).toEqual(Object.assign({}, expectInstanceNodesResultVNF()[0])); expect(Object.assign({}, convertToNodes[1].children[0])).toEqual(Object.assign({}, expectInstanceNodesResultVNF()[1].children[0])); expect(convertToNodes[1].inMaint).toBeFalsy(); @@ -131,7 +139,9 @@ describe('Model Tree Generator service', () => { delete convertToNodes[1].isFailed; delete convertToNodes[1].updatePoistionFunction; delete convertToNodes[1].position; - delete convertToNodes[1].onSelectedNode; + delete convertToNodes[1].getModel; + delete convertToNodes[1].getInfo; + delete convertToNodes[1].componentInfoType; expect(Object.assign({}, convertToNodes[0].children[0].dynamicInputs)).toEqual(Object.assign({}, expectInstanceNodesResultVNF_Network()[0]['children'][0].dynamicInputs)); expect(Object.assign({}, convertToNodes[0].children[0].missingData)).toEqual(Object.assign({}, expectInstanceNodesResultVNF_Network()[0]['children'][0].missingData)); expect(Object.assign({}, convertToNodes[1])).toEqual(Object.assign({}, expectInstanceNodesResultVNF_Network()[1])); @@ -154,7 +164,7 @@ describe('Model Tree Generator service', () => { "serviceEcompNaming": "false", "instantiationType": "Macro", "inputs": { - "2017488_adiodvpe0_ASN": { + "2017488_pasqualevpe0_ASN": { "type": "string", "description": "AV/PE", "entry_schema": null, @@ -170,11 +180,11 @@ describe('Model Tree Generator service', () => { } }, "vnfs": { - "2017-388_ADIOD-vPE 1": { + "2017-388_PASQUALE-vPE 1": { "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413", "invariantUuid": "00beb8f9-6d39-452f-816d-c709b9cbb87d", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-388_ADIOD-vPE", + "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", + "name": "2017-388_PASQUALE-vPE", "version": "1.0", "customizationUuid": "280dec31-f16d-488b-9668-4aae55d6648a", "inputs": { @@ -237,37 +247,37 @@ describe('Model Tree Generator service', () => { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, "bandwidth": { "displayName": "bandwidth", "command": "get_input", - "inputName": "adiodvpe0_bandwidth" + "inputName": "pasqualevpe0_bandwidth" }, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, "ASN": { "displayName": "ASN", "command": "get_input", - "inputName": "2017488_adiodvpe0_ASN" + "inputName": "2017488_pasqualevpe0_ASN" }, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -312,7 +322,7 @@ describe('Model Tree Generator service', () => { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -320,14 +330,14 @@ describe('Model Tree Generator service', () => { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -337,7 +347,7 @@ describe('Model Tree Generator service', () => { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -351,16 +361,16 @@ describe('Model Tree Generator service', () => { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-388_ADIOD-vPE 1", + "modelCustomizationName": "2017-388_PASQUALE-vPE 1", "vfModules": {}, "volumeGroups": {}, "vfcInstanceGroups": {} }, - "2017-388_ADIOD-vPE 0": { + "2017-388_PASQUALE-vPE 0": { "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168", "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-388_ADIOD-vPE", + "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", + "name": "2017-388_PASQUALE-vPE", "version": "4.0", "customizationUuid": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c", "inputs": { @@ -423,37 +433,37 @@ describe('Model Tree Generator service', () => { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, "bandwidth": { "displayName": "bandwidth", "command": "get_input", - "inputName": "adiodvpe0_bandwidth" + "inputName": "pasqualevpe0_bandwidth" }, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, "ASN": { "displayName": "ASN", "command": "get_input", - "inputName": "2017488_adiodvpe0_ASN" + "inputName": "2017488_pasqualevpe0_ASN" }, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -499,7 +509,7 @@ describe('Model Tree Generator service', () => { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -507,14 +517,14 @@ describe('Model Tree Generator service', () => { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -524,7 +534,7 @@ describe('Model Tree Generator service', () => { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -538,16 +548,16 @@ describe('Model Tree Generator service', () => { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-388_ADIOD-vPE 0", + "modelCustomizationName": "2017-388_PASQUALE-vPE 0", "vfModules": {}, "volumeGroups": {}, "vfcInstanceGroups": {} }, - "2017-488_ADIOD-vPE 0": { + "2017-488_PASQUALE-vPE 0": { "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09", "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-488_ADIOD-vPE", + "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", + "name": "2017-488_PASQUALE-vPE", "version": "5.0", "customizationUuid": "1da7b585-5e61-4993-b95e-8e6606c81e45", "inputs": { @@ -610,37 +620,37 @@ describe('Model Tree Generator service', () => { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, "bandwidth": { "displayName": "bandwidth", "command": "get_input", - "inputName": "adiodvpe0_bandwidth" + "inputName": "pasqualevpe0_bandwidth" }, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, "ASN": { "displayName": "ASN", "command": "get_input", - "inputName": "2017488_adiodvpe0_ASN" + "inputName": "2017488_pasqualevpe0_ASN" }, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -687,7 +697,7 @@ describe('Model Tree Generator service', () => { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -695,14 +705,14 @@ describe('Model Tree Generator service', () => { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -712,7 +722,7 @@ describe('Model Tree Generator service', () => { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -726,21 +736,21 @@ describe('Model Tree Generator service', () => { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-488_ADIOD-vPE 0", + "modelCustomizationName": "2017-488_PASQUALE-vPE 0", "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "baseModule": false }, "inputs": { @@ -750,10 +760,10 @@ describe('Model Tree Generator service', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, - "fromInputName": "2017488_adiodvpe0_vnf_config_template_version", + "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", "constraints": null, "required": true, "default": "17.2" @@ -764,10 +774,10 @@ describe('Model Tree Generator service', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, - "fromInputName": "adiodvpe0_bandwidth_units", + "fromInputName": "pasqualevpe0_bandwidth_units", "constraints": null, "required": true, "default": "Gbps" @@ -778,10 +788,10 @@ describe('Model Tree Generator service', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, - "fromInputName": "adiodvpe0_bandwidth", + "fromInputName": "pasqualevpe0_bandwidth", "constraints": null, "required": true, "default": "10" @@ -792,10 +802,10 @@ describe('Model Tree Generator service', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, - "fromInputName": "2017488_adiodvpe0_AIC_CLLI", + "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", "constraints": null, "required": true, "default": "ATLMY8GA" @@ -806,10 +816,10 @@ describe('Model Tree Generator service', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, - "fromInputName": "2017488_adiodvpe0_vnf_instance_name", + "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", "constraints": null, "required": true, "default": "mtnj309me6" @@ -817,37 +827,37 @@ describe('Model Tree Generator service', () => { }, "volumeGroupAllowed": true }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db", "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091", "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", "description": null, - "name": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "version": "5", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "ADIOD_base_vPE_BV", + "vfModuleLabel": "PASQUALE_base_vPE_BV", "baseModule": true }, "inputs": {}, "volumeGroupAllowed": false }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV", + "vfModuleLabel": "PASQUALE_vPFE_BV", "baseModule": false }, "inputs": {}, @@ -855,19 +865,19 @@ describe('Model Tree Generator service', () => { } }, "volumeGroups": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "baseModule": false }, "inputs": { @@ -877,10 +887,10 @@ describe('Model Tree Generator service', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, - "fromInputName": "2017488_adiodvpe0_vnf_config_template_version", + "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", "constraints": null, "required": true, "default": "17.2" @@ -891,10 +901,10 @@ describe('Model Tree Generator service', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, - "fromInputName": "adiodvpe0_bandwidth_units", + "fromInputName": "pasqualevpe0_bandwidth_units", "constraints": null, "required": true, "default": "Gbps" @@ -905,10 +915,10 @@ describe('Model Tree Generator service', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, - "fromInputName": "adiodvpe0_bandwidth", + "fromInputName": "pasqualevpe0_bandwidth", "constraints": null, "required": true, "default": "10" @@ -919,10 +929,10 @@ describe('Model Tree Generator service', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, - "fromInputName": "2017488_adiodvpe0_AIC_CLLI", + "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", "constraints": null, "required": true, "default": "ATLMY8GA" @@ -933,29 +943,29 @@ describe('Model Tree Generator service', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, - "fromInputName": "2017488_adiodvpe0_vnf_instance_name", + "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", "constraints": null, "required": true, "default": "mtnj309me6" } } }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV", + "vfModuleLabel": "PASQUALE_vPFE_BV", "baseModule": false }, "inputs": {} @@ -965,24 +975,24 @@ describe('Model Tree Generator service', () => { } }, "networks": {}, - "collectionResource": {}, + "collectionResources": {}, "configurations": {}, "fabricConfigurations": {}, "serviceProxies": {}, "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "baseModule": false }, "inputs": { @@ -992,10 +1002,10 @@ describe('Model Tree Generator service', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, - "fromInputName": "2017488_adiodvpe0_vnf_config_template_version", + "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", "constraints": null, "required": true, "default": "17.2" @@ -1006,10 +1016,10 @@ describe('Model Tree Generator service', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, - "fromInputName": "adiodvpe0_bandwidth_units", + "fromInputName": "pasqualevpe0_bandwidth_units", "constraints": null, "required": true, "default": "Gbps" @@ -1020,10 +1030,10 @@ describe('Model Tree Generator service', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, - "fromInputName": "adiodvpe0_bandwidth", + "fromInputName": "pasqualevpe0_bandwidth", "constraints": null, "required": true, "default": "10" @@ -1034,10 +1044,10 @@ describe('Model Tree Generator service', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, - "fromInputName": "2017488_adiodvpe0_AIC_CLLI", + "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", "constraints": null, "required": true, "default": "ATLMY8GA" @@ -1048,10 +1058,10 @@ describe('Model Tree Generator service', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, - "fromInputName": "2017488_adiodvpe0_vnf_instance_name", + "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", "constraints": null, "required": true, "default": "mtnj309me6" @@ -1059,37 +1069,37 @@ describe('Model Tree Generator service', () => { }, "volumeGroupAllowed": true }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db", "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091", "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", "description": null, - "name": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "version": "5", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "ADIOD_base_vPE_BV", + "vfModuleLabel": "PASQUALE_base_vPE_BV", "baseModule": true }, "inputs": {}, "volumeGroupAllowed": false }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV", + "vfModuleLabel": "PASQUALE_vPFE_BV", "baseModule": false }, "inputs": {}, @@ -1097,19 +1107,19 @@ describe('Model Tree Generator service', () => { } }, "volumeGroups": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "baseModule": false }, "inputs": { @@ -1119,10 +1129,10 @@ describe('Model Tree Generator service', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, - "fromInputName": "2017488_adiodvpe0_vnf_config_template_version", + "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", "constraints": null, "required": true, "default": "17.2" @@ -1133,10 +1143,10 @@ describe('Model Tree Generator service', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, - "fromInputName": "adiodvpe0_bandwidth_units", + "fromInputName": "pasqualevpe0_bandwidth_units", "constraints": null, "required": true, "default": "Gbps" @@ -1147,10 +1157,10 @@ describe('Model Tree Generator service', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, - "fromInputName": "adiodvpe0_bandwidth", + "fromInputName": "pasqualevpe0_bandwidth", "constraints": null, "required": true, "default": "10" @@ -1161,10 +1171,10 @@ describe('Model Tree Generator service', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, - "fromInputName": "2017488_adiodvpe0_AIC_CLLI", + "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", "constraints": null, "required": true, "default": "ATLMY8GA" @@ -1175,29 +1185,29 @@ describe('Model Tree Generator service', () => { "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, - "fromInputName": "2017488_adiodvpe0_vnf_instance_name", + "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", "constraints": null, "required": true, "default": "mtnj309me6" } } }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV", + "vfModuleLabel": "PASQUALE_vPFE_BV", "baseModule": false }, "inputs": {} @@ -1222,7 +1232,7 @@ describe('Model Tree Generator service', () => { "serviceEcompNaming": "false", "instantiationType": "A-La-Carte", "inputs": { - "2017488_adiodvpe0_ASN": { + "2017488_pasqualevpe0_ASN": { "type": "string", "description": "AV/PE", "entry_schema": null, @@ -1234,11 +1244,11 @@ describe('Model Tree Generator service', () => { } }, "vnfs": { - "2017-388_ADIOD-vPE 1": { + "2017-388_PASQUALE-vPE 1": { "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413", "invariantUuid": "00beb8f9-6d39-452f-816d-c709b9cbb87d", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-388_ADIOD-vPE", + "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", + "name": "2017-388_PASQUALE-vPE", "version": "1.0", "customizationUuid": "280dec31-f16d-488b-9668-4aae55d6648a", "inputs": { @@ -1301,37 +1311,37 @@ describe('Model Tree Generator service', () => { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, "bandwidth": { "displayName": "bandwidth", "command": "get_input", - "inputName": "adiodvpe0_bandwidth" + "inputName": "pasqualevpe0_bandwidth" }, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, "ASN": { "displayName": "ASN", "command": "get_input", - "inputName": "2017488_adiodvpe0_ASN" + "inputName": "2017488_pasqualevpe0_ASN" }, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -1376,7 +1386,7 @@ describe('Model Tree Generator service', () => { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -1384,14 +1394,14 @@ describe('Model Tree Generator service', () => { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -1401,7 +1411,7 @@ describe('Model Tree Generator service', () => { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -1416,16 +1426,16 @@ describe('Model Tree Generator service', () => { "max_instances": 5 }, "type": "VF", - "modelCustomizationName": "2017-388_ADIOD-vPE 1", + "modelCustomizationName": "2017-388_PASQUALE-vPE 1", "vfModules": {}, "volumeGroups": {}, "vfcInstanceGroups": {} }, - "2017-388_ADIOD-vPE 0": { + "2017-388_PASQUALE-vPE 0": { "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168", "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-388_ADIOD-vPE", + "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", + "name": "2017-388_PASQUALE-vPE", "version": "4.0", "customizationUuid": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c", "inputs": { @@ -1488,37 +1498,37 @@ describe('Model Tree Generator service', () => { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, "bandwidth": { "displayName": "bandwidth", "command": "get_input", - "inputName": "adiodvpe0_bandwidth" + "inputName": "pasqualevpe0_bandwidth" }, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, "ASN": { "displayName": "ASN", "command": "get_input", - "inputName": "2017488_adiodvpe0_ASN" + "inputName": "2017488_pasqualevpe0_ASN" }, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -1564,7 +1574,7 @@ describe('Model Tree Generator service', () => { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -1572,14 +1582,14 @@ describe('Model Tree Generator service', () => { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -1589,7 +1599,7 @@ describe('Model Tree Generator service', () => { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -1603,16 +1613,16 @@ describe('Model Tree Generator service', () => { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-388_ADIOD-vPE 0", + "modelCustomizationName": "2017-388_PASQUALE-vPE 0", "vfModules": {}, "volumeGroups": {}, "vfcInstanceGroups": {} }, - "2017-488_ADIOD-vPE 0": { + "2017-488_PASQUALE-vPE 0": { "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09", "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-488_ADIOD-vPE", + "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", + "name": "2017-488_PASQUALE-vPE", "version": "5.0", "customizationUuid": "1da7b585-5e61-4993-b95e-8e6606c81e45", "inputs": { @@ -1675,37 +1685,37 @@ describe('Model Tree Generator service', () => { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, "bandwidth": { "displayName": "bandwidth", "command": "get_input", - "inputName": "adiodvpe0_bandwidth" + "inputName": "pasqualevpe0_bandwidth" }, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, "ASN": { "displayName": "ASN", "command": "get_input", - "inputName": "2017488_adiodvpe0_ASN" + "inputName": "2017488_pasqualevpe0_ASN" }, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -1752,7 +1762,7 @@ describe('Model Tree Generator service', () => { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -1760,14 +1770,14 @@ describe('Model Tree Generator service', () => { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -1777,7 +1787,7 @@ describe('Model Tree Generator service', () => { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -1791,82 +1801,82 @@ describe('Model Tree Generator service', () => { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-488_ADIOD-vPE 0", + "modelCustomizationName": "2017-488_PASQUALE-vPE 0", "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV" + "vfModuleLabel": "PASQUALE_vRE_BV" }, "inputs": { - "adiodvpe0_bandwidth": { + "pasqualevpe0_bandwidth": { "type": "string", "description": "Requested VPE bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, "constraints": null, "required": true, "default": "10" }, - "2017488_adiodvpe0_vnf_instance_name": { + "2017488_pasqualevpe0_vnf_instance_name": { "type": "string", "description": "The hostname assigned to the vpe.", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, "constraints": null, "required": true, "default": "mtnj309me6" }, - "2017488_adiodvpe0_vnf_config_template_version": { + "2017488_pasqualevpe0_vnf_config_template_version": { "type": "string", "description": "VPE Software Version", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, "constraints": null, "required": true, "default": "17.2" }, - "2017488_adiodvpe0_AIC_CLLI": { + "2017488_pasqualevpe0_AIC_CLLI": { "type": "string", "description": "AIC Site CLLI", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, "constraints": null, "required": true, "default": "ATLMY8GA" }, - "adiodvpe0_bandwidth_units": { + "pasqualevpe0_bandwidth_units": { "type": "string", "description": "Units of bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, "constraints": null, @@ -1876,116 +1886,116 @@ describe('Model Tree Generator service', () => { }, "volumeGroupAllowed": true }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db", "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091", "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", "description": null, - "name": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "version": "5", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "ADIOD_base_vPE_BV" + "vfModuleLabel": "PASQUALE_base_vPE_BV" }, "inputs": {}, "volumeGroupAllowed": false }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV" + "vfModuleLabel": "PASQUALE_vPFE_BV" }, "inputs": {}, "volumeGroupAllowed": true } }, "volumeGroups": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV" + "vfModuleLabel": "PASQUALE_vRE_BV" }, "inputs": { - "adiodvpe0_bandwidth": { + "pasqualevpe0_bandwidth": { "type": "string", "description": "Requested VPE bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, "constraints": null, "required": true, "default": "10" }, - "2017488_adiodvpe0_vnf_instance_name": { + "2017488_pasqualevpe0_vnf_instance_name": { "type": "string", "description": "The hostname assigned to the vpe.", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, "constraints": null, "required": true, "default": "mtnj309me6" }, - "2017488_adiodvpe0_vnf_config_template_version": { + "2017488_pasqualevpe0_vnf_config_template_version": { "type": "string", "description": "VPE Software Version", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, "constraints": null, "required": true, "default": "17.2" }, - "2017488_adiodvpe0_AIC_CLLI": { + "2017488_pasqualevpe0_AIC_CLLI": { "type": "string", "description": "AIC Site CLLI", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, "constraints": null, "required": true, "default": "ATLMY8GA" }, - "adiodvpe0_bandwidth_units": { + "pasqualevpe0_bandwidth_units": { "type": "string", "description": "Units of bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, "constraints": null, @@ -1994,19 +2004,19 @@ describe('Model Tree Generator service', () => { } } }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV" + "vfModuleLabel": "PASQUALE_vPFE_BV" }, "inputs": {} } @@ -2093,85 +2103,85 @@ describe('Model Tree Generator service', () => { "modelCustomizationName": "ExtVL 0" } }, - "collectionResource": {}, + "collectionResources": {}, "configurations": {}, "fabricConfigurations": {}, "serviceProxies": {}, "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV" + "vfModuleLabel": "PASQUALE_vRE_BV" }, "inputs": { - "adiodvpe0_bandwidth": { + "pasqualevpe0_bandwidth": { "type": "string", "description": "Requested VPE bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, "constraints": null, "required": true, "default": "10" }, - "2017488_adiodvpe0_vnf_instance_name": { + "2017488_pasqualevpe0_vnf_instance_name": { "type": "string", "description": "The hostname assigned to the vpe.", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, "constraints": null, "required": true, "default": "mtnj309me6" }, - "2017488_adiodvpe0_vnf_config_template_version": { + "2017488_pasqualevpe0_vnf_config_template_version": { "type": "string", "description": "VPE Software Version", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, "constraints": null, "required": true, "default": "17.2" }, - "2017488_adiodvpe0_AIC_CLLI": { + "2017488_pasqualevpe0_AIC_CLLI": { "type": "string", "description": "AIC Site CLLI", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, "constraints": null, "required": true, "default": "ATLMY8GA" }, - "adiodvpe0_bandwidth_units": { + "pasqualevpe0_bandwidth_units": { "type": "string", "description": "Units of bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, "constraints": null, @@ -2181,36 +2191,36 @@ describe('Model Tree Generator service', () => { }, "volumeGroupAllowed": true }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db", "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091", "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", "description": null, - "name": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "version": "5", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "ADIOD_base_vPE_BV" + "vfModuleLabel": "PASQUALE_base_vPE_BV" }, "inputs": {}, "volumeGroupAllowed": false }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV" + "vfModuleLabel": "PASQUALE_vPFE_BV" }, "inputs": {}, "volumeGroupAllowed": true @@ -2222,17 +2232,17 @@ describe('Model Tree Generator service', () => { function getInstanceServiceVNF() { return { "vnfs": { - "2017-388_ADIOD-vPE 0": { + "2017-388_PASQUALE-vPE 0": { "action": 'None', "inMaint": true, "orchStatus": "Active", "provStatus": "prov", "rollbackOnFailure": "true", - "originalName": "2017-388_ADIOD-vPE 0", + "originalName": "2017-388_PASQUALE-vPE 0", "isMissingData": true, "trackById": "u5mtsvzmq6p", "vfModules": {}, - "vnfStoreKey": "2017-388_ADIOD-vPE 0", + "vnfStoreKey": "2017-388_PASQUALE-vPE 0", "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168", "productFamilyId": "d8a6ed93-251c-47ca-adc9-86671fd19f4c", "lcpCloudRegionId": null, @@ -2244,21 +2254,21 @@ describe('Model Tree Generator service', () => { "modelType": "VF", "modelInvariantId": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", "modelVersionId": "6b528779-44a3-4472-bdff-9cd15ec93450", - "modelName": "2017-388_ADIOD-vPE", + "modelName": "2017-388_PASQUALE-vPE", "modelVersion": "4.0", - "modelCustomizationName": "2017-388_ADIOD-vPE 0" + "modelCustomizationName": "2017-388_PASQUALE-vPE 0" } }, - "2017-488_ADIOD-vPE 0": { + "2017-488_PASQUALE-vPE 0": { "action": 'None', "inMaint": false, "rollbackOnFailure": "true", - "originalName": "2017-488_ADIOD-vPE 0", + "originalName": "2017-488_PASQUALE-vPE 0", "isMissingData": false, "trackById": "1d6dg4fsgbm", "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0zssmp": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0zssmp": { "action": 'None', "isMissingData": true, "sdncPreReload": null, @@ -2266,11 +2276,11 @@ describe('Model Tree Generator service', () => { "modelType": "VFmodule", "modelInvariantId": "b34833bb-6aa9-4ad6-a831-70b06367a091", "modelVersionId": "f8360508-3f17-4414-a2ed-6bc71161e8db", - "modelName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "modelVersion": "5", "modelCustomizationId": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", "modelUniqueId": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0" + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0" }, "instanceParams": [ {} @@ -2280,24 +2290,24 @@ describe('Model Tree Generator service', () => { } } }, - "vnfStoreKey": "2017-488_ADIOD-vPE 0", + "vnfStoreKey": "2017-488_PASQUALE-vPE 0", "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09", "productFamilyId": "d8a6ed93-251c-47ca-adc9-86671fd19f4c", - "lcpCloudRegionId": "JANET25", + "lcpCloudRegionId": "AAIAIC25", "tenantId": "092eb9e8e4b7412e8787dd091bc58e86", "lineOfBusiness": "ONAP", "platformName": "platform", "modelInfo": { "modelInvariantId": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", "modelVersionId": "69e09f68-8b63-4cc9-b9ff-860960b5db09", - "modelName": "2017-488_ADIOD-vPE", + "modelName": "2017-488_PASQUALE-vPE", "modelVersion": "5.0", "modelCustomizationId": "1da7b585-5e61-4993-b95e-8e6606c81e45", "modelUniqueId": "1da7b585-5e61-4993-b95e-8e6606c81e45", - "modelCustomizationName": "2017-488_ADIOD-vPE 0", + "modelCustomizationName": "2017-488_PASQUALE-vPE 0", "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09" }, - "instanceName": "2017488_ADIODvPE", + "instanceName": "2017488_PASQUALEvPE", "legacyRegion": "123", "instanceParams": [ {} @@ -2306,7 +2316,7 @@ describe('Model Tree Generator service', () => { }, "instanceParams": [ { - "2017488_adiodvpe0_ASN": "AV_vPE" + "2017488_pasqualevpe0_ASN": "AV_vPE" } ], "validationCounter": 3, @@ -2324,7 +2334,7 @@ describe('Model Tree Generator service', () => { "subscriptionServiceType": "TYLER SILVIA", "owningEntityId": "d61e6f2d-12fa-4cc2-91df-7c244011d6fc", "productFamilyId": "d8a6ed93-251c-47ca-adc9-86671fd19f4c", - "lcpCloudRegionId": "JANET25", + "lcpCloudRegionId": "AAIAIC25", "tenantId": "092eb9e8e4b7412e8787dd091bc58e86", "aicZoneId": "ABC15", "projectName": "WATKINS", @@ -2358,43 +2368,43 @@ describe('Model Tree Generator service', () => { function getInstanceServiceVNF_Network() { return { "vnfs": { - "2017-488_ADIOD-vPE 0": { + "2017-488_PASQUALE-vPE 0": { "action": 'None', "rollbackOnFailure": "true", - "originalName": "2017-488_ADIOD-vPE 0", + "originalName": "2017-488_PASQUALE-vPE 0", "isMissingData": false, "trackById": "o65b26t2thj", "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1sgoqi": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1sgoqi": { "action": 'None', "instanceName": "yoav", "volumeGroupName": "123", "modelInfo": { "modelInvariantId": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "modelVersionId": "25284168-24bb-4698-8cb4-3f509146eca5", - "modelName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "modelVersion": "6", "modelCustomizationId": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "modelUniqueId": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "uuid": "25284168-24bb-4698-8cb4-3f509146eca5" }, "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "isMissingData": false, "instanceParams": [ { - "adiodvpe0_bandwidth": "10", - "2017488_adiodvpe0_vnf_instance_name": "mtnj309me6", - "2017488_adiodvpe0_vnf_config_template_version": "17.2", - "2017488_adiodvpe0_AIC_CLLI": "ATLMY8GA", - "adiodvpe0_bandwidth_units": "Gbps" + "pasqualevpe0_bandwidth": "10", + "2017488_pasqualevpe0_vnf_instance_name": "mtnj309me6", + "2017488_pasqualevpe0_vnf_config_template_version": "17.2", + "2017488_pasqualevpe0_AIC_CLLI": "ATLMY8GA", + "pasqualevpe0_bandwidth_units": "Gbps" } ] } } }, - "vnfStoreKey": "2017-488_ADIOD-vPE 0", + "vnfStoreKey": "2017-488_PASQUALE-vPE 0", "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09", "productFamilyId": "ebc3bc3d-62fd-4a3f-a037-f619df4ff034", "lcpCloudRegionId": "hvf6", @@ -2404,13 +2414,13 @@ describe('Model Tree Generator service', () => { "modelInfo": { "modelInvariantId": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", "modelVersionId": "69e09f68-8b63-4cc9-b9ff-860960b5db09", - "modelName": "2017-488_ADIOD-vPE", + "modelName": "2017-488_PASQUALE-vPE", "modelVersion": "5.0", "modelCustomizationId": "1da7b585-5e61-4993-b95e-8e6606c81e45", - "modelCustomizationName": "2017-488_ADIOD-vPE 0", + "modelCustomizationName": "2017-488_PASQUALE-vPE 0", "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09" }, - "instanceName": "2017488_ADIODvPE", + "instanceName": "2017488_PASQUALEvPE", "instanceParams": [ {} ] @@ -2418,7 +2428,7 @@ describe('Model Tree Generator service', () => { }, "instanceParams": [ { - "2017488_adiodvpe0_ASN": "AV_vPE" + "2017488_pasqualevpe0_ASN": "AV_vPE" } ], "validationCounter": 0, @@ -2448,6 +2458,11 @@ describe('Model Tree Generator service', () => { "tenantId": "229bcdc6eaeb4ca59d55221141d01f8e", "platformName": "xxx1", "lineOfBusiness": "ONAP", + "uuid": "network-instance-model-version-id", + "routeTarget": { + "globalRouteTarget": "mock-global-1", + "routeTargetRole": "mock-role-x" + }, "instanceParams": [ {} ], @@ -2528,7 +2543,7 @@ describe('Model Tree Generator service', () => { "subscriptionServiceType": "TYLER SILVIA", "owningEntityId": "d61e6f2d-12fa-4cc2-91df-7c244011d6fc", "productFamilyId": "17cc1042-527b-11e6-beb8-9e71128cae77", - "lcpCloudRegionId": "JANET25", + "lcpCloudRegionId": "AAIAIC25", "tenantId": "092eb9e8e4b7412e8787dd091bc58e86", "aicZoneId": "JAG1", "projectName": null, @@ -2571,13 +2586,13 @@ describe('Model Tree Generator service', () => { "orchStatus": 'Active', "provStatus": 'prov', "inMaint": true, - "name": "2017-388_ADIOD-vPE 0", - "modelName": "2017-388_ADIOD-vPE 0", + "name": "2017-388_PASQUALE-vPE 0", + "modelName": "2017-388_PASQUALE-vPE 0", "type": "VF", "parentType": '', "isEcompGeneratedNaming": false, - "networkStoreKey": "2017-388_ADIOD-vPE 0", - "vnfStoreKey": "2017-388_ADIOD-vPE 0", + "networkStoreKey": "2017-388_PASQUALE-vPE 0", + "vnfStoreKey": "2017-388_PASQUALE-vPE 0", "typeName": "VNF", "children": [], "statusMessage": "Failed Vnf Message", @@ -2598,12 +2613,12 @@ describe('Model Tree Generator service', () => { "id": "1d6dg4fsgbm", "inMaint": false, "parentType": '', - "name": "2017-488_ADIOD-vPE 0", - "modelName": "2017-488_ADIOD-vPE 0", + "name": "2017-488_PASQUALE-vPE 0", + "modelName": "2017-488_PASQUALE-vPE 0", "type": "VF", "isEcompGeneratedNaming": false, - "networkStoreKey": "2017-488_ADIOD-vPE 0", - "vnfStoreKey": "2017-488_ADIOD-vPE 0", + "networkStoreKey": "2017-488_PASQUALE-vPE 0", + "vnfStoreKey": "2017-488_PASQUALE-vPE 0", "typeName": "VNF", "statusProperties": [Object({ key: 'Prov Status:', @@ -2620,11 +2635,11 @@ describe('Model Tree Generator service', () => { "id": "v2egx1b8i1l", "statusMessage": "Failed vfModel message", "name": "<Automatically Assigned>", - "modelName": "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelName": "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "type": "VFmodule", "isEcompGeneratedNaming": false, "dynamicInputs": [], - "dynamicModelName": "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0zssmp", + "dynamicModelName": "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0zssmp", "typeName": "M", "statusProperties": [Object({ key: 'Prov Status:', @@ -2643,11 +2658,11 @@ describe('Model Tree Generator service', () => { "modelId": "69e09f68-8b63-4cc9-b9ff-860960b5db09", "missingData": false, "id": "o65b26t2thj", - "name": "2017488_ADIODvPE", - "modelName": "2017-488_ADIOD-vPE 0", + "name": "2017488_PASQUALEvPE", + "modelName": "2017-488_PASQUALE-vPE 0", "type": "VF", "isEcompGeneratedNaming": false, - "vnfStoreKey": "2017-488_ADIOD-vPE 0", + "vnfStoreKey": "2017-488_PASQUALE-vPE 0", "typeName": "VNF", "statusProperties": [Object({ key: 'Prov Status:', @@ -2660,53 +2675,53 @@ describe('Model Tree Generator service', () => { "modelId": "25284168-24bb-4698-8cb4-3f509146eca5", "missingData": false, "name": "yoav", - "modelName": "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelName": "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "type": "VFmodule", "isEcompGeneratedNaming": false, "typeName": "M", "dynamicInputs": [ { - "id": "adiodvpe0_bandwidth", + "id": "pasqualevpe0_bandwidth", "type": "string", - "name": "adiodvpe0_bandwidth", + "name": "pasqualevpe0_bandwidth", "value": "10", "isRequired": true, "description": "Requested VPE bandwidth" }, { - "id": "2017488_adiodvpe0_vnf_instance_name", + "id": "2017488_pasqualevpe0_vnf_instance_name", "type": "string", - "name": "2017488_adiodvpe0_vnf_instance_name", + "name": "2017488_pasqualevpe0_vnf_instance_name", "value": "mtnj309me6", "isRequired": true, "description": "The hostname assigned to the vpe." }, { - "id": "2017488_adiodvpe0_vnf_config_template_version", + "id": "2017488_pasqualevpe0_vnf_config_template_version", "type": "string", - "name": "2017488_adiodvpe0_vnf_config_template_version", + "name": "2017488_pasqualevpe0_vnf_config_template_version", "value": "17.2", "isRequired": true, "description": "VPE Software Version" }, { - "id": "2017488_adiodvpe0_AIC_CLLI", + "id": "2017488_pasqualevpe0_AIC_CLLI", "type": "string", - "name": "2017488_adiodvpe0_AIC_CLLI", + "name": "2017488_pasqualevpe0_AIC_CLLI", "value": "ATLMY8GA", "isRequired": true, "description": "AIC Site CLLI" }, { - "id": "adiodvpe0_bandwidth_units", + "id": "pasqualevpe0_bandwidth_units", "type": "string", - "name": "adiodvpe0_bandwidth_units", + "name": "pasqualevpe0_bandwidth_units", "value": "Gbps", "isRequired": true, "description": "Units of bandwidth" } ], - "dynamicModelName": "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1sgoqi" + "dynamicModelName": "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1sgoqi" } ] }, @@ -2719,6 +2734,8 @@ describe('Model Tree Generator service', () => { "missingData": false, "id": "sf3zth68xjf", "name": "<Automatically Assigned>", + "routeTargetId": "mock-global-1", + "routeTargetRole": "mock-role-x", "statusMessage": "Network failed message", "modelName": "ExtVL 0", "type": "VL", diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToInstanceTree/objectToInstanceTree.service.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToInstanceTree/objectToInstanceTree.service.ts index 1fc439ea3..7a908b7fd 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToInstanceTree/objectToInstanceTree.service.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToInstanceTree/objectToInstanceTree.service.ts @@ -48,7 +48,7 @@ export class ObjectToInstanceTreeService { * @param node - the current node ****************************************************************/ increaseNumberOfFailed(node) { - if (node.isFailed) { + if (node && node.isFailed) { this.numberOfFailed++; node['errors'] = !_.isNil(node['errors']) ? node['errors'] : {}; node['errors']["isFailed"] = true; @@ -92,11 +92,16 @@ export class ObjectToInstanceTreeService { } addingExtraDataToNode(node, modelName: string, parentModel: any, instance: any, serviceHierarchy, option: ILevelNodeInfo, parentType ?: string) { - node.trackById = _.isNil(node.trackById) ? DefaultDataGeneratorService.createRandomTrackById() : node['trackById']; - node.parentType = !_.isNil(parentType) ? parentType : ""; - node.updatePoistionFunction = option.updatePosition; - node.position = option.getNodePosition(instance, node.dynamicModelName); - node.onSelectedNode = option.onSelectedNode; + if(!_.isNil(node)){ + node.trackById = _.isNil(node.trackById) ? DefaultDataGeneratorService.createRandomTrackById() : node['trackById']; + node.parentType = !_.isNil(parentType) ? parentType : ""; + node.updatePoistionFunction = option.updatePosition; + node.position = option.getNodePosition(instance, node.dynamicModelName); + node.getModel = option.getModel.bind(option); + node.getInfo = !_.isNil(option.getInfo) ? option.getInfo.bind(option) : ()=>{}; + node.componentInfoType = option.componentInfoType; + } + return node; } @@ -116,24 +121,27 @@ export class ObjectToInstanceTreeService { * @param serviceHierarchy - The service Hierarchy store ****************************************************************/ addNextInstanceTreeNode(parentInstance, parentModel, levelNodeInfo: ILevelNodeInfo, parentNode, serviceHierarchy): any[] { - if (!_.isNil(levelNodeInfo.childName)) { + if (!_.isNil(levelNodeInfo.childNames)&& levelNodeInfo.childNames.length > 0) { + const that = this; parentNode.children = []; - if (!_.isNil(parentInstance[levelNodeInfo.childName])) { - let parentType = levelNodeInfo.type; - let nextLevelNodeInfo = levelNodeInfo.getNextLevelObject.apply(this); - Object.keys(parentInstance[levelNodeInfo.childName]).map((modelName) => { - let nextLevelInstance = parentInstance[levelNodeInfo.childName][modelName]; - let nodes: any[] | any = this.getNodeInstance(modelName, parentModel, nextLevelInstance, serviceHierarchy, nextLevelNodeInfo, parentType); - if (_.isArray(nodes)) { - parentNode.children = parentNode.children.concat(nodes); - } else { - parentNode.children.push(nodes); - } - }); - return this.sortElementsByPosition(parentNode.children); - } + levelNodeInfo.childNames.forEach(function (childName) { + if (!_.isNil(parentInstance[childName])) { + let parentType = levelNodeInfo.type; + let nextLevelNodeInfo = levelNodeInfo.getNextLevelObject.apply(that, [childName]); + Object.keys(parentInstance[childName]).map((modelName) => { + let nextLevelInstance = parentInstance[childName][modelName]; + let nodes: any[] | any = that.getNodeInstance(modelName, parentModel, nextLevelInstance, serviceHierarchy, nextLevelNodeInfo, parentType); + if (_.isArray(nodes)) { + parentNode.children = parentNode.children.concat(nodes); + } else { + parentNode.children.push(nodes); + } + }); + } + }); + return this.sortElementsByPosition(parentNode.children); } - return parentNode.children; + return !_.isNil(parentNode) ? parentNode.children : null; } @@ -142,6 +150,7 @@ export class ObjectToInstanceTreeService { * @param node *********************************************************************************/ updateScalingPolicy(node): void { + if(_.isNil(node)) return node; node['errors'] = !_.isNil(node['errors']) ? node['errors'] : {}; if (!_.isNil(node['limitMembers']) && !_.isNil(node.children)) { let effectiveChildren = (node.children).filter(child => [ diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToModelTree/objectToModelTree.service.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToModelTree/objectToModelTree.service.spec.ts index 41ad23f07..7246adc27 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToModelTree/objectToModelTree.service.spec.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToModelTree/objectToModelTree.service.spec.ts @@ -8,7 +8,10 @@ import {DefaultDataGeneratorService} from "../../../../shared/services/defaultDa import {DynamicInputsService} from "../dynamicInputs.service"; import {SharedTreeService} from "../shared.tree.service"; import {DrawingBoardModes} from "../../drawing-board.modes"; -import {AvailableModelsTreeService} from "../../available-models-tree/available-models-tree.service"; +import { + AvailableModelsTreeService, + AvailableNodeIcons +} from "../../available-models-tree/available-models-tree.service"; import {DialogService} from "ng2-bootstrap-modal"; import {VnfPopupService} from "../../../../shared/components/genericFormPopup/genericFormServices/vnf/vnf.popup.service"; import {BasicControlGenerator} from "../../../../shared/components/genericForm/formControlsServices/basic.control.generator"; @@ -29,12 +32,39 @@ import {VnfGroupControlGenerator} from "../../../../shared/components/genericFor import {DuplicateService} from "../../duplicate/duplicate.service"; import {SdcUiComponentsModule} from "onap-ui-angular"; import {ComponentInfoService} from "../../component-info/component-info.service"; +import {IModelTreeNodeModel} from "../../../objectsToTree/objectToModelTree/modelTreeNode.model"; +import {VpnStepService} from "../models/vrf/vrfModal/vpnStep/vpn.step.service"; +import {NetworkStepService} from "../models/vrf/vrfModal/networkStep/network.step.service"; class MockAppStore<T> { getState() { return { global: { 'drawingBoardStatus': DrawingBoardModes.CREATE + }, + service: { + serviceInstance: { + "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd": { + "existingVNFCounterMap": { + "280dec31-f16d-488b-9668-4aae55d6648a": 1 + } + } + }, + serviceHierarchy: { + "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd": { + vnfs: { + "2017-388_PASQUALE-vPE 1": { + "properties": {} + }, + "2017-388_PASQUALE-vPE 0": { + "properties": {} + }, + "2017-488_PASQUALE-vPE 0": { + "properties": {} + } + } + } + } } } } @@ -77,8 +107,10 @@ describe('Model Tree Generator service', () => { DialogService, DuplicateService, ComponentInfoService, + NetworkStepService, + VpnStepService, {provide: NgRedux, useClass: MockAppStore}, - MockNgRedux] + MockNgRedux ] }).compileComponents(); injector = getTestBed(); @@ -90,25 +122,72 @@ describe('Model Tree Generator service', () => { expect(service).toBeDefined(); }); - test('should return nodes correctly: VNF', () => { + test('calculateNumberOfNodesWithPlusIcon : should return 0 when there are no nodes', () => { + service.calculateNumberOfNodesWithPlusIcon("someServiceModelId", []); + expect(service.numberOfPlusButton).toEqual(0); + }); + + test('calculateNumberOfNodesWithPlusIcon : should return 1 there is one node with plus icon', () => { + const serviceModel = { + service: { + uuid: "uuid" + } + }; + service.calculateNumberOfNodesWithPlusIcon(serviceModel, [{ + showNodeIcons: () => { + return new AvailableNodeIcons(true, false) + } + }]); + expect(service.numberOfPlusButton).toEqual(1); + }); + + test('calculateNumberOfNodesWithPlusIcon : should return 1 there is one node with plus icon and one without', () => { + const serviceModel = { + service: { + uuid: "uuid" + } + }; + service.calculateNumberOfNodesWithPlusIcon(serviceModel, [ + { + showNodeIcons: () => { + return new AvailableNodeIcons(true, false) + } + }, + { + showNodeIcons: () => { + return new AvailableNodeIcons(false, true) + } + } + ]); + expect(service.numberOfPlusButton).toEqual(1); + }); + + test('should return nodes correctly: VNF', () => { let convertToNodes = service.convertServiceHierarchyModelToTreeNodes(getServiceHeirarchyVNF()); - convertToNodes.map((item) => { - delete item['onAddClick']; - delete item['getNodeCount']; - delete item['showNodeIcons']; + convertToNodes.map((item: IModelTreeNodeModel) => { + delete item.onAddClick; + delete item.getNodeCount; + delete item.showNodeIcons; + delete item.getModel; + delete item.componentInfoType; + delete item.getMenuAction; delete item['menuActions']; - delete item['getMenuAction']; delete item['trackById']; + delete item.getInfo; + if (item.children) { item.children.map((child) => { - delete child['onAddClick']; - delete child['getNodeCount']; - delete child['showNodeIcons']; + delete child.onAddClick; + delete child.getNodeCount; + delete child.showNodeIcons; + delete child.getModel; + delete child.componentInfoType; + delete child.getMenuAction; delete child['menuActions']; - delete child['getMenuAction']; delete child['trackById']; + delete child.getInfo; }); } }); @@ -121,7 +200,7 @@ describe('Model Tree Generator service', () => { return [{ "id": "280dec31-f16d-488b-9668-4aae55d6648a", "modelVersionId": "0903e1c0-8e03-4936-b5c2-260653b96413", - "name": "2017-388_ADIOD-vPE 1", + "name": "2017-388_PASQUALE-vPE 1", "tooltip": "VF", "type": "VF", "count": 0, @@ -138,7 +217,7 @@ describe('Model Tree Generator service', () => { "modelVersionId": "afacccf6-397d-45d6-b5ae-94c39734b168", "modelCustomizationId": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c", "modelUniqueId": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c", - "name": "2017-388_ADIOD-vPE 0", + "name": "2017-388_PASQUALE-vPE 0", "tooltip": "VF", "type": "VF", "count": 0, @@ -153,7 +232,7 @@ describe('Model Tree Generator service', () => { "modelVersionId": "69e09f68-8b63-4cc9-b9ff-860960b5db09", "modelCustomizationId": "1da7b585-5e61-4993-b95e-8e6606c81e45", "modelUniqueId": "1da7b585-5e61-4993-b95e-8e6606c81e45", - "name": "2017-488_ADIOD-vPE 0", + "name": "2017-488_PASQUALE-vPE 0", "tooltip": "VF", "type": "VF", "count": 0, @@ -163,7 +242,7 @@ describe('Model Tree Generator service', () => { "modelVersionId": "25284168-24bb-4698-8cb4-3f509146eca5", "modelCustomizationId": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "modelUniqueId": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", - "name": "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "tooltip": "VFmodule", "type": "VFmodule", "count": 0, @@ -178,7 +257,7 @@ describe('Model Tree Generator service', () => { "modelVersionId": "f8360508-3f17-4414-a2ed-6bc71161e8db", "modelCustomizationId": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", "modelUniqueId": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", - "name": "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "name": "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "tooltip": "VFmodule", "type": "VFmodule", "count": 0, @@ -193,7 +272,7 @@ describe('Model Tree Generator service', () => { "modelVersionId": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "modelCustomizationId": "3cd946bb-50e0-40d8-96d3-c9023520b557", "modelUniqueId": "3cd946bb-50e0-40d8-96d3-c9023520b557", - "name": "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "tooltip": "VFmodule", "type": "VFmodule", "count": 0, @@ -223,25 +302,25 @@ describe('Model Tree Generator service', () => { "category": "Network L1-3", "serviceType": "pnf", "serviceRole": "Testing", - "description": "ADIOD vMX vPE based on Juniper 17.2 release. Updated with updated VF for v8.0 of VLM", + "description": "PASQUALE vMX vPE based on Juniper 17.2 release. Updated with updated VF for v8.0 of VLM", "serviceEcompNaming": "false", "instantiationType": "Macro", "inputs": {}, "vidNotions": {"instantiationUI": "legacy", "modelCategory": "other"} }, "vnfs": { - "2017-388_ADIOD-vPE 1": { + "2017-388_PASQUALE-vPE 1": { "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413", "invariantUuid": "00beb8f9-6d39-452f-816d-c709b9cbb87d", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-388_ADIOD-vPE", + "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", + "name": "2017-388_PASQUALE-vPE", "version": "1.0", "customizationUuid": "280dec31-f16d-488b-9668-4aae55d6648a", "inputs": {}, "commands": {}, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -287,7 +366,7 @@ describe('Model Tree Generator service', () => { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "true", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -295,14 +374,14 @@ describe('Model Tree Generator service', () => { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:2017488_adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:2017488_pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:2017488_adiodvpe0_bandwidth", + "bandwidth": "get_input:2017488_pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -312,7 +391,7 @@ describe('Model Tree Generator service', () => { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -326,23 +405,23 @@ describe('Model Tree Generator service', () => { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-388_ADIOD-vPE 1", + "modelCustomizationName": "2017-388_PASQUALE-vPE 1", "vfModules": {}, "volumeGroups": {}, "vfcInstanceGroups": {} }, - "2017-388_ADIOD-vPE 0": { + "2017-388_PASQUALE-vPE 0": { "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168", "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-388_ADIOD-vPE", + "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", + "name": "2017-388_PASQUALE-vPE", "version": "4.0", "customizationUuid": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c", "inputs": {}, "commands": {}, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -388,7 +467,7 @@ describe('Model Tree Generator service', () => { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "true", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -396,14 +475,14 @@ describe('Model Tree Generator service', () => { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:2017488_adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:2017488_pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:2017488_adiodvpe0_bandwidth", + "bandwidth": "get_input:2017488_pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -413,7 +492,7 @@ describe('Model Tree Generator service', () => { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -427,23 +506,23 @@ describe('Model Tree Generator service', () => { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-388_ADIOD-vPE 0", + "modelCustomizationName": "2017-388_PASQUALE-vPE 0", "vfModules": {}, "volumeGroups": {}, "vfcInstanceGroups": {} }, - "2017-488_ADIOD-vPE 0": { + "2017-488_PASQUALE-vPE 0": { "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09", "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-488_ADIOD-vPE", + "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", + "name": "2017-488_PASQUALE-vPE", "version": "5.0", "customizationUuid": "1da7b585-5e61-4993-b95e-8e6606c81e45", "inputs": {}, "commands": {}, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -489,7 +568,7 @@ describe('Model Tree Generator service', () => { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "true", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -497,14 +576,14 @@ describe('Model Tree Generator service', () => { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:2017488_adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:2017488_pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:2017488_adiodvpe0_bandwidth", + "bandwidth": "get_input:2017488_pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -514,7 +593,7 @@ describe('Model Tree Generator service', () => { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -528,57 +607,57 @@ describe('Model Tree Generator service', () => { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-488_ADIOD-vPE 0", + "modelCustomizationName": "2017-488_PASQUALE-vPE 0", "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "baseModule": false }, "inputs": {}, "volumeGroupAllowed": true }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db", "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091", "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", "description": null, - "name": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "version": "5", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "ADIOD_base_vPE_BV", + "vfModuleLabel": "PASQUALE_base_vPE_BV", "baseModule": true }, "inputs": {}, "volumeGroupAllowed": false }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV", + "vfModuleLabel": "PASQUALE_vPFE_BV", "baseModule": false }, "inputs": {}, @@ -586,36 +665,36 @@ describe('Model Tree Generator service', () => { } }, "volumeGroups": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "baseModule": false }, "inputs": {} }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV", + "vfModuleLabel": "PASQUALE_vPFE_BV", "baseModule": false }, "inputs": {} @@ -625,60 +704,60 @@ describe('Model Tree Generator service', () => { } }, "networks": {}, - "collectionResource": {}, + "collectionResources": {}, "configurations": {}, "fabricConfigurations": {}, "serviceProxies": {}, "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "baseModule": false }, "inputs": {}, "volumeGroupAllowed": true }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db", "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091", "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", "description": null, - "name": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "version": "5", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "ADIOD_base_vPE_BV", + "vfModuleLabel": "PASQUALE_base_vPE_BV", "baseModule": true }, "inputs": {}, "volumeGroupAllowed": false }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV", + "vfModuleLabel": "PASQUALE_vPFE_BV", "baseModule": false }, "inputs": {}, @@ -686,36 +765,36 @@ describe('Model Tree Generator service', () => { } }, "volumeGroups": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "baseModule": false }, "inputs": {} }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV", + "vfModuleLabel": "PASQUALE_vPFE_BV", "baseModule": false }, "inputs": {} diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToModelTree/objectToModelTree.service.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToModelTree/objectToModelTree.service.ts index e941faad3..c101f44e9 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToModelTree/objectToModelTree.service.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToModelTree/objectToModelTree.service.ts @@ -2,9 +2,11 @@ import {Injectable} from "@angular/core"; import {ILevelNodeInfo} from "../models/basic.model.info"; import {ObjectToTreeService} from "../objectToTree.service"; import * as _ from "lodash"; +import {IModelTreeNodeModel} from "../../../objectsToTree/objectToModelTree/modelTreeNode.model"; @Injectable() export class ObjectToModelTreeService { + numberOfPlusButton: number; constructor(private _objectToTreeService: ObjectToTreeService) { } @@ -21,10 +23,20 @@ export class ObjectToModelTreeService { nodes.push(_this.addFirstLevelModel(serviceModel.service.uuid, key, item, item.type, serviceModel, option)); }); } + + this.calculateNumberOfNodesWithPlusIcon(serviceModel, nodes); + console.log('nodes', nodes); return nodes; } + calculateNumberOfNodesWithPlusIcon(serviceModel, nodes) : void { + this.numberOfPlusButton = nodes.reduce((sum, node)=>{ + let showNodeIconResult = node.showNodeIcons({data : node}, serviceModel.service.uuid); + return (!_.isNil(showNodeIconResult) && showNodeIconResult.addIcon && !showNodeIconResult.vIcon) ? sum + 1 : sum; + }, 0); + } + /*********************************************************** * return node with all his child's @@ -50,13 +62,14 @@ export class ObjectToModelTreeService { * @param parentNode - parent node. ************************************************************/ addNextLevelNodes(serviceId: string, currentModel, parentModel, levelNodeInfo: ILevelNodeInfo, parentNode): any[] { - if (!_.isNil(levelNodeInfo.childName)) { - if (!_.isNil(currentModel[levelNodeInfo.childName])) { - let nextLevelNodeInfo = levelNodeInfo.getNextLevelObject.apply(this); - parentNode.children = Object.keys(currentModel[levelNodeInfo.childName]).map((key) => - ObjectToModelTreeService.convertItemToTreeNode(serviceId, key, currentModel[levelNodeInfo.childName][key], levelNodeInfo.childName, currentModel, nextLevelNodeInfo)); - - } + if (!_.isNil(levelNodeInfo.childNames) && levelNodeInfo.childNames.length > 0) { + levelNodeInfo.childNames.forEach(function (childName) { + if (!_.isNil(currentModel[childName])) { + let nextLevelNodeInfo = levelNodeInfo.getNextLevelObject.apply(this, [childName]); + parentNode.children = Object.keys(currentModel[childName]).map((key) => + ObjectToModelTreeService.convertItemToTreeNode(serviceId, key, currentModel[childName][key], childName, currentModel, nextLevelNodeInfo)); + } + }) } return parentNode.children; } @@ -72,7 +85,7 @@ export class ObjectToModelTreeService { * @param levelNodeInfo - current levelNodeInfo object ************************************************************/ static convertItemToTreeNode(serviceId: string, name: string, currentModel: any, valueType: string, parentModel: string, levelNodeInfo: ILevelNodeInfo) { - let node = { + let node : IModelTreeNodeModel = { id: currentModel.customizationUuid || currentModel.uuid, modelCustomizationId : currentModel.customizationUuid, modelVersionId: currentModel.uuid, @@ -88,11 +101,20 @@ export class ObjectToModelTreeService { isEcompGeneratedNaming: levelNodeInfo.isEcompGeneratedNaming(currentModel, parentModel) }; - node['onAddClick'] = (node, serviceId) => levelNodeInfo.onClickAdd(node, serviceId); - node['getNodeCount'] = (node, serviceId) => levelNodeInfo.getNodeCount(node, serviceId); - node['getMenuAction'] = (node, serviceId) => levelNodeInfo.getMenuAction(node, serviceId); - node['showNodeIcons'] = (node, serviceId) => levelNodeInfo.showNodeIcons(node, serviceId); - node['typeName'] = levelNodeInfo['typeName']; + node = this.addExtraFunctionality(node, serviceId, name, currentModel, valueType, parentModel, levelNodeInfo); + return node; + } + + + static addExtraFunctionality(node, serviceId: string, name: string, currentModel: any, valueType: string, parentModel: string, levelNodeInfo: ILevelNodeInfo){ + node.onAddClick = (node, serviceId) => levelNodeInfo.onClickAdd(node, serviceId); + node.getNodeCount = (node, serviceId) => levelNodeInfo.getNodeCount(node, serviceId); + node.getMenuAction = (node, serviceId) => levelNodeInfo.getMenuAction(node, serviceId); + node.showNodeIcons = (node, serviceId) => levelNodeInfo.showNodeIcons(node, serviceId); + node.typeName = levelNodeInfo.typeName; + node.getModel = levelNodeInfo.getModel.bind(levelNodeInfo); + node.getInfo = !_.isNil(levelNodeInfo.getInfo) ? levelNodeInfo.getInfo.bind(levelNodeInfo) : ()=>{}; + node.componentInfoType = levelNodeInfo.componentInfoType; return node; } } diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToTree.service.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToTree.service.ts index 338964515..0072196f2 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToTree.service.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToTree.service.ts @@ -18,6 +18,12 @@ import {DuplicateService} from "../duplicate/duplicate.service"; import {SdcUiServices} from "onap-ui-angular"; import {IframeService} from "../../../shared/utils/iframe.service"; import {ComponentInfoService} from "../component-info/component-info.service"; +import {PnfModelInfo} from "./models/pnf/pnf.model.info"; +import {CollectionResourceModelInfo} from "./models/collectionResource/collectionResource.model.info"; +import {AaiService} from "../../../shared/services/aaiService/aai.service"; +import {VrfModelInfo} from "./models/vrf/vrf.model.info"; +import {NetworkStepService} from "./models/vrf/vrfModal/networkStep/network.step.service"; +import {VpnStepService} from "./models/vrf/vrfModal/vpnStep/vpn.step.service"; @Injectable() export class ObjectToTreeService { @@ -33,6 +39,9 @@ export class ObjectToTreeService { private _modalService: SdcUiServices.ModalService, private _iframeService : IframeService, private _componentInfoService : ComponentInfoService, + private _networkStepService : NetworkStepService, + private _vpnStepService : VpnStepService, + private _aaiService : AaiService, private _store : NgRedux<AppState>) { } @@ -45,7 +54,10 @@ export class ObjectToTreeService { getFirstLevelOptions(): ILevelNodeInfo[] { return [new VnfModelInfo(this._dynamicInputsService, this._sharedTreeService, this._defaultDataGeneratorService, this._dialogService, this._vnfPopupService, this._vfModulePopupService, this._duplicateService, this._modalService, this._iframeService, this._componentInfoService, this._store) , new NetworkModelInfo(this._dynamicInputsService, this._sharedTreeService, this._dialogService, this._networkPopupService, this._duplicateService, this._modalService, this._iframeService, this._store), + new PnfModelInfo(), + new VrfModelInfo(this._store, this._sharedTreeService, this._dialogService, this._iframeService, this._networkStepService, this._vpnStepService), + new CollectionResourceModelInfo(this._store, this._sharedTreeService), new ConfigurationModelInfo(this._dynamicInputsService, this._sharedTreeService), - new VnfGroupingModelInfo(this._dynamicInputsService, this._sharedTreeService, this._dialogService, this._vnfGroupPopupService, this._iframeService, this._store)]; + new VnfGroupingModelInfo(this._dynamicInputsService, this._sharedTreeService, this._dialogService, this._vnfGroupPopupService, this._iframeService, this._aaiService, this._store)]; }; } diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/shared.tree.service.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/shared.tree.service.spec.ts index 852c5d44d..cad23ffd9 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/shared.tree.service.spec.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/shared.tree.service.spec.ts @@ -36,6 +36,10 @@ import {ServiceInstanceActions} from "../../../shared/models/serviceInstanceActi import each from "jest-each"; import {DrawingBoardModes} from "../drawing-board.modes"; import {ComponentInfoService} from "../component-info/component-info.service"; +import {ComponentInfoModel, ComponentInfoType} from "../component-info/component-info-model"; +import {ModelInformationItem} from "../../../shared/components/model-information/model-information.component"; +import {VpnStepService} from "./models/vrf/vrfModal/vpnStep/vpn.step.service"; +import {NetworkStepService} from "./models/vrf/vrfModal/networkStep/network.step.service"; class MockAppStore<T> { getState() { @@ -90,6 +94,8 @@ describe('Shared Tree Service', () => { ErrorMsgService, ObjectToInstanceTreeService, ComponentInfoService, + NetworkStepService, + VpnStepService, {provide: NgRedux, useClass: MockAppStore} ] }); @@ -122,7 +128,7 @@ describe('Shared Tree Service', () => { test('openAuditInfoModal should open modal for failed instance', () => { jest.spyOn(AuditInfoModalComponent.openInstanceAuditInfoModal, 'next'); - let modelInfoServiceMock: ILevelNodeInfo = new VnfModelInfo(null, null, null, null, null, null, null, null, null, null); + let modelInfoServiceMock: ILevelNodeInfo = new VnfModelInfo(null, null, null, null, null, null, null, null, null, null,null); const modelMock = {"a": "a"}; const instanceMock = {"instance": "instance", "trackById": "123456789"}; const instanceTypeMock = "instanceTypeMock"; @@ -139,9 +145,7 @@ describe('Shared Tree Service', () => { { "instance": instanceMock, "instanceId": "serviceModelId", - "isInstanceFailed": node.data.isFailed, "model": modelMock, - "trackById": instanceMock.trackById, "type": instanceTypeMock }); }); @@ -161,6 +165,25 @@ describe('Shared Tree Service', () => { expect(MessageBoxService.openModal.next).not.toHaveBeenCalled(); }); + test ('addGeneralInfoItems should return correct info - ordered',()=>{ + let specificNetworkInfo = [ + ModelInformationItem.createInstance('Network role', "network role 1, network role 2") + ]; + const actualInfoModel: ComponentInfoModel = service.addGeneralInfoItems(specificNetworkInfo,ComponentInfoType.NETWORK, getNetworkModel(),getNetworkInstance()); + + let expectedGeneralInfo = [ + ModelInformationItem.createInstance('Model version', '37.0'), + ModelInformationItem.createInstance('Model customization ID', '94fdd893-4a36-4d70-b16a-ec29c54c184f'), + ModelInformationItem.createInstance('Instance ID', 'NETWORK4_INSTANCE_ID'), + ModelInformationItem.createInstance('Instance type', 'CONTRAIL30_HIMELGUARD'), + ModelInformationItem.createInstance('In maintenance', false), + ModelInformationItem.createInstance('Network role', 'network role 1, network role 2') + ]; + expect(actualInfoModel.modelInfoItems).toEqual(expectedGeneralInfo); + }); + + + test('statusProperties should be prop on node according to node properties', () => { let node = service.addingStatusProperty({orchStatus: 'completed', provStatus: 'inProgress', inMaint: false}); expect(node.statusProperties).toBeDefined(); @@ -189,7 +212,7 @@ describe('Shared Tree Service', () => { ['None action EDIT mode',DrawingBoardModes.EDIT, ServiceInstanceActions.None, false], ['None action RETRY_EDIT mode', DrawingBoardModes.RETRY_EDIT, ServiceInstanceActions.None, false]]; each(enableRemoveAndEditItemsDataProvider).test('shouldShowEditAndDelete if child exist with %s', (description, mode, action, enabled) => { - jest.spyOn(store, 'getState').mockReturnValue({ + jest.spyOn(store, 'getState').mockReturnValue(<any>{ global: { drawingBoardStatus: mode } @@ -206,60 +229,60 @@ describe('Shared Tree Service', () => { function generateService() { return { "vnfs": { - "2017-488_ADIOD-vPE 0": { + "2017-488_PASQUALE-vPE 0": { "inMaint": false, "rollbackOnFailure": "true", - "originalName": "2017-488_ADIOD-vPE 0", + "originalName": "2017-488_PASQUALE-vPE 0", "isMissingData": false, "trackById": "stigekyxrqi", "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0gytfi": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0gytfi": { "isMissingData": false, "sdncPreReload": null, "modelInfo": { "modelType": "VFmodule", "modelInvariantId": "b34833bb-6aa9-4ad6-a831-70b06367a091", "modelVersionId": "f8360508-3f17-4414-a2ed-6bc71161e8db", - "modelName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "modelVersion": "5", "modelCustomizationId": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0" + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0" }, "instanceParams": [{}], "trackById": "3oj23o7nupo" } } }, - "vnfStoreKey": "2017-488_ADIOD-vPE 0", + "vnfStoreKey": "2017-488_PASQUALE-vPE 0", "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09", "productFamilyId": "d8a6ed93-251c-47ca-adc9-86671fd19f4c", - "lcpCloudRegionId": "JANET25", + "lcpCloudRegionId": "AAIAIC25", "tenantId": "092eb9e8e4b7412e8787dd091bc58e86", "lineOfBusiness": "ONAP", "platformName": "xxx1", "modelInfo": { "modelInvariantId": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", "modelVersionId": "69e09f68-8b63-4cc9-b9ff-860960b5db09", - "modelName": "2017-488_ADIOD-vPE", + "modelName": "2017-488_PASQUALE-vPE", "modelVersion": "5.0", - "modelCustomizationName": "2017-488_ADIOD-vPE 0", + "modelCustomizationName": "2017-488_PASQUALE-vPE 0", "modelCustomizationId": "1da7b585-5e61-4993-b95e-8e6606c81e45", "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09" }, "legacyRegion": "11111111", "instanceParams": [{}] }, - "2017-388_ADIOD-vPE 0": { + "2017-388_PASQUALE-vPE 0": { "inMaint": false, "rollbackOnFailure": "true", - "originalName": "2017-388_ADIOD-vPE 0", + "originalName": "2017-388_PASQUALE-vPE 0", "isMissingData": false, "trackById": "nib719t5vca", "vfModules": {}, - "vnfStoreKey": "2017-388_ADIOD-vPE 0", + "vnfStoreKey": "2017-388_PASQUALE-vPE 0", "productFamilyId": "d8a6ed93-251c-47ca-adc9-86671fd19f4c", - "lcpCloudRegionId": "JANET25", + "lcpCloudRegionId": "AAIAIC25", "legacyRegion": "11111", "tenantId": "092eb9e8e4b7412e8787dd091bc58e86", "platformName": "platform", @@ -268,24 +291,24 @@ function generateService() { "modelInfo": { "modelInvariantId": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", "modelVersionId": "afacccf6-397d-45d6-b5ae-94c39734b168", - "modelName": "2017-388_ADIOD-vPE", + "modelName": "2017-388_PASQUALE-vPE", "modelVersion": "4.0", "modelCustomizationId": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c", - "modelCustomizationName": "2017-388_ADIOD-vPE 0", + "modelCustomizationName": "2017-388_PASQUALE-vPE 0", "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168" }, "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168" }, - "2017-388_ADIOD-vPE 1": { + "2017-388_PASQUALE-vPE 1": { "inMaint": false, "rollbackOnFailure": "true", - "originalName": "2017-388_ADIOD-vPE 1", + "originalName": "2017-388_PASQUALE-vPE 1", "isMissingData": false, "trackById": "cv7l1ak8vpe", "vfModules": {}, - "vnfStoreKey": "2017-388_ADIOD-vPE 1", + "vnfStoreKey": "2017-388_PASQUALE-vPE 1", "productFamilyId": "d8a6ed93-251c-47ca-adc9-86671fd19f4c", - "lcpCloudRegionId": "JANET25", + "lcpCloudRegionId": "AAIAIC25", "legacyRegion": "123", "tenantId": "092eb9e8e4b7412e8787dd091bc58e86", "platformName": "platform", @@ -294,10 +317,10 @@ function generateService() { "modelInfo": { "modelInvariantId": "00beb8f9-6d39-452f-816d-c709b9cbb87d", "modelVersionId": "0903e1c0-8e03-4936-b5c2-260653b96413", - "modelName": "2017-388_ADIOD-vPE", + "modelName": "2017-388_PASQUALE-vPE", "modelVersion": "1.0", "modelCustomizationId": "280dec31-f16d-488b-9668-4aae55d6648a", - "modelCustomizationName": "2017-388_ADIOD-vPE 1", + "modelCustomizationName": "2017-388_PASQUALE-vPE 1", "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413" }, "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413" @@ -325,7 +348,7 @@ function generateService() { "trackById": "s6okajvv2n8", "networkStoreKey": "ExtVL 0", "productFamilyId": "d8a6ed93-251c-47ca-adc9-86671fd19f4c", - "lcpCloudRegionId": "JANET25", + "lcpCloudRegionId": "AAIAIC25", "legacyRegion": "12355555", "tenantId": "092eb9e8e4b7412e8787dd091bc58e86", "platformName": "platform", @@ -369,7 +392,7 @@ function generateService() { "subscriptionServiceType": "TYLER SILVIA", "owningEntityId": "d61e6f2d-12fa-4cc2-91df-7c244011d6fc", "productFamilyId": "d8a6ed93-251c-47ca-adc9-86671fd19f4c", - "lcpCloudRegionId": "JANET25", + "lcpCloudRegionId": "AAIAIC25", "tenantId": "092eb9e8e4b7412e8787dd091bc58e86", "aicZoneId": "ATL53", "pause": null, @@ -391,7 +414,7 @@ function generateService() { "isALaCarte": false, "name": "action-data", "version": "1.0", - "description": "ADIOD vMX vPE based on Juniper 17.2 release. Updated with updated VF for v8.0 of VLM", + "description": "PASQUALE vMX vPE based on Juniper 17.2 release. Updated with updated VF for v8.0 of VLM", "category": "Network L1-3", "uuid": "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd", "invariantUuid": "cdb90b57-ed78-4d44-a5b4-7f43a02ec632", @@ -410,15 +433,10 @@ function getStore() { "CREATE_INSTANCE_TEST": false, "EMPTY_DRAWING_BOARD_TEST": false, "FLAG_NETWORK_TO_ASYNC_INSTANTIATION": false, - "FLAG_ASYNC_INSTANTIATION": true, - "FLAG_ASYNC_JOBS": true, "FLAG_ADD_MSO_TESTAPI_FIELD": true, - "FLAG_UNASSIGN_SERVICE": true, "FLAG_SERVICE_MODEL_CACHE": true, - "FLAG_COLLECTION_RESOURCE_SUPPORT": true, "FLAG_SHOW_ASSIGNMENTS": true, "FLAG_FABRIC_CONFIGURATION_ASSIGNMENTS": true, - "FLAG_DUPLICATE_VNF": true, "FLAG_DEFAULT_VNF": true, "FLAG_SETTING_DEFAULTS_IN_DRAWING_BOARD": true, "FLAG_A_LA_CARTE_AUDIT_INFO": true, @@ -431,7 +449,6 @@ function getStore() { "FLAG_SHOW_VERIFY_SERVICE": true, "FLAG_ASYNC_ALACARTE_VFMODULE": true, "FLAG_ASYNC_ALACARTE_VNF": true, - "FLAG_SHIFT_VFMODULE_PARAMS_TO_VNF": true, "FLAG_1810_AAI_LOCAL_CACHE": true, "FLAG_EXP_USE_DEFAULT_HOST_NAME_VERIFIER": false, "FLAG_EXP_ANY_ALACARTE_NEW_INSTANTIATION_UI": false, @@ -455,25 +472,25 @@ function getStore() { "category": "Network L1-3", "serviceType": "pnf", "serviceRole": "Testing", - "description": "ADIOD vMX vPE based on Juniper 17.2 release. Updated with updated VF for v8.0 of VLM", + "description": "PASQUALE vMX vPE based on Juniper 17.2 release. Updated with updated VF for v8.0 of VLM", "serviceEcompNaming": "false", "instantiationType": "Macro", "inputs": {}, "vidNotions": {"instantiationUI": "legacy", "modelCategory": "other", "viewEditUI": "legacy"} }, "vnfs": { - "2017-388_ADIOD-vPE 1": { + "2017-388_PASQUALE-vPE 1": { "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413", "invariantUuid": "00beb8f9-6d39-452f-816d-c709b9cbb87d", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-388_ADIOD-vPE", + "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", + "name": "2017-388_PASQUALE-vPE", "version": "1.0", "customizationUuid": "280dec31-f16d-488b-9668-4aae55d6648a", "inputs": {}, "commands": {}, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -519,7 +536,7 @@ function getStore() { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "true", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -527,14 +544,14 @@ function getStore() { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:2017488_adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:2017488_pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:2017488_adiodvpe0_bandwidth", + "bandwidth": "get_input:2017488_pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -544,7 +561,7 @@ function getStore() { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -558,23 +575,23 @@ function getStore() { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-388_ADIOD-vPE 1", + "modelCustomizationName": "2017-388_PASQUALE-vPE 1", "vfModules": {}, "volumeGroups": {}, "vfcInstanceGroups": {} }, - "2017-388_ADIOD-vPE 0": { + "2017-388_PASQUALE-vPE 0": { "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168", "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-388_ADIOD-vPE", + "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", + "name": "2017-388_PASQUALE-vPE", "version": "4.0", "customizationUuid": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c", "inputs": {}, "commands": {}, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -620,7 +637,7 @@ function getStore() { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "true", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -628,14 +645,14 @@ function getStore() { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:2017488_adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:2017488_pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:2017488_adiodvpe0_bandwidth", + "bandwidth": "get_input:2017488_pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -645,7 +662,7 @@ function getStore() { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -659,16 +676,16 @@ function getStore() { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-388_ADIOD-vPE 0", + "modelCustomizationName": "2017-388_PASQUALE-vPE 0", "vfModules": {}, "volumeGroups": {}, "vfcInstanceGroups": {} }, - "2017-488_ADIOD-vPE 0": { + "2017-488_PASQUALE-vPE 0": { "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09", "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-488_ADIOD-vPE", + "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", + "name": "2017-488_PASQUALE-vPE", "version": "5.0", "customizationUuid": "1da7b585-5e61-4993-b95e-8e6606c81e45", "inputs": {}, @@ -676,7 +693,7 @@ function getStore() { "properties": { "max_instances": 1, "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -722,7 +739,7 @@ function getStore() { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "true", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -730,14 +747,14 @@ function getStore() { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:2017488_adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:2017488_pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:2017488_adiodvpe0_bandwidth", + "bandwidth": "get_input:2017488_pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -747,7 +764,7 @@ function getStore() { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -761,57 +778,57 @@ function getStore() { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-488_ADIOD-vPE 0", + "modelCustomizationName": "2017-488_PASQUALE-vPE 0", "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "baseModule": false }, "inputs": {}, "volumeGroupAllowed": true }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db", "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091", "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", "description": null, - "name": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "version": "5", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "ADIOD_base_vPE_BV", + "vfModuleLabel": "PASQUALE_base_vPE_BV", "baseModule": true }, "inputs": {}, "volumeGroupAllowed": false }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV", + "vfModuleLabel": "PASQUALE_vPFE_BV", "baseModule": false }, "inputs": {}, @@ -819,36 +836,36 @@ function getStore() { } }, "volumeGroups": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "baseModule": false }, "inputs": {} }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV", + "vfModuleLabel": "PASQUALE_vPFE_BV", "baseModule": false }, "inputs": {} @@ -877,60 +894,60 @@ function getStore() { "modelCustomizationName": "ExtVL 0" } }, - "collectionResource": {}, + "collectionResources": {}, "configurations": {}, "fabricConfigurations": {}, "serviceProxies": {}, "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "baseModule": false }, "inputs": {}, "volumeGroupAllowed": true }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db", "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091", "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", "description": null, - "name": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "version": "5", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "ADIOD_base_vPE_BV", + "vfModuleLabel": "PASQUALE_base_vPE_BV", "baseModule": true }, "inputs": {}, "volumeGroupAllowed": false }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV", + "vfModuleLabel": "PASQUALE_vPFE_BV", "baseModule": false }, "inputs": {}, @@ -938,36 +955,36 @@ function getStore() { } }, "volumeGroups": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "baseModule": false }, "inputs": {} }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV", + "vfModuleLabel": "PASQUALE_vPFE_BV", "baseModule": false }, "inputs": {} @@ -991,11 +1008,11 @@ function getStore() { "ecomp_generated_naming": "true" }, "members": { - "vdbe_svc_vprs_proxy 0": { + "vdorothea_svc_vprs_proxy 0": { "uuid": "65fadfa8-a0d9-443f-95ad-836cd044e26c", "invariantUuid": "f4baae0c-b3a5-4ca1-a777-afbffe7010bc", - "description": "A Proxy for Service vDBE_Svc_vPRS", - "name": "vDBE_Svc_vPRS Service Proxy", + "description": "A Proxy for Service vDOROTHEA_Svc_vPRS", + "name": "vDOROTHEA_Svc_vPRS Service Proxy", "version": "1.0", "customizationUuid": "bdb63d23-e132-4ce7-af2c-a493b4cafac9", "inputs": {}, @@ -1004,7 +1021,7 @@ function getStore() { "type": "Service Proxy", "sourceModelUuid": "da7827a2-366d-4be6-8c68-a69153c61274", "sourceModelInvariant": "24632e6b-584b-4f45-80d4-fefd75fd9f14", - "sourceModelName": "vDBE_Svc_vPRS" + "sourceModelName": "vDOROTHEA_Svc_vPRS" } } }, @@ -1083,7 +1100,7 @@ function getStore() { "modelCustomizationName": "AIC30_CONTRAIL_BASIC 0" } }, - "collectionResource": {}, + "collectionResources": {}, "configurations": {}, "fabricConfigurations": {}, "serviceProxies": {}, @@ -1096,62 +1113,62 @@ function getStore() { "serviceInstance": { "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd": { "vnfs": { - "2017-488_ADIOD-vPE 0": { + "2017-488_PASQUALE-vPE 0": { "action": "None", "inMaint": false, "rollbackOnFailure": "true", - "originalName": "2017-488_ADIOD-vPE 0", + "originalName": "2017-488_PASQUALE-vPE 0", "isMissingData": false, "trackById": "stigekyxrqi", "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0gytfi": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0gytfi": { "isMissingData": false, "sdncPreReload": null, "modelInfo": { "modelType": "VFmodule", "modelInvariantId": "b34833bb-6aa9-4ad6-a831-70b06367a091", "modelVersionId": "f8360508-3f17-4414-a2ed-6bc71161e8db", - "modelName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "modelVersion": "5", "modelCustomizationId": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0" + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0" }, "instanceParams": [{}], "trackById": "3oj23o7nupo" } } }, - "vnfStoreKey": "2017-488_ADIOD-vPE 0", + "vnfStoreKey": "2017-488_PASQUALE-vPE 0", "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09", "productFamilyId": "d8a6ed93-251c-47ca-adc9-86671fd19f4c", - "lcpCloudRegionId": "JANET25", + "lcpCloudRegionId": "AAIAIC25", "tenantId": "092eb9e8e4b7412e8787dd091bc58e86", "lineOfBusiness": "ONAP", "platformName": "xxx1", "modelInfo": { "modelInvariantId": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", "modelVersionId": "69e09f68-8b63-4cc9-b9ff-860960b5db09", - "modelName": "2017-488_ADIOD-vPE", + "modelName": "2017-488_PASQUALE-vPE", "modelVersion": "5.0", - "modelCustomizationName": "2017-488_ADIOD-vPE 0", + "modelCustomizationName": "2017-488_PASQUALE-vPE 0", "modelCustomizationId": "1da7b585-5e61-4993-b95e-8e6606c81e45", "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09" }, "legacyRegion": "11111111", "instanceParams": [{}] }, - "2017-388_ADIOD-vPE 0": { + "2017-388_PASQUALE-vPE 0": { "action": "Create", "inMaint": false, "rollbackOnFailure": "true", - "originalName": "2017-388_ADIOD-vPE 0", + "originalName": "2017-388_PASQUALE-vPE 0", "isMissingData": false, "trackById": "nib719t5vca", "vfModules": {}, - "vnfStoreKey": "2017-388_ADIOD-vPE 0", + "vnfStoreKey": "2017-388_PASQUALE-vPE 0", "productFamilyId": "d8a6ed93-251c-47ca-adc9-86671fd19f4c", - "lcpCloudRegionId": "JANET25", + "lcpCloudRegionId": "AAIAIC25", "legacyRegion": "11111", "tenantId": "092eb9e8e4b7412e8787dd091bc58e86", "platformName": "platform", @@ -1160,25 +1177,25 @@ function getStore() { "modelInfo": { "modelInvariantId": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", "modelVersionId": "afacccf6-397d-45d6-b5ae-94c39734b168", - "modelName": "2017-388_ADIOD-vPE", + "modelName": "2017-388_PASQUALE-vPE", "modelVersion": "4.0", "modelCustomizationId": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c", - "modelCustomizationName": "2017-388_ADIOD-vPE 0", + "modelCustomizationName": "2017-388_PASQUALE-vPE 0", "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168" }, "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168" }, - "2017-388_ADIOD-vPE 1": { + "2017-388_PASQUALE-vPE 1": { "action": "None", "inMaint": false, "rollbackOnFailure": "true", - "originalName": "2017-388_ADIOD-vPE 1", + "originalName": "2017-388_PASQUALE-vPE 1", "isMissingData": false, "trackById": "cv7l1ak8vpe", "vfModules": {}, - "vnfStoreKey": "2017-388_ADIOD-vPE 1", + "vnfStoreKey": "2017-388_PASQUALE-vPE 1", "productFamilyId": "d8a6ed93-251c-47ca-adc9-86671fd19f4c", - "lcpCloudRegionId": "JANET25", + "lcpCloudRegionId": "AAIAIC25", "legacyRegion": "123", "tenantId": "092eb9e8e4b7412e8787dd091bc58e86", "platformName": "platform", @@ -1187,10 +1204,10 @@ function getStore() { "modelInfo": { "modelInvariantId": "00beb8f9-6d39-452f-816d-c709b9cbb87d", "modelVersionId": "0903e1c0-8e03-4936-b5c2-260653b96413", - "modelName": "2017-388_ADIOD-vPE", + "modelName": "2017-388_PASQUALE-vPE", "modelVersion": "1.0", "modelCustomizationId": "280dec31-f16d-488b-9668-4aae55d6648a", - "modelCustomizationName": "2017-388_ADIOD-vPE 1", + "modelCustomizationName": "2017-388_PASQUALE-vPE 1", "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413" }, "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413" @@ -1218,7 +1235,7 @@ function getStore() { "trackById": "s6okajvv2n8", "networkStoreKey": "ExtVL 0", "productFamilyId": "d8a6ed93-251c-47ca-adc9-86671fd19f4c", - "lcpCloudRegionId": "JANET25", + "lcpCloudRegionId": "AAIAIC25", "legacyRegion": "12355555", "tenantId": "092eb9e8e4b7412e8787dd091bc58e86", "platformName": "platform", @@ -1262,7 +1279,7 @@ function getStore() { "subscriptionServiceType": "TYLER SILVIA", "owningEntityId": "d61e6f2d-12fa-4cc2-91df-7c244011d6fc", "productFamilyId": "d8a6ed93-251c-47ca-adc9-86671fd19f4c", - "lcpCloudRegionId": "JANET25", + "lcpCloudRegionId": "AAIAIC25", "tenantId": "092eb9e8e4b7412e8787dd091bc58e86", "aicZoneId": "ATL53", "pause": null, @@ -1284,7 +1301,7 @@ function getStore() { "isALaCarte": false, "name": "action-data", "version": "1.0", - "description": "ADIOD vMX vPE based on Juniper 17.2 release. Updated with updated VF for v8.0 of VLM", + "description": "PASQUALE vMX vPE based on Juniper 17.2 release. Updated with updated VF for v8.0 of VLM", "category": "Network L1-3", "uuid": "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd", "invariantUuid": "cdb90b57-ed78-4d44-a5b4-7f43a02ec632", @@ -1296,13 +1313,13 @@ function getStore() { }, "lcpRegionsAndTenants": { "lcpRegionList": [{ - "id": "JANET25", - "name": "JANET25 (AIC)", + "id": "AAIAIC25", + "name": "AAIAIC25 (AIC)", "isPermitted": true, "cloudOwner": "irma-aic" }, {"id": "hvf6", "name": "hvf6 (AIC)", "isPermitted": true, "cloudOwner": "irma-aic"}], "lcpRegionsTenantsMap": { - "JANET25": [{ + "AAIAIC25": [{ "id": "092eb9e8e4b7412e8787dd091bc58e86", "name": "USP-SIP-IC-24335-T-01", "isPermitted": true, @@ -1314,8 +1331,128 @@ function getStore() { "isPermitted": true, "cloudOwner": "irma-aic" }, { - "id": "d0a3e3f2964542259d155a81c41aadc3", - "name": "test-hvf6-09", + "id": "229bcdc6eaeb4ca59d55221141d01f8e", + "name": "AIN Web Tool-15-D-STTest2", + "isPermitted": true, + "cloudOwner": "irma-aic" + }, { + "id": "1178612d2b394be4834ad77f567c0af2", + "name": "AIN Web Tool-15-D-SSPtestcustome", + "isPermitted": true, + "cloudOwner": "irma-aic" + }, { + "id": "19c5ade915eb461e8af52fb2fd8cd1f2", + "name": "AIN Web Tool-15-D-UncheckedEcopm", + "isPermitted": true, + "cloudOwner": "irma-aic" + }, { + "id": "de007636e25249238447264a988a927b", + "name": "AIN Web Tool-15-D-dfsdf", + "isPermitted": true, + "cloudOwner": "irma-aic" + }, { + "id": "62f29b3613634ca6a3065cbe0e020c44", + "name": "AIN/SMS-16-D-Multiservices1", + "isPermitted": true, + "cloudOwner": "irma-aic" + }, { + "id": "649289e30d3244e0b48098114d63c2aa", + "name": "AIN Web Tool-15-D-SSPST66", + "isPermitted": true, + "cloudOwner": "irma-aic" + }, { + "id": "3f21eeea6c2c486bba31dab816c05a32", + "name": "AIN Web Tool-15-D-ASSPST47", + "isPermitted": true, + "cloudOwner": "irma-aic" + }, { + "id": "f60ce21d3ee6427586cff0d22b03b773", + "name": "CESAR-100-D-sspjg67246", + "isPermitted": true, + "cloudOwner": "irma-aic" + }, { + "id": "8774659e425f479895ae091bb5d46560", + "name": "CESAR-100-D-sspjg68359", + "isPermitted": true, + "cloudOwner": "irma-aic" + }, { + "id": "624eb554b0d147c19ff8885341760481", + "name": "AINWebTool-15-D-iftach", + "isPermitted": true, + "cloudOwner": "irma-aic" + }, { + "id": "214f55f5fc414c678059c383b03e4962", + "name": "CESAR-100-D-sspjg612401", + "isPermitted": true, + "cloudOwner": "irma-aic" + }, { + "id": "c90666c291664841bb98e4d981ff1db5", + "name": "CESAR-100-D-sspjg621340", + "isPermitted": true, + "cloudOwner": "irma-aic" + }, { + "id": "ce5b6bc5c7b348e1bf4b91ac9a174278", + "name": "sspjg621351cloned", + "isPermitted": true, + "cloudOwner": "irma-aic" + }, { + "id": "b386b768a3f24c8e953abbe0b3488c02", + "name": "AINWebTool-15-D-eteancomp", + "isPermitted": true, + "cloudOwner": "irma-aic" + }, { + "id": "dc6c4dbfd225474e9deaadd34968646c", + "name": "AINWebTool-15-T-SPFET", + "isPermitted": true, + "cloudOwner": "irma-aic" + }, { + "id": "02cb5030e9914aa4be120bd9ed1e19eb", + "name": "AINWebTool-15-X-eeweww", + "isPermitted": true, + "cloudOwner": "irma-aic" + }, { + "id": "f2f3830e4c984d45bcd00e1a04158a79", + "name": "CESAR-100-D-spjg61909", + "isPermitted": true, + "cloudOwner": "irma-aic" + }, { + "id": "05b91bd5137f4929878edd965755c06d", + "name": "CESAR-100-D-sspjg621512cloned", + "isPermitted": true, + "cloudOwner": "irma-aic" + }, { + "id": "7002fbe8482d4a989ddf445b1ce336e0", + "name": "AINWebTool-15-X-vdr", + "isPermitted": true, + "cloudOwner": "irma-aic" + }, { + "id": "4008522be43741dcb1f5422022a2aa0b", + "name": "AINWebTool-15-D-ssasa", + "isPermitted": true, + "cloudOwner": "irma-aic" + }, { + "id": "f44e2e96a1b6476abfda2fa407b00169", + "name": "AINWebTool-15-D-PFNPT", + "isPermitted": true, + "cloudOwner": "irma-aic" + }, { + "id": "b69a52bec8a84669a37a1e8b72708be7", + "name": "AINWebTool-15-X-vdre", + "isPermitted": true, + "cloudOwner": "irma-aic" + }, { + "id": "fac7d9fd56154caeb9332202dcf2969f", + "name": "AINWebTool-15-X-NONPODECOMP", + "isPermitted": true, + "cloudOwner": "irma-aic" + }, { + "id": "2d34d8396e194eb49969fd61ffbff961", + "name": "DN5242-Nov16-T5", + "isPermitted": true, + "cloudOwner": "irma-aic" + }, { + "id": "cb42a77ff45b48a8b8deb83bb64acc74", + "name": "ro-T11", "isPermitted": true, "cloudOwner": "irma-aic" }, { @@ -1324,6 +1461,16 @@ function getStore() { "isPermitted": true, "cloudOwner": "irma-aic" }, { + "id": "4914ab0ab3a743e58f0eefdacc1dde77", + "name": "DN5242-Nov21-T1", + "isPermitted": true, + "cloudOwner": "irma-aic" + }, { + "id": "d0a3e3f2964542259d155a81c41aadc3", + "name": "test-hvf6-09", + "isPermitted": true, + "cloudOwner": "irma-aic" + }, { "id": "cbb99fe4ada84631b7baf046b6fd2044", "name": "DN5242-Nov16-T3", "isPermitted": true, @@ -1404,9 +1551,9 @@ function getStore() { "isPermitted": false }, {"id": "18", "name": "vCarroll", "isPermitted": false}, { "id": "9", - "name": "vMME", + "name": "vFLORENCE", "isPermitted": false - }, {"id": "13", "name": "vMMSC", "isPermitted": false}, { + }, {"id": "13", "name": "vWINIFRED", "isPermitted": false}, { "id": "10", "name": "vMNS", "isPermitted": false @@ -1414,34 +1561,205 @@ function getStore() { "id": "8", "name": "vOTA", "isPermitted": false - }, {"id": "11", "name": "vSCP", "isPermitted": false}, { + }, {"id": "11", "name": "vEsmeralda", "isPermitted": false}, { "id": "6", - "name": "vSEGW", + "name": "vPorfirio", "isPermitted": false }, {"id": "7", "name": "vVM", "isPermitted": false}, {"id": "4", "name": "vVoiceMail", "isPermitted": false}] }, - "aicZones": [ - { - "id": "NFT1", - "name": "NFTJSSSS-NFT1" - }, - { - "id": "JAG1", - "name": "YUDFJULP-JAG1" - }, - { - "id": "YYY1", - "name": "UUUAIAAI-YYY1" - }, - { - "id": "AVT1", - "name": "AVTRFLHD-AVT1" - }, - { - "id": "ATL34", - "name": "ATLSANAI-ATL34" - } - ], + "aicZones": [{"id": "ATL53", "name": "AAIATLTE-ATL53"}, {"id": "ABC15", "name": "AAITESAN-ABC15"}, { + "id": "TES36", + "name": "ABCEETES-TES36" + }, {"id": "ATL54", "name": "AICFTAAI-ATL54"}, {"id": "ATL43", "name": "AICLOCID-ATL43"}, { + "id": "AMD15", + "name": "AMDFAA01-AMD15" + }, {"id": "AMF11", "name": "AMDOCS01-AMF11"}, {"id": "RCT1", "name": "AMSTERNL-RCT1"}, { + "id": "AMS1", + "name": "AMSTNLBW-AMS1" + }, {"id": "HJH1", "name": "AOEEQQQD-HJH1"}, {"id": "HJE1", "name": "AOEEWWWD-HJE1"}, { + "id": "MCS1", + "name": "ASACMAMS-MCS1" + }, {"id": "AUG1", "name": "ASDFGHJK-AUG1"}, {"id": "LUC1", "name": "ATLDFGYC-LUC1"}, { + "id": "ATL1", + "name": "ATLNGAMA-ATL1" + }, {"id": "ATL2", "name": "ATLNGANW-ATL2"}, {"id": "HPO1", "name": "ATLNGAUP-HPO1"}, { + "id": "ANI1", + "name": "ATLNGTRE-ANI1" + }, {"id": "ATL44", "name": "ATLSANAB-ATL44"}, {"id": "ATL56", "name": "ATLSANAC-ATL56"}, { + "id": "ABC11", + "name": "ATLSANAI-ABC11" + }, {"id": "ATL34", "name": "ATLSANAI-ATL34"}, {"id": "ATL63", "name": "ATLSANEW-ATL63"}, { + "id": "ABC12", + "name": "ATLSECIA-ABC12" + }, {"id": "AMD18", "name": "AUDIMA01-AMD18"}, {"id": "AVT1", "name": "AVTRFLHD-AVT1"}, { + "id": "KIT1", + "name": "BHYJFGLN-KIT1" + }, {"id": "BHY17", "name": "BHYTFRF3-BHY17"}, {"id": "RTW5", "name": "BHYTFRY4-RTW5"}, { + "id": "RTZ4", + "name": "BHYTFRZ6-RTZ4" + }, {"id": "RTD2", "name": "BHYTFRk4-RTD2"}, {"id": "BNA1", "name": "BNARAGBK-BNA1"}, { + "id": "VEL1", + "name": "BNMLKUIK-VEL1" + }, {"id": "BOT1", "name": "BOTHWAKY-BOT1"}, {"id": "CAL33", "name": "CALIFORN-CAL33"}, { + "id": "ATL84", + "name": "CANTTCOC-ATL84" + }, {"id": "HSD1", "name": "CHASKCDS-HSD1"}, {"id": "CHI1", "name": "CHILLIWE-CHI1"}, { + "id": "XCP12", + "name": "CHKGH123-XCP12" + }, {"id": "JNL1", "name": "CJALSDAC-JNL1"}, {"id": "KJN1", "name": "CKALDKSA-KJN1"}, { + "id": "CLG1", + "name": "CLGRABAD-CLG1" + }, {"id": "CKL1", "name": "CLKSKCKK-CKL1"}, {"id": "ATL66", "name": "CLLIAAII-ATL66"}, { + "id": "CQK1", + "name": "CQKSCAKK-CQK1" + }, {"id": "CWY1", "name": "CWYMOWBS-CWY1"}, {"id": "DKJ1", "name": "DKJSJDKA-DKJ1"}, { + "id": "DSF45", + "name": "DSFBG123-DSF45" + }, {"id": "DSL12", "name": "DSLFK242-DSL12"}, {"id": "FDE55", "name": "FDERT555-FDE55"}, { + "id": "VEN2", + "name": "FGHJUHIL-VEN2" + }, {"id": "ATL64", "name": "FORLOAAJ-ATL64"}, {"id": "GNV1", "name": "GNVLSCTL-GNV1"}, { + "id": "SAN22", + "name": "GNVLSCTL-SAN22" + }, {"id": "KAP1", "name": "HIOUYTRQ-KAP1"}, {"id": "LIS1", "name": "HOSTPROF-LIS1"}, { + "id": "HRG1", + "name": "HRGHRGGS-HRG1" + }, {"id": "HST25", "name": "HSTNTX01-HST25"}, {"id": "STN27", "name": "HSTNTX01-STN27"}, { + "id": "HST70", + "name": "HSTNTX70-HST70" + }, {"id": "KOR1", "name": "HYFLNBVT-KOR1"}, {"id": "RAD10", "name": "INDIPUNE-RAD10"}, { + "id": "REL1", + "name": "INGERFGT-REL1" + }, {"id": "JAD1", "name": "JADECLLI-JAD1"}, {"id": "HKA1", "name": "JAKHLASS-HKA1"}, { + "id": "JCS1", + "name": "JCSJSCJS-JCS1" + }, {"id": "JCV1", "name": "JCVLFLBW-JCV1"}, {"id": "KGM2", "name": "KGMTNC20-KGM2"}, { + "id": "KJF12", + "name": "KJFDH123-KJF12" + }, {"id": "JGS1", "name": "KSJKKKKK-JGS1"}, {"id": "LAG1", "name": "LARGIZON-LAG1"}, { + "id": "LAG1a", + "name": "LARGIZON-LAG1a" + }, {"id": "LAG45", "name": "LARGIZON-LAG1a"}, {"id": "LAG1b", "name": "LARGIZON-LAG1b"}, { + "id": "WAN1", + "name": "LEIWANGW-WAN1" + }, {"id": "DSA1", "name": "LKJHGFDS-DSA1"}, {"id": "LON1", "name": "LONEENCO-LON1"}, { + "id": "SITE", + "name": "LONEENCO-SITE" + }, {"id": "ZXL1", "name": "LWLWCANN-ZXL1"}, {"id": "hvf20", "name": "MDTWNJ21-hvf20"}, { + "id": "hvf32", + "name": "MDTWNJ21-hvf32" + }, {"id": "AMD13", "name": "MEMATLAN-AMD13"}, {"id": "MIC54", "name": "MICHIGAN-MIC54"}, { + "id": "MAR1", + "name": "MNBVCXZM-MAR1" + }, {"id": "NCA1", "name": "NCANCANN-NCA1"}, {"id": "NFT1", "name": "NFTJSSSS-NFT1"}, { + "id": "GAR1", + "name": "NGFVSJKO-GAR1" + }, {"id": "NYC1", "name": "NYCMNY54-NYC1"}, {"id": "OKC1", "name": "OKCBOK55-OKC1"}, { + "id": "OLG1", + "name": "OLHOLHOL-OLG1" + }, {"id": "OLK1", "name": "OLKOLKLS-OLK1"}, {"id": "NIR1", "name": "ORFLMANA-NIR1"}, { + "id": "JAN1", + "name": "ORFLMATT-JAN1" + }, {"id": "ORL1", "name": "ORLDFLMA-ORL1"}, {"id": "PAR1", "name": "PARSFRCG-PAR1"}, { + "id": "PBL1", + "name": "PBLAPBAI-PBL1" + }, {"id": "mac10", "name": "PKGTESTF-mac10"}, {"id": "mac20", "name": "PKGTESTF-mac20"}, { + "id": "TIR2", + "name": "PLKINHYI-TIR2" + }, {"id": "IBB1", "name": "PLMKOIJU-IBB1"}, {"id": "COM1", "name": "PLMKOPIU-COM1"}, { + "id": "POI1", + "name": "PLMNJKIU-POI1" + }, {"id": "PLT1", "name": "PLTNCA60-PLT1"}, {"id": "POI22", "name": "POIUY123-POI22"}, { + "id": "DCC1", + "name": "POIUYTGH-DCC1" + }, {"id": "DCC1a", "name": "POIUYTGH-DCC1a"}, {"id": "DCC1b", "name": "POIUYTGH-DCC1b"}, { + "id": "DCC2", + "name": "POIUYTGH-DCC2" + }, {"id": "DCC3", "name": "POIUYTGH-DCC3"}, {"id": "IAA1", "name": "QAZXSWED-IAA1"}, { + "id": "QWE1", + "name": "QWECLLI1-QWE1" + }, {"id": "NUM1", "name": "QWERTYUI-NUM1"}, {"id": "RAD1", "name": "RADICAL1-RAD1"}, { + "id": "RJN1", + "name": "RJNRBZAW-RJN1" + }, {"id": "SAA13", "name": "SAIT1AA9-SAA13"}, {"id": "SAA14", "name": "SAIT1AA9-SAA14"}, { + "id": "SDD81", + "name": "SAIT1DD6-SDD81" + }, {"id": "SDD82", "name": "SAIT1DD9-SDD82"}, {"id": "SAA11", "name": "SAIT9AA2-SAA11"}, { + "id": "SAA80", + "name": "SAIT9AA3-SAA80" + }, {"id": "SAA12", "name": "SAIT9AF8-SAA12"}, {"id": "SCC80", "name": "SAIT9CC3-SCC80"}, { + "id": "ATL75", + "name": "SANAAIRE-ATL75" + }, {"id": "ICC1", "name": "SANJITAT-ICC1"}, {"id": "SCK1", "name": "SCKSCKSK-SCK1"}, { + "id": "EHH78", + "name": "SDCSHHH5-EHH78" + }, {"id": "SAA78", "name": "SDCTAAA1-SAA78"}, {"id": "SAX78", "name": "SDCTAXG1-SAX78"}, { + "id": "SBX78", + "name": "SDCTBXG1-SBX78" + }, {"id": "SEE78", "name": "SDCTEEE4-SEE78"}, {"id": "SGG78", "name": "SDCTGGG1-SGG78"}, { + "id": "SXB78", + "name": "SDCTGXB1-SXB78" + }, {"id": "SJJ78", "name": "SDCTJJJ1-SJJ78"}, {"id": "SKK78", "name": "SDCTKKK1-SKK78"}, { + "id": "SLF78", + "name": "SDCTLFN1-SLF78" + }, {"id": "SLL78", "name": "SDCTLLL1-SLL78"}, {"id": "MAD11", "name": "SDFQWGKL-MAD11"}, { + "id": "HGD1", + "name": "SDFQWHGD-HGD1" + }, {"id": "SBB78", "name": "SDIT1BBB-SBB78"}, {"id": "SDG78", "name": "SDIT1BDG-SDG78"}, { + "id": "SBU78", + "name": "SDIT1BUB-SBU78" + }, {"id": "SHH78", "name": "SDIT1HHH-SHH78"}, {"id": "SJU78", "name": "SDIT1JUB-SJU78"}, { + "id": "SNA1", + "name": "SNANTXCA-SNA1" + }, {"id": "SAM1", "name": "SNDGCA64-SAN1"}, {"id": "SNG1", "name": "SNGPSIAU-SNG1"}, { + "id": "SSA56", + "name": "SSIT2AA7-SSA56" + }, {"id": "STG1", "name": "STTGGE62-STG1"}, {"id": "STT1", "name": "STTLWA02-STT1"}, { + "id": "SYD1", + "name": "SYDNAUBV-SYD1" + }, {"id": "ATL99", "name": "TEESTAAI-ATL43"}, {"id": "ATL98", "name": "TEESTAAI-ATL43"}, { + "id": "ATL76", + "name": "TELEPAAI-ATL76" + }, {"id": "ABC14", "name": "TESAAISA-ABC14"}, {"id": "TAT33", "name": "TESAAISA-TAT33"}, { + "id": "TAT34", + "name": "TESAAISB-TAT34" + }, {"id": "TAT37", "name": "TESAAISD-TAT37"}, {"id": "ATL62", "name": "TESSASCH-ATL62"}, { + "id": "TLP1", + "name": "TLPNXM18-TLP1" + }, {"id": "SAN13", "name": "TOKYJPFA-SAN13"}, {"id": "TOK1", "name": "TOKYJPFA-TOK1"}, { + "id": "TOL1", + "name": "TOLDOH21-TOL1" + }, {"id": "TOR1", "name": "TOROONXN-TOR1"}, {"id": "TOY1", "name": "TORYONNZ-TOY1"}, { + "id": "ATL35", + "name": "TTESSAAI-ATL35" + }, {"id": "TUF1", "name": "TUFCLLI1-TUF1"}, {"id": "SAI1", "name": "UBEKQLPD-SAI1"}, { + "id": "UUU4", + "name": "UUUAAAUU-UUU4" + }, {"id": "YYY1", "name": "UUUAIAAI-YYY1"}, {"id": "BAN1", "name": "VSDKYUTP-BAN1"}, { + "id": "WAS1", + "name": "WASHDCSW-WAS1" + }, {"id": "APP1", "name": "WBHGTYUI-APP1"}, {"id": "SUL2", "name": "WERTYUJK-SUL2"}, { + "id": "DEF2", + "name": "WSBHGTYL-DEF2" + }, {"id": "DHA12", "name": "WSXEDECF-DHA12"}, {"id": "MNT11", "name": "WSXEFBTH-MNT11"}, { + "id": "RAJ1", + "name": "YGBIJNLQ-RAJ1" + }, {"id": "JAG1", "name": "YUDFJULP-JAG1"}, {"id": "ZEN1", "name": "ZENCLLI1-ZEN1"}, { + "id": "ZOG1", + "name": "ZOGASTRO-ZOG1" + }, {"id": "SDE1", "name": "ZXCVBNMA-SDE1"}, {"id": "SIP1", "name": "ZXCVBNMK-SIP1"}, { + "id": "JUL1", + "name": "ZXCVBNMM-JUL1" + }, {"id": "ERT1", "name": "ertclli1-ERT1"}, {"id": "IOP1", "name": "iopclli1-IOP1"}, { + "id": "OPA1", + "name": "opaclli1-OPA1" + }, {"id": "RAI1", "name": "poiuytre-RAI1"}, {"id": "PUR1", "name": "purelyde-PUR1"}, { + "id": "RTY1", + "name": "rtyclli1-RTY1" + }, {"id": "SDF1", "name": "sdfclli1-SDF1"}, {"id": "SSW56", "name": "ss8126GT-SSW56"}, { + "id": "UIO1", + "name": "uioclli1-UIO1" + }], "categoryParameters": { "owningEntityList": [{ "id": "aaa1", @@ -1458,3 +1776,63 @@ function getStore() { } } } + +function getNetworkModel(){ + return { + "customizationUuid":"94fdd893-4a36-4d70-b16a-ec29c54c184f", + "name":"ExtVL", + "version":"37.0", + "description":"ECOMP generic virtual link (network) base type for all other service-level and global networks", + "uuid":"ddc3f20c-08b5-40fd-af72-c6d14636b986", + "invariantUuid":"379f816b-a7aa-422f-be30-17114ff50b7c", + "max":1, + "min":0, + "isEcompGeneratedNaming":false, + "type":"VL", + "modelCustomizationName":"ExtVL 0", + "roles":["network role 1"," network role 2"], + "properties":{ + "network_role":"network role 1, network role 2", + "network_assignments": + "{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}}", + "exVL_naming":"{ecomp_generated_naming=true}","network_flows":"{is_network_policy=false, is_bound_to_vpn=false}", + "network_homing":"{ecomp_selected_instance_node_target=false}" + } + }; + +} + +function getNetworkInstance() { + return { + "modelCustomizationId": "94fdd893-4a36-4d70-b16a-ec29c54c184f", + "modelId": "ddc3f20c-08b5-40fd-af72-c6d14636b986", + "modelUniqueId": "94fdd893-4a36-4d70-b16a-ec29c54c184f", + "missingData": true, + "id": "NETWORK4_INSTANCE_ID", + "action": "None", + "orchStatus": "Created", + "provStatus": "preprov", + "inMaint": false, + "instanceId": "NETWORK4_INSTANCE_ID", + "instanceType": "CONTRAIL30_HIMELGUARD", + "instanceName": "NETWORK4_INSTANCE_NAME", + "name": "NETWORK4_INSTANCE_NAME", + "modelName": "ExtVL 0", + "type": "VL", + "isEcompGeneratedNaming": false, + "networkStoreKey": "NETWORK4_INSTANCE_ID", + "typeName": "N", + "menuActions": {"edit": {}, "showAuditInfo": {}, "duplicate": {}, "remove": {}, "delete": {}, "undoDelete": {}}, + "isFailed": false, + "statusMessage": "", + "statusProperties": [{"key": "Prov Status:", "value": "preprov", "testId": "provStatus"}, { + "key": "Orch Status:", + "value": "Created", + "testId": "orchStatus" + }], + "trackById": "1wvr73xl999", + "parentType": "", + "componentInfoType": "Network", + "errors": {} + }; +} diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/shared.tree.service.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/shared.tree.service.ts index 5a023d55c..7df03fd0a 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/shared.tree.service.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/shared.tree.service.ts @@ -9,6 +9,8 @@ import {DrawingBoardModes} from "../drawing-board.modes"; import {AuditInfoModalComponent} from "../../../shared/components/auditInfoModal/auditInfoModal.component"; import {VnfModelInfo} from "./models/vnf/vnf.model.info"; import {ILevelNodeInfo} from "./models/basic.model.info"; +import {ComponentInfoModel, ComponentInfoType} from "../component-info/component-info-model"; +import {ModelInformationItem} from "../../../shared/components/model-information/model-information.component"; @Injectable() export class SharedTreeService { @@ -265,14 +267,29 @@ export class SharedTreeService { @modelInfoService : the model (vnf, vfmodule, network, vnfgroup)object that call to the function (this) ************************************************/ openAuditInfoModal(node, serviceModelId, instance, instanceType, modelInfoService : ILevelNodeInfo){ - let isInstanceFailed = this.isFailed(node); - AuditInfoModalComponent.openInstanceAuditInfoModal.next({ - instanceId: serviceModelId, - type: instanceType, - model: modelInfoService.getModel(node.data.modelName, instance, this._store.getState().service.serviceHierarchy[serviceModelId]), - instance, - isInstanceFailed, - trackById: instance.trackById - }); - } + AuditInfoModalComponent.openInstanceAuditInfoModal.next({ + instanceId: serviceModelId, + type: instanceType, + model: modelInfoService.getModel(node.data.modelName, instance, this._store.getState().service.serviceHierarchy[serviceModelId]), + instance + }); + } + + + addGeneralInfoItems(modelInfoSpecificItems: ModelInformationItem[], type: ComponentInfoType, model, instance):ComponentInfoModel { + let modelInfoItems: ModelInformationItem[] = [ + ModelInformationItem.createInstance("Model version", model ? model.version : null), + ModelInformationItem.createInstance("Model customization ID", model ? model.customizationUuid : null), + ModelInformationItem.createInstance("Instance ID", instance ? instance.instanceId : null), + ModelInformationItem.createInstance("Instance type", instance ? instance.instanceType : null), + ModelInformationItem.createInstance("In maintenance", instance? instance.inMaint : null), + ]; + modelInfoItems = modelInfoItems.concat(modelInfoSpecificItems); + return this.getComponentInfoModelByModelInformationItems(modelInfoItems, type, instance); + } + + getComponentInfoModelByModelInformationItems(modelInfoItems: ModelInformationItem[], type: ComponentInfoType, instance){ + const modelInfoItemsWithoutEmpty = _.filter(modelInfoItems, function(item){ return !item.values.every(_.isNil)}); + return new ComponentInfoModel(type, modelInfoItemsWithoutEmpty, [], instance != null); + } } diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/service-planning.component.html b/vid-webpack-master/src/app/drawingBoard/service-planning/service-planning.component.html index 059937f6d..3255f083b 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/service-planning.component.html +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/service-planning.component.html @@ -3,9 +3,15 @@ <drawing-board-header></drawing-board-header> </div> <div class="service-planning-content"> - <available-models-tree class="left-side" [ngClass]="isShowComponentInfo() ?'col-md-5':'col-md-6'" + <available-models-tree class="left-side" + [ngClass]="isShowComponentInfo() ?'col-md-5':'col-md-6'" (highlightInstances)="highlightInstancesBySelectingNode($event)"></available-models-tree> - <drawing-board-tree *ngIf="isShowTree()" class="span-over" [ngClass]="isShowComponentInfo() ?'col-md-5':'col-md-6'" (highlightNode)="highlightNodeBySelectingInstance($event)"></drawing-board-tree> + <drawing-board-tree + *ngIf="isShowTree()" + class="span-over" + [ngClass]="isShowComponentInfo() ?'col-md-5':'col-md-6'" + [pageMode]="pageMode" + (highlightNode)="highlightNodeBySelectingInstance($event)"></drawing-board-tree> <component-info *ngIf="isShowComponentInfo()" class="col-md-2"></component-info> </div> diff --git a/vid-webpack-master/src/app/factories/mso.factory.spec.ts b/vid-webpack-master/src/app/factories/mso.factory.spec.ts index 75f205804..69d941720 100644 --- a/vid-webpack-master/src/app/factories/mso.factory.spec.ts +++ b/vid-webpack-master/src/app/factories/mso.factory.spec.ts @@ -6,7 +6,7 @@ describe('Vlantagging', () => { sessionStorage.setItem("msoRequestParametersTestApiValue","GR_API"); let userInputs_withEcompGeneratedNaming = { "productFamily": "e433710f-9217-458d-a79d-1c7aff376d89", - "lcpRegion": "JANET25", + "lcpRegion": "AAIAIC25", "tenantId": "092eb9e8e4b7412e8787dd091bc58e86", "aicZone": "YYY1", "platformName": "plat1", @@ -15,7 +15,7 @@ describe('Vlantagging', () => { let userInputs_withoutEcompGeneratedNaming = { "instanceName": "New Name", "productFamily": "e433710f-9217-458d-a79d-1c7aff376d89", - "lcpRegion": "JANET25", + "lcpRegion": "AAIAIC25", "tenantId": "092eb9e8e4b7412e8787dd091bc58e86", "aicZone": "YYY1", "platformName": "plat1", @@ -25,23 +25,23 @@ describe('Vlantagging', () => { "service": { "uuid": "6bce7302-70bd-4057-b48e-8d5b99e686ca", "invariantUuid": "9aa04749-c02c-432d-a90c-18caa361c833", - "name": "vDBE_srv", + "name": "vDOROTHEA_srv", "version": "1.0", "toscaModelURL": null, "category": "Network L4+", "serviceType": "", "serviceRole": "", - "description": "vDBE_srv", + "description": "vDOROTHEA_srv", "serviceEcompNaming": "true", "instantiationType": "A-La-Carte", "inputs": {} }, "vnfs": { - "vDBE 0": { + "vDOROTHEA 0": { "uuid": "61535073-2e50-4141-9000-f66fea69b433", "invariantUuid": "fcdf49ce-6f0b-4ca2-b676-a484e650e734", - "description": "vDBE", - "name": "vDBE", + "description": "vDOROTHEA", + "name": "vDOROTHEA", "version": "0.2", "customizationUuid": "1", "inputs": {}, @@ -57,16 +57,16 @@ describe('Vlantagging', () => { "untr_network_collection_function": "untraaa" }, "type": "VF", - "modelCustomizationName": "vDBE 0", + "modelCustomizationName": "vDOROTHEA 0", "vfModules": { - "vdbe0..Vdbe..main..module-0": { + "vdorothea0..Vdorothea..main..module-0": { "uuid": "25a4d009-2f5a-44b4-b02a-62c584c15912", "invariantUuid": "614afb1a-3e7e-44e9-90ab-424d0070c781", "customizationUuid": "3443b341-7b0b-498c-a84a-a7ee736cba7e", "description": null, - "name": "Vdbe..main..module-0", + "name": "Vdorothea..main..module-0", "version": "1", - "modelCustomizationName": "Vdbe..main..module-0", + "modelCustomizationName": "Vdorothea..main..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, @@ -107,18 +107,18 @@ describe('Vlantagging', () => { } }, "networks": {}, - "collectionResource": {}, + "collectionResources": {}, "configurations": {}, "serviceProxies": {}, "vfModules": { - "vdbe0..Vdbe..main..module-0": { + "vdorothea0..Vdorothea..main..module-0": { "uuid": "25a4d009-2f5a-44b4-b02a-62c584c15912", "invariantUuid": "614afb1a-3e7e-44e9-90ab-424d0070c781", "customizationUuid": "3443b341-7b0b-498c-a84a-a7ee736cba7e", "description": null, - "name": "Vdbe..main..module-0", + "name": "Vdorothea..main..module-0", "version": "1", - "modelCustomizationName": "Vdbe..main..module-0", + "modelCustomizationName": "Vdorothea..main..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, @@ -252,15 +252,15 @@ describe('Vlantagging', () => { }, "lineOfBusiness": Object({ lineOfBusinessName: "onap" }), "cloudConfiguration": { - "lcpCloudRegionId": "JANET25", + "lcpCloudRegionId": "AAIAIC25", "tenantId": "092eb9e8e4b7412e8787dd091bc58e86" }, "platform": Object({ platformName: "plat1" }), "modelInfo": { modelCustomizationId :'1', "modelVersionId": "61535073-2e50-4141-9000-f66fea69b433", - "modelCustomizationName": "vDBE 0", - "modelName": "vDBE", + "modelCustomizationName": "vDOROTHEA 0", + "modelName": "vDOROTHEA", "modelInvariantId": "fcdf49ce-6f0b-4ca2-b676-a484e650e734", "modelType": "vnf", "modelVersion": "0.2" @@ -275,7 +275,7 @@ describe('Vlantagging', () => { "instanceId": "6bce7302-70bd-4057-b48e-8d5b99e686ca", "modelInfo": { "modelVersionId": "6bce7302-70bd-4057-b48e-8d5b99e686ca", - "modelName": "vDBE_srv", + "modelName": "vDOROTHEA_srv", "modelInvariantId": "9aa04749-c02c-432d-a90c-18caa361c833", "modelType": "service", "modelVersion": "1.0" @@ -302,10 +302,10 @@ describe('Vlantagging', () => { }; - let actualResult_withEcompGeneratedNaming = <any>createRequest("az2016",userInputs_withEcompGeneratedNaming, service, serviceInstanceId, networkInstanceGroups,'vDBE 0','1'); + let actualResult_withEcompGeneratedNaming = <any>createRequest("az2016",userInputs_withEcompGeneratedNaming, service, serviceInstanceId, networkInstanceGroups,'vDOROTHEA 0','1'); expect(actualResult_withEcompGeneratedNaming).toEqual(expectedResult); expectedResult["requestInfo"]["instanceName"] = "New Name"; - let actualResult_withoutEcompGeneratedNaming = <any>createRequest("az2016",userInputs_withoutEcompGeneratedNaming, service, serviceInstanceId, networkInstanceGroups,'vDBE 0','1'); + let actualResult_withoutEcompGeneratedNaming = <any>createRequest("az2016",userInputs_withoutEcompGeneratedNaming, service, serviceInstanceId, networkInstanceGroups,'vDOROTHEA 0','1'); expect(actualResult_withoutEcompGeneratedNaming).toEqual(expectedResult); sessionStorage.removeItem("msoRequestParametersTestApiValue"); }); diff --git a/vid-webpack-master/src/app/instantiationStatus/instantiationStatus.component.service.spec.ts b/vid-webpack-master/src/app/instantiationStatus/instantiationStatus.component.service.spec.ts index 4848d8e99..aeaa05780 100644 --- a/vid-webpack-master/src/app/instantiationStatus/instantiationStatus.component.service.spec.ts +++ b/vid-webpack-master/src/app/instantiationStatus/instantiationStatus.component.service.spec.ts @@ -107,7 +107,7 @@ describe('Instantiation Status Service', () => { serviceType : 'serviceType', subscriberId : 'subscriberId' }; - let params:UrlTree = service.getNewViewEditUrlTree(item, DrawingBoardModes.VIEW); + let params:UrlTree = service.getNewViewEditUrlTree(<any>item, DrawingBoardModes.VIEW); expect(params.toString().startsWith('/servicePlanning/VIEW')).toBeTruthy(); expect(params.queryParams).toEqual( { @@ -124,7 +124,7 @@ describe('Instantiation Status Service', () => { }; let serviceModelUrl: string = '/servicePlanning/EDIT?serviceModelId=28aeb8f6-5620-4148-8bfb-a5fb406f0309'; let suffix:string = '../../serviceModels.htm#'; - let tree:UrlTree = service.getNewViewEditUrlTree(item, DrawingBoardModes.EDIT); + let tree:UrlTree = service.getNewViewEditUrlTree(<any>item, DrawingBoardModes.EDIT); let result = service.getViewEditUrl(tree); expect (suffix + serviceModelUrl).toEqual(result); }); diff --git a/vid-webpack-master/src/app/shared/components/auditInfoModal/auditInfoModal.component.html b/vid-webpack-master/src/app/shared/components/auditInfoModal/auditInfoModal.component.html index 1dad32376..5145784e2 100644 --- a/vid-webpack-master/src/app/shared/components/auditInfoModal/auditInfoModal.component.html +++ b/vid-webpack-master/src/app/shared/components/auditInfoModal/auditInfoModal.component.html @@ -14,76 +14,73 @@ </div> </div> <div class="col-md-8 right-panel"> - <div class="row" *ngIf="showVidStatus"><span class="table-title">VID status</span></div> - <div class="row" *ngIf="showVidStatus"> - <table id="service-instantiation-audit-info-vid" class="table table-bordered"> - <thead class="thead-dark"> - <tr class="row"> - <th class="col-md-4" scope="col">Status</th> - <th class="col-md-4" scope="col">Status time</th> - <th class="col-md-4" scope="col">Final</th> - </tr> - </thead> - <tbody> - <tr class="row" *ngFor="let data of vidInfoData"> - <td class="col-md-4" id="vidJobStatus" [attr.data-tests-id]="'vidJobStatus'"> - <custom-ellipsis [id]="data?.jobStatus" [value]="data?.jobStatus | capitalizeAndFormat"></custom-ellipsis> - </td> - <td class="col-md-4" id="vidStatusTime"> - <custom-ellipsis [id]="data?.vidCreated" - [value]="data?.createdDate | date:'MMM dd, yyyy HH:mm'"></custom-ellipsis> - </td> - <td class="col-md-4" id="vidFinalStatus"> - <custom-ellipsis [id]="data?.final" - [value]="data?.final ? 'Yes' : 'No'"></custom-ellipsis> - </td> - </tr> - </tbody> - </table> - <div class="no-result" *ngIf="!isLoading && vidInfoData?.length == 0">There is no data.</div> - </div> - - <div class="row"> - <div class="col-md-6 leftColumn"><span class="table-title">MSO status</span></div> - <div class="col-md-6 rightColumn"><span><a id="glossary_link" target="_blank" href="#" (click)="onNavigate()">Building Block (BB) glossary</a></span></div> - </div> - <table id="service-instantiation-audit-info-mso" class="table table-bordered"> - <thead class="thead-dark row"> + <div class="row" *ngIf="showVidStatus"><span class="table-title">VID status</span></div> + <div class="row" *ngIf="showVidStatus"> + <table id="service-instantiation-audit-info-vid" class="table table-bordered"> + <thead class="thead-dark"> <tr class="row"> - <th scope="col" class="request-id">Request ID</th> - <th *ngIf="isAlaCarte&&isALaCarteFlagOn" id="instanceName" class="col-md-2" scope="col">Instance Name</th> - <th class="col-md-2" scope="col">Status</th> - <th class="col-md-2" scope="col">Status time</th> - <th class="col-md-2" scope="col">Additional info</th> + <th class="col-md-4" scope="col">Status</th> + <th class="col-md-4" scope="col">Status time</th> + <th class="col-md-4" scope="col">Final</th> </tr> </thead> <tbody> - <tr class="row" *ngFor="let data of msoInfoData"> - <td id="msoRequestId" class="request-id"> - <custom-ellipsis [id]="data?.requestId" [value]="data?.requestId"></custom-ellipsis> - </td> - <td *ngIf="isAlaCarte && isALaCarteFlagOn" class="msoInstanceName col-md-2"> - <custom-ellipsis [id]="data?.instanceName" [value]="data?.instanceType + ': ' + data?.instanceName"></custom-ellipsis> - </td> - <td class="col-md-2" id="msoJobStatus"> + <tr class="row" *ngFor="let data of vidInfoData"> + <td class="col-md-4" id="vidJobStatus" [attr.data-tests-id]="'vidJobStatus'"> <custom-ellipsis [id]="data?.jobStatus" [value]="data?.jobStatus | capitalizeAndFormat"></custom-ellipsis> </td> - <td class="col-md-2" id="msoStatusTime"> + <td class="col-md-4" id="vidStatusTime"> <custom-ellipsis [id]="data?.vidCreated" - [value]="data?.createdDate | date:'MMM dd, yyyy HH:mm'"></custom-ellipsis> + [value]="data?.createdDate | date:'MMM dd, yyyy HH:mm'"></custom-ellipsis> </td> - <td class="col-md-2" id="msoAdditionalInfo"> - <custom-ellipsis [id]="data?.additionalInfo" [value]="data?.additionalInfo"></custom-ellipsis> + <td class="col-md-4" id="vidFinalStatus"> + <custom-ellipsis [id]="data?.final" + [value]="data?.final ? 'Yes' : 'No'"></custom-ellipsis> </td> </tr> </tbody> </table> - <div class="no-result" *ngIf="!isLoading && msoInfoData?.length == 0">There is no data.</div> + <div class="no-result" *ngIf="!isLoading && vidInfoData?.length == 0">There is no data.</div> + </div> + + <div class="row"> + <div class="col-md-6 leftColumn"><span class="table-title">MSO status</span></div> + <div class="col-md-6 rightColumn"><span><a id="glossary_link" target="_blank" href="#" (click)="onNavigate()">Building Block (BB) glossary</a></span></div> </div> + <table id="service-instantiation-audit-info-mso" class="table table-bordered"> + <thead class="thead-dark row"> + <tr class="row"> + <th scope="col" class="request-id" style="min-width: 275px;max-width: 275px;">Request ID</th> + <th scope="col" style="min-width: 100px;max-width: 100px;">Status</th> + <th *ngIf="isAlaCarte&&isALaCarteFlagOn" id="instanceName" class="col-md-2" scope="col" style="max-width: 350px;">Instance Name</th> + + <th class="col-md-2" scope="col" style="min-width: 300px;max-width: 300px;">Additional info</th> + </tr> + </thead> + <tbody> + <tr class="row" *ngFor="let data of msoInfoData"> + <td id="msoRequestId" class="request-id" style="min-width: 275px;max-width: 275px;"> + <custom-ellipsis [id]="data?.requestId" [value]="data?.requestId" [attr.data-tests-id]="'requestId'"></custom-ellipsis> + </td> + <td id="msoJobStatus" style="min-width: 100px;max-width: 100px;"> + <custom-ellipsis [id]="data?.jobStatus" [value]="data?.jobStatus | capitalizeAndFormat" [attr.data-tests-id]="'jobStatus'"></custom-ellipsis> + </td> + <td *ngIf="isAlaCarte && isALaCarteFlagOn" class="msoInstanceName col-md-2" style="max-width: 350px;"> + <custom-ellipsis [id]="data?.instanceName" [value]="data?.instanceType + ': ' + data?.instanceName"></custom-ellipsis> + </td> + + <td class="col-md-2" id="msoAdditionalInfo" style="min-width: 300px;max-width: 300px;"> + <custom-ellipsis [id]="data?.additionalInfo" [value]="data?.additionalInfo" [attr.data-tests-id]="'additionalInfo'"></custom-ellipsis> + </td> + </tr> + </tbody> + </table> + <div class="no-result" *ngIf="!isLoading && msoInfoData?.length == 0">There is no data.</div> + </div> </div> <div class="modal-footer row"> - <button style= "font-size: 12px" id="cancelButton" type="button" class="btn btn-default cancel" (click)="onCancelClick()"> + <button style= "font-size: 12px" id="cancelButton" type="button" class="btn btn-default cancel" (click)="onCancelClick()" [attr.data-tests-id]="'close-button'"> Close </button> </div> diff --git a/vid-webpack-master/src/app/shared/components/auditInfoModal/auditInfoModal.component.service.spec.ts b/vid-webpack-master/src/app/shared/components/auditInfoModal/auditInfoModal.component.service.spec.ts index 35b5fbfe5..e08477db9 100644 --- a/vid-webpack-master/src/app/shared/components/auditInfoModal/auditInfoModal.component.service.spec.ts +++ b/vid-webpack-master/src/app/shared/components/auditInfoModal/auditInfoModal.component.service.spec.ts @@ -154,7 +154,7 @@ describe("Audit info modal component service", () => { const results: ModelInformationItem[] = auditInfoModalComponentService.getModelInfo(model, instance, "6e59c5de-f052-46fa-aa7e-2fca9d674c44"); expect(results.find((item) => item.label === 'Model customization ID').values[0]).toEqual("91415b44-753d-494c-926a-456a9172bbb9"); expect(results.find((item) => item.label === 'Model version').values[0]).toEqual("2.0"); - expect(results.find((item) => item.label === 'Model name').values[0]).toEqual("VF_vMee"); + expect(results.find((item) => item.label === 'Model name').values[0]).toEqual("VF_vGeraldine"); expect(results.find((item) => item.label === 'Instance name').values[0]).toEqual("4O61SmpFAdCm1oVEs"); expect(results.find((item) => item.label === 'Instance ID').values[0]).toEqual("66cbb3b5-c823-470c-9520-4e0b85112250"); expect(results.find((item) => item.label === 'Subscriber name').values[0]).toEqual("DALE BRIDGES"); // TODO should call subscriber @@ -177,7 +177,7 @@ describe("Audit info modal component service", () => { const results: ModelInformationItem[] = auditInfoModalComponentService.getModelInfo(model, instance, "6e59c5de-f052-46fa-aa7e-2fca9d674c44"); expect(results.find((item) => item.label === 'Model customization ID').values[0]).toEqual("55b1be94-671a-403e-a26c-667e9c47d091"); expect(results.find((item) => item.label === 'Model version').values[0]).toEqual("2"); - expect(results.find((item) => item.label === 'Model name').values[0]).toEqual("VfVmee..vmme_vlc..module-1"); + expect(results.find((item) => item.label === 'Model name').values[0]).toEqual("VfVgeraldine..vflorence_vlc..module-1"); expect(results.find((item) => item.label === 'Instance name').values[0]).toEqual("ss820f_0918_db"); expect(results.find((item) => item.label === 'Instance ID').values[0]).toEqual("2c1ca484-cbc2-408b-ab86-25a2c15ce280"); expect(results.find((item) => item.label === 'Subscriber name').values[0]).toEqual("DALE BRIDGES"); // TODO should call subscriber @@ -241,19 +241,19 @@ describe("Audit info modal component service", () => { function getVNFModel(){ - return {"name":"VF_vMee","version":"2.0","description":"VSP_vMee","uuid":"d6557200-ecf2-4641-8094-5393ae3aae60","invariantUuid":"4160458e-f648-4b30-a176-43881ffffe9e","max":1,"min":0,"customizationUuid":"91415b44-753d-494c-926a-456a9172bbb9","isEcompGeneratedNaming":true,"type":"VF","modelCustomizationName":"VF_vMee 0","vfcInstanceGroups":{},"properties":{"gpb2_Internal2_mac":"00:11:22:EF:AC:DF","sctp-a-ipv6-egress_rule_application":"any","sctp-b-ipv6-egress_src_start_port":"0","Internal2_allow_transit":"true","sctp-b-IPv6_ethertype":"IPv6","ncb2_Internal1_mac":"00:11:22:EF:AC:DF","sctp-b-ingress_rule_protocol":"icmp","sctp-b-ingress_action":"pass","sctp-a-egress_rule_application":"any","sctp-b-ipv6-ingress-src_start_port":"0.0","ncb1_Internal2_mac":"00:11:22:EF:AC:DF","sctp-b-egress_src_addresses":"local","fsb_volume_size_0":"320.0","sctp-a-ipv6-ingress-dst_start_port":"0","sctp-a-ipv6-ingress_ethertype":"IPv4","sctp-b-ipv6-ingress_rule_application":"any","domain_name":"default-domain","sctp-a-egress_src_addresses":"local","sctp-b-egress-src_start_port":"0.0","sctp-a-ingress_rule_protocol":"icmp","sctp-b-display_name":"epc-sctp-b-ipv4v6-sec-group","sctp-b-ipv6-ingress-dst_end_port":"65535","sctp-a-ingress_ethertype":"IPv4","sctp-a-egress-src_start_port":"0.0","sctp-b-dst_subnet_prefix_v6":"::","nf_naming":"{ecomp_generated_naming=true}","sctp-a-ipv6-ingress_src_subnet_prefix":"0.0.0.0","sctp-b-egress-dst_start_port":"0.0","ncb_flavor_name":"nv.c20r64d1","sctp-b-egress_dst_subnet_prefix_len":"0.0","gpb1_Internal1_mac":"00:11:22:EF:AC:DF","Internal2_net_cidr":"10.0.0.10","sctp-a-ingress-dst_start_port":"0.0","fsb1_Internal2_mac":"00:11:22:EF:AC:DF","sctp-a-egress-dst_start_port":"0.0","sctp-a-egress_ethertype":"IPv4","vlc_st_service_mode":"in-network-nat","sctp-a-ipv6-egress_ethertype":"IPv4","sctp-a-egress-src_end_port":"65535.0","sctp-b-egress_action":"pass","sctp-b-ipv6-egress_rule_application":"any","sctp-a-ingress-src_subnet_prefix_len":"0.0","sctp-b-ipv6-ingress-src_end_port":"65535.0","sctp-a-ipv6-ingress-src_start_port":"0.0","fsb2_Internal1_mac":"00:11:22:EF:AC:DF","sctp-b-name":"epc-sctp-b-ipv4v6-sec-group","sctp-b-ipv6-egress_ethertype":"IPv4","Internal1_net_cidr":"10.0.0.10","sctp-a-egress_dst_subnet_prefix":"0.0.0.0","fsb_flavor_name":"nv.c20r64d1","sctp_rule_protocol":"132","sctp-a-ipv6-ingress_rule_application":"any","sctp-b-ipv6-ingress_src_subnet_prefix_len":"0","ecomp_generated_naming":"true","sctp-a-IPv6_ethertype":"IPv6","vlc_st_virtualization_type":"virtual-machine","vlc2_Internal1_mac":"00:11:22:EF:AC:DF","sctp-b-ingress-dst_end_port":"65535.0","sctp-b-ingress-dst_start_port":"0.0","sctp-a-ipv6-ingress-src_end_port":"65535.0","sctp-a-display_name":"epc-sctp-a-ipv4v6-sec-group","sctp-b-ingress_rule_application":"any","vlc_flavor_name":"nd.c16r64d1","int2_sec_group_name":"int2-sec-group","sctp-b-ipv6-egress_src_addresses":"local","vlc_st_interface_type_int1":"other1","vlc_st_interface_type_int2":"other2","sctp-a-ipv6-egress-dst_start_port":"0","sctp-b-egress-src_end_port":"65535.0","sctp-a-ipv6-egress_dst_subnet_prefix_len":"0","Internal2_shared":"false","sctp-a-ipv6-egress_rule_protocol":"any","Internal2_rpf":"disable","vlc1_Internal1_mac":"00:11:22:EF:AC:DF","sctp-b-ipv6-egress_src_end_port":"65535","sctp-a-ipv6-egress_src_addresses":"local","sctp-a-ingress-dst_end_port":"65535.0","sctp-a-ipv6-egress_src_end_port":"65535","Internal1_forwarding_mode":"l2","Internal2_dhcp":"false","sctp-a-dst_subnet_prefix_v6":"::","pxe_image_name":"MME_PXE-Boot_16ACP04_GA.qcow2","vlc_st_interface_type_gtp":"other0","ncb1_Internal1_mac":"00:11:22:EF:AC:DF","sctp-b-src_subnet_prefix_v6":"::","sctp-a-egress_dst_subnet_prefix_len":"0.0","int1_sec_group_name":"int1-sec-group","Internal1_dhcp":"false","fsb2_Internal2_mac":"00:11:22:EF:AC:DF","Internal2_forwarding_mode":"l2","sctp-a-ipv6-egress_dst_end_port":"65535","sctp-b-egress_dst_subnet_prefix":"0.0.0.0","Internal1_net_cidr_len":"17","gpb2_Internal1_mac":"00:11:22:EF:AC:DF","sctp-a-ingress_dst_addresses":"local","sctp-b-ingress-src_subnet_prefix_len":"0.0","sctp-a-egress_action":"pass","fsb_volume_type_0":"SF-Default-SSD","ncb2_Internal2_mac":"00:11:22:EF:AC:DF","vlc_st_interface_type_sctp_a":"left","vlc_st_version":"2","sctp-a-src_subnet_prefix_v6":"::","vlc_st_interface_type_sctp_b":"right","sctp-a-ingress_rule_application":"any","sctp-b-egress_ethertype":"IPv4","sctp-a-ipv6-egress_src_start_port":"0","instance_ip_family_v6":"v6","gpb1_Internal2_mac":"00:11:22:EF:AC:DF","sctp-b-ingress-src_start_port":"0.0","fsb1_Internal1_mac":"00:11:22:EF:AC:DF","sctp-b-ingress_dst_addresses":"local","vlc_st_interface_type_oam":"management","multi_stage_design":"false","oam_sec_group_name":"oam-sec-group","Internal2_net_gateway":"10.0.0.10","sctp-a-ipv6-ingress-dst_end_port":"65535","Internal1_net_gateway":"10.0.0.10","sctp-b-ipv6-egress-dst_start_port":"0","sctp-b-ipv6-egress_rule_protocol":"any","gtp_sec_group_name":"gtp-sec-group","sctp-a-ipv6-egress_dst_subnet_prefix":"0.0.0.0","sctp-a-ipv6-ingress_dst_addresses":"local","sctp-b-ipv6-egress_dst_subnet_prefix_len":"0","sctp-b-ipv6-egress_action":"pass","sctp-a-egress_rule_protocol":"icmp","sctp-a-ipv6-egress_action":"pass","Internal1_shared":"false","sctp-b-ipv6-ingress_rule_protocol":"any","Internal2_net_cidr_len":"17","sctp-a-name":"epc-sctp-a-ipv4v6-sec-group","sctp-a-ingress-src_end_port":"65535.0","sctp-b-ipv6-ingress_src_subnet_prefix":"0.0.0.0","sctp-a-egress-dst_end_port":"65535.0","sctp-b-egress_rule_protocol":"icmp","sctp-a-ingress_action":"pass","sctp-b-ipv6-ingress_action":"pass","vlc_st_service_type":"firewall","sctp-b-ipv6-egress_dst_end_port":"65535","vlc2_Internal2_mac":"00:11:22:EF:AC:DF","sctp-b-ipv6-ingress-dst_start_port":"0","vlc_st_availability_zone":"true","sctp-b-ingress-src_subnet_prefix":"0.0.0.0","fsb_volume_image_name_1":"MME_FSB2_16ACP04_GA.qcow2","sctp-a-ipv6-ingress_src_subnet_prefix_len":"0","gpb_flavor_name":"nv.c20r64d1","Internal1_allow_transit":"true","availability_zone_max_count":"1","fsb_volume_image_name_0":"MME_FSB1_16ACP04_GA.qcow2","sctp-b-ipv6-ingress_dst_addresses":"local","sctp-b-ipv6-ingress_ethertype":"IPv4","sctp-b-ipv6-egress_dst_subnet_prefix":"0.0.0.0","sctp-a-ingress-src_subnet_prefix":"0.0.0.0","vlc1_Internal2_mac":"00:11:22:EF:AC:DF","sctp-a-ipv6-ingress_action":"pass","Internal1_rpf":"disable","sctp-b-ingress_ethertype":"IPv4","sctp-b-ingress-src_end_port":"65535.0","sctp-b-egress_rule_application":"any","sctp-a-ipv6-ingress_rule_protocol":"any","sctp-a-ingress-src_start_port":"0.0","sctp-b-egress-dst_end_port":"65535.0"}}; + return {"name":"VF_vGeraldine","version":"2.0","description":"VSP_vGeraldine","uuid":"d6557200-ecf2-4641-8094-5393ae3aae60","invariantUuid":"4160458e-f648-4b30-a176-43881ffffe9e","max":1,"min":0,"customizationUuid":"91415b44-753d-494c-926a-456a9172bbb9","isEcompGeneratedNaming":true,"type":"VF","modelCustomizationName":"VF_vGeraldine 0","vfcInstanceGroups":{},"properties":{"gpb2_Internal2_mac":"00:11:22:EF:AC:DF","sctp-a-ipv6-egress_rule_application":"any","sctp-b-ipv6-egress_src_start_port":"0","Internal2_allow_transit":"true","sctp-b-IPv6_ethertype":"IPv6","ncb2_Internal1_mac":"00:11:22:EF:AC:DF","sctp-b-ingress_rule_protocol":"icmp","sctp-b-ingress_action":"pass","sctp-a-egress_rule_application":"any","sctp-b-ipv6-ingress-src_start_port":"0.0","ncb1_Internal2_mac":"00:11:22:EF:AC:DF","sctp-b-egress_src_addresses":"local","fsb_volume_size_0":"320.0","sctp-a-ipv6-ingress-dst_start_port":"0","sctp-a-ipv6-ingress_ethertype":"IPv4","sctp-b-ipv6-ingress_rule_application":"any","domain_name":"default-domain","sctp-a-egress_src_addresses":"local","sctp-b-egress-src_start_port":"0.0","sctp-a-ingress_rule_protocol":"icmp","sctp-b-display_name":"epc-sctp-b-ipv4v6-sec-group","sctp-b-ipv6-ingress-dst_end_port":"65535","sctp-a-ingress_ethertype":"IPv4","sctp-a-egress-src_start_port":"0.0","sctp-b-dst_subnet_prefix_v6":"::","nf_naming":"{ecomp_generated_naming=true}","sctp-a-ipv6-ingress_src_subnet_prefix":"0.0.0.0","sctp-b-egress-dst_start_port":"0.0","ncb_flavor_name":"nv.c20r64d1","sctp-b-egress_dst_subnet_prefix_len":"0.0","gpb1_Internal1_mac":"00:11:22:EF:AC:DF","Internal2_net_cidr":"10.0.0.10","sctp-a-ingress-dst_start_port":"0.0","fsb1_Internal2_mac":"00:11:22:EF:AC:DF","sctp-a-egress-dst_start_port":"0.0","sctp-a-egress_ethertype":"IPv4","vlc_st_service_mode":"in-network-nat","sctp-a-ipv6-egress_ethertype":"IPv4","sctp-a-egress-src_end_port":"65535.0","sctp-b-egress_action":"pass","sctp-b-ipv6-egress_rule_application":"any","sctp-a-ingress-src_subnet_prefix_len":"0.0","sctp-b-ipv6-ingress-src_end_port":"65535.0","sctp-a-ipv6-ingress-src_start_port":"0.0","fsb2_Internal1_mac":"00:11:22:EF:AC:DF","sctp-b-name":"epc-sctp-b-ipv4v6-sec-group","sctp-b-ipv6-egress_ethertype":"IPv4","Internal1_net_cidr":"10.0.0.10","sctp-a-egress_dst_subnet_prefix":"0.0.0.0","fsb_flavor_name":"nv.c20r64d1","sctp_rule_protocol":"132","sctp-a-ipv6-ingress_rule_application":"any","sctp-b-ipv6-ingress_src_subnet_prefix_len":"0","ecomp_generated_naming":"true","sctp-a-IPv6_ethertype":"IPv6","vlc_st_virtualization_type":"virtual-machine","vlc2_Internal1_mac":"00:11:22:EF:AC:DF","sctp-b-ingress-dst_end_port":"65535.0","sctp-b-ingress-dst_start_port":"0.0","sctp-a-ipv6-ingress-src_end_port":"65535.0","sctp-a-display_name":"epc-sctp-a-ipv4v6-sec-group","sctp-b-ingress_rule_application":"any","vlc_flavor_name":"nd.c16r64d1","int2_sec_group_name":"int2-sec-group","sctp-b-ipv6-egress_src_addresses":"local","vlc_st_interface_type_int1":"other1","vlc_st_interface_type_int2":"other2","sctp-a-ipv6-egress-dst_start_port":"0","sctp-b-egress-src_end_port":"65535.0","sctp-a-ipv6-egress_dst_subnet_prefix_len":"0","Internal2_shared":"false","sctp-a-ipv6-egress_rule_protocol":"any","Internal2_rpf":"disable","vlc1_Internal1_mac":"00:11:22:EF:AC:DF","sctp-b-ipv6-egress_src_end_port":"65535","sctp-a-ipv6-egress_src_addresses":"local","sctp-a-ingress-dst_end_port":"65535.0","sctp-a-ipv6-egress_src_end_port":"65535","Internal1_forwarding_mode":"l2","Internal2_dhcp":"false","sctp-a-dst_subnet_prefix_v6":"::","pxe_image_name":"MME_PXE-Boot_16ACP04_GA.qcow2","vlc_st_interface_type_gtp":"other0","ncb1_Internal1_mac":"00:11:22:EF:AC:DF","sctp-b-src_subnet_prefix_v6":"::","sctp-a-egress_dst_subnet_prefix_len":"0.0","int1_sec_group_name":"int1-sec-group","Internal1_dhcp":"false","fsb2_Internal2_mac":"00:11:22:EF:AC:DF","Internal2_forwarding_mode":"l2","sctp-a-ipv6-egress_dst_end_port":"65535","sctp-b-egress_dst_subnet_prefix":"0.0.0.0","Internal1_net_cidr_len":"17","gpb2_Internal1_mac":"00:11:22:EF:AC:DF","sctp-a-ingress_dst_addresses":"local","sctp-b-ingress-src_subnet_prefix_len":"0.0","sctp-a-egress_action":"pass","fsb_volume_type_0":"SF-Default-SSD","ncb2_Internal2_mac":"00:11:22:EF:AC:DF","vlc_st_interface_type_sctp_a":"left","vlc_st_version":"2","sctp-a-src_subnet_prefix_v6":"::","vlc_st_interface_type_sctp_b":"right","sctp-a-ingress_rule_application":"any","sctp-b-egress_ethertype":"IPv4","sctp-a-ipv6-egress_src_start_port":"0","instance_ip_family_v6":"v6","gpb1_Internal2_mac":"00:11:22:EF:AC:DF","sctp-b-ingress-src_start_port":"0.0","fsb1_Internal1_mac":"00:11:22:EF:AC:DF","sctp-b-ingress_dst_addresses":"local","vlc_st_interface_type_oam":"management","multi_stage_design":"false","oam_sec_group_name":"oam-sec-group","Internal2_net_gateway":"10.0.0.10","sctp-a-ipv6-ingress-dst_end_port":"65535","Internal1_net_gateway":"10.0.0.10","sctp-b-ipv6-egress-dst_start_port":"0","sctp-b-ipv6-egress_rule_protocol":"any","gtp_sec_group_name":"gtp-sec-group","sctp-a-ipv6-egress_dst_subnet_prefix":"0.0.0.0","sctp-a-ipv6-ingress_dst_addresses":"local","sctp-b-ipv6-egress_dst_subnet_prefix_len":"0","sctp-b-ipv6-egress_action":"pass","sctp-a-egress_rule_protocol":"icmp","sctp-a-ipv6-egress_action":"pass","Internal1_shared":"false","sctp-b-ipv6-ingress_rule_protocol":"any","Internal2_net_cidr_len":"17","sctp-a-name":"epc-sctp-a-ipv4v6-sec-group","sctp-a-ingress-src_end_port":"65535.0","sctp-b-ipv6-ingress_src_subnet_prefix":"0.0.0.0","sctp-a-egress-dst_end_port":"65535.0","sctp-b-egress_rule_protocol":"icmp","sctp-a-ingress_action":"pass","sctp-b-ipv6-ingress_action":"pass","vlc_st_service_type":"firewall","sctp-b-ipv6-egress_dst_end_port":"65535","vlc2_Internal2_mac":"00:11:22:EF:AC:DF","sctp-b-ipv6-ingress-dst_start_port":"0","vlc_st_availability_zone":"true","sctp-b-ingress-src_subnet_prefix":"0.0.0.0","fsb_volume_image_name_1":"MME_FSB2_16ACP04_GA.qcow2","sctp-a-ipv6-ingress_src_subnet_prefix_len":"0","gpb_flavor_name":"nv.c20r64d1","Internal1_allow_transit":"true","availability_zone_max_count":"1","fsb_volume_image_name_0":"MME_FSB1_16ACP04_GA.qcow2","sctp-b-ipv6-ingress_dst_addresses":"local","sctp-b-ipv6-ingress_ethertype":"IPv4","sctp-b-ipv6-egress_dst_subnet_prefix":"0.0.0.0","sctp-a-ingress-src_subnet_prefix":"0.0.0.0","vlc1_Internal2_mac":"00:11:22:EF:AC:DF","sctp-a-ipv6-ingress_action":"pass","Internal1_rpf":"disable","sctp-b-ingress_ethertype":"IPv4","sctp-b-ingress-src_end_port":"65535.0","sctp-b-egress_rule_application":"any","sctp-a-ipv6-ingress_rule_protocol":"any","sctp-a-ingress-src_start_port":"0.0","sctp-b-egress-dst_end_port":"65535.0"}}; } function getVNFInstance(){ - return {"action":"None","instanceName":"4O61SmpFAdCm1oVEs","instanceId":"66cbb3b5-c823-470c-9520-4e0b85112250","orchStatus":null,"productFamilyId":null,"lcpCloudRegionId":null,"tenantId":null,"modelInfo":{"modelCustomizationName":"VF_vMee 0","modelInvariantId":"vnf-instance-model-invariant-id","modelVersionId":"d6557200-ecf2-4641-8094-5393ae3aae60","modelType":"vnf"},"instanceType":"7538ifdSoTccmbEkr","provStatus":null,"inMaint":true,"uuid":"d6557200-ecf2-4641-8094-5393ae3aae60","originalName":"VF_vMee 0","legacyRegion":null,"lineOfBusiness":null,"platformName":null,"trackById":"VF_vMee 0:004","vfModules":{"vf_vmee0..VfVmee..vmme_vlc..module-1":{"vf_vmee0..VfVmee..vmme_vlc..module-1:008":{"action":"None","instanceName":"ss820f_0918_db","instanceId":"2c1ca484-cbc2-408b-ab86-25a2c15ce280","orchStatus":"deleted","productFamilyId":null,"lcpCloudRegionId":null,"tenantId":null,"modelInfo":{"modelCustomizationName":"VfVmee..vmme_vlc..module-1","modelCustomizationId":"b200727a-1bf9-4e7c-bd06-b5f4c9d920b9","modelInvariantId":"09edc9ef-85d0-4b26-80de-1f569d49e750","modelVersionId":"522159d5-d6e0-4c2a-aa44-5a542a12a830","modelType":"vfModule"},"instanceType":null,"provStatus":null,"inMaint":true,"uuid":"522159d5-d6e0-4c2a-aa44-5a542a12a830","originalName":"VfVmee..vmme_vlc..module-1","legacyRegion":null,"lineOfBusiness":null,"platformName":null,"trackById":"vf_vmee0..VfVmee..vmme_vlc..module-1:008","isBase":false,"volumeGroupName":null}},"dc229cd8-c132-4455-8517-5c1787c18b14":{"dc229cd8-c132-4455-8517-5c1787c18b14:009":{"action":"None","instanceName":"ss820f_0918_base","instanceId":"3ef042c4-259f-45e0-9aba-0989bd8d1cc5","orchStatus":"Assigned","productFamilyId":null,"lcpCloudRegionId":null,"tenantId":null,"modelInfo":{"modelCustomizationId":"8ad8670b-0541-4499-8101-275bbd0e8b6a","modelInvariantId":"1e463c9c-404d-4056-ba56-28fd102608de","modelVersionId":"dc229cd8-c132-4455-8517-5c1787c18b14","modelType":"vfModule"},"instanceType":null,"provStatus":null,"inMaint":false,"uuid":"dc229cd8-c132-4455-8517-5c1787c18b14","originalName":null,"legacyRegion":null,"lineOfBusiness":null,"platformName":null,"trackById":"dc229cd8-c132-4455-8517-5c1787c18b14:009","isBase":true,"volumeGroupName":null}}},"networks":{}}; + return {"action":"None","instanceName":"4O61SmpFAdCm1oVEs","instanceId":"66cbb3b5-c823-470c-9520-4e0b85112250","orchStatus":null,"productFamilyId":null,"lcpCloudRegionId":null,"tenantId":null,"modelInfo":{"modelCustomizationName":"VF_vGeraldine 0","modelInvariantId":"vnf-instance-model-invariant-id","modelVersionId":"d6557200-ecf2-4641-8094-5393ae3aae60","modelType":"vnf"},"instanceType":"7538ifdSoTccmbEkr","provStatus":null,"inMaint":true,"uuid":"d6557200-ecf2-4641-8094-5393ae3aae60","originalName":"VF_vGeraldine 0","legacyRegion":null,"lineOfBusiness":null,"platformName":null,"trackById":"VF_vGeraldine 0:004","vfModules":{"vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1":{"vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1:008":{"action":"None","instanceName":"ss820f_0918_db","instanceId":"2c1ca484-cbc2-408b-ab86-25a2c15ce280","orchStatus":"deleted","productFamilyId":null,"lcpCloudRegionId":null,"tenantId":null,"modelInfo":{"modelCustomizationName":"VfVgeraldine..vflorence_vlc..module-1","modelCustomizationId":"b200727a-1bf9-4e7c-bd06-b5f4c9d920b9","modelInvariantId":"09edc9ef-85d0-4b26-80de-1f569d49e750","modelVersionId":"522159d5-d6e0-4c2a-aa44-5a542a12a830","modelType":"vfModule"},"instanceType":null,"provStatus":null,"inMaint":true,"uuid":"522159d5-d6e0-4c2a-aa44-5a542a12a830","originalName":"VfVgeraldine..vflorence_vlc..module-1","legacyRegion":null,"lineOfBusiness":null,"platformName":null,"trackById":"vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1:008","isBase":false,"volumeGroupName":null}},"dc229cd8-c132-4455-8517-5c1787c18b14":{"dc229cd8-c132-4455-8517-5c1787c18b14:009":{"action":"None","instanceName":"ss820f_0918_base","instanceId":"3ef042c4-259f-45e0-9aba-0989bd8d1cc5","orchStatus":"Assigned","productFamilyId":null,"lcpCloudRegionId":null,"tenantId":null,"modelInfo":{"modelCustomizationId":"8ad8670b-0541-4499-8101-275bbd0e8b6a","modelInvariantId":"1e463c9c-404d-4056-ba56-28fd102608de","modelVersionId":"dc229cd8-c132-4455-8517-5c1787c18b14","modelType":"vfModule"},"instanceType":null,"provStatus":null,"inMaint":false,"uuid":"dc229cd8-c132-4455-8517-5c1787c18b14","originalName":null,"legacyRegion":null,"lineOfBusiness":null,"platformName":null,"trackById":"dc229cd8-c132-4455-8517-5c1787c18b14:009","isBase":true,"volumeGroupName":null}}},"networks":{}}; } function getVFModule(){ - return {"uuid":"522159d5-d6e0-4c2a-aa44-5a542a12a830","invariantUuid":"98a7c88b-b577-476a-90e4-e25a5871e02b","customizationUuid":"55b1be94-671a-403e-a26c-667e9c47d091","description":null,"name":"VfVmee..vmme_vlc..module-1","version":"2","modelCustomizationName":"VfVmee..vmme_vlc..module-1","properties":{"minCountInstances":0,"maxCountInstances":null,"initialCount":0,"vfModuleLabel":"vmme_vlc","baseModule":false},"inputs":{},"volumeGroupAllowed":false}; + return {"uuid":"522159d5-d6e0-4c2a-aa44-5a542a12a830","invariantUuid":"98a7c88b-b577-476a-90e4-e25a5871e02b","customizationUuid":"55b1be94-671a-403e-a26c-667e9c47d091","description":null,"name":"VfVgeraldine..vflorence_vlc..module-1","version":"2","modelCustomizationName":"VfVgeraldine..vflorence_vlc..module-1","properties":{"minCountInstances":0,"maxCountInstances":null,"initialCount":0,"vfModuleLabel":"vflorence_vlc","baseModule":false},"inputs":{},"volumeGroupAllowed":false}; } function getVFModuleInstance() { - return{"action":"None","instanceName":"ss820f_0918_db","instanceId":"2c1ca484-cbc2-408b-ab86-25a2c15ce280","orchStatus":"deleted","productFamilyId":null,"lcpCloudRegionId":null,"tenantId":null,"modelInfo":{"modelCustomizationName":"VfVmee..vmme_vlc..module-1","modelCustomizationId":"b200727a-1bf9-4e7c-bd06-b5f4c9d920b9","modelInvariantId":"09edc9ef-85d0-4b26-80de-1f569d49e750","modelVersionId":"522159d5-d6e0-4c2a-aa44-5a542a12a830","modelType":"vfModule"},"instanceType":null,"provStatus":null,"inMaint":true,"uuid":"522159d5-d6e0-4c2a-aa44-5a542a12a830","originalName":"VfVmee..vmme_vlc..module-1","legacyRegion":null,"lineOfBusiness":null,"platformName":null,"trackById":"vf_vmee0..VfVmee..vmme_vlc..module-1:008","isBase":false,"volumeGroupName":null}; + return{"action":"None","instanceName":"ss820f_0918_db","instanceId":"2c1ca484-cbc2-408b-ab86-25a2c15ce280","orchStatus":"deleted","productFamilyId":null,"lcpCloudRegionId":null,"tenantId":null,"modelInfo":{"modelCustomizationName":"VfVgeraldine..vflorence_vlc..module-1","modelCustomizationId":"b200727a-1bf9-4e7c-bd06-b5f4c9d920b9","modelInvariantId":"09edc9ef-85d0-4b26-80de-1f569d49e750","modelVersionId":"522159d5-d6e0-4c2a-aa44-5a542a12a830","modelType":"vfModule"},"instanceType":null,"provStatus":null,"inMaint":true,"uuid":"522159d5-d6e0-4c2a-aa44-5a542a12a830","originalName":"VfVgeraldine..vflorence_vlc..module-1","legacyRegion":null,"lineOfBusiness":null,"platformName":null,"trackById":"vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1:008","isBase":false,"volumeGroupName":null}; } function getNetworkModel(){ @@ -265,7 +265,7 @@ describe("Audit info modal component service", () => { } function getVNFGroupModel(){ - return {"name":"groupingservicefortest..ResourceInstanceGroup..0","version":"1","uuid":"daeb6568-cef8-417f-9075-ed259ce59f48","invariantUuid":"4bb2e27e-ddab-4790-9c6d-1f731bc14a45","max":1,"min":0,"isEcompGeneratedNaming":true,"type":"VnfGroup","modelCustomizationName":"groupingservicefortest..ResourceInstanceGroup..0","properties":{"contained_resource_type":"VF","role":"SERVICE-ACCESS","function":"DATA","description":"DDD0","type":"LOAD-GROUP","ecomp_generated_naming":"true"},"members":{"vdbe_svc_vprs_proxy 0":{"uuid":"65fadfa8-a0d9-443f-95ad-836cd044e26c","invariantUuid":"f4baae0c-b3a5-4ca1-a777-afbffe7010bc","description":"A Proxy for Service vDBE_Svc_vPRS","name":"vDBE_Svc_vPRS Service Proxy","version":"1.0","customizationUuid":"bdb63d23-e132-4ce7-af2c-a493b4cafac9","inputs":{},"commands":{},"properties":{"ecomp_generated_naming":"false"},"type":"Service Proxy","sourceModelUuid":"da7827a2-366d-4be6-8c68-a69153c61274","sourceModelInvariant":"24632e6b-584b-4f45-80d4-fefd75fd9f14","sourceModelName":"vDBE_Svc_vPRS"}}}; + return {"name":"groupingservicefortest..ResourceInstanceGroup..0","version":"1","uuid":"daeb6568-cef8-417f-9075-ed259ce59f48","invariantUuid":"4bb2e27e-ddab-4790-9c6d-1f731bc14a45","max":1,"min":0,"isEcompGeneratedNaming":true,"type":"VnfGroup","modelCustomizationName":"groupingservicefortest..ResourceInstanceGroup..0","properties":{"contained_resource_type":"VF","role":"SERVICE-ACCESS","function":"DATA","description":"DDD0","type":"LOAD-GROUP","ecomp_generated_naming":"true"},"members":{"vdorothea_svc_vprs_proxy 0":{"uuid":"65fadfa8-a0d9-443f-95ad-836cd044e26c","invariantUuid":"f4baae0c-b3a5-4ca1-a777-afbffe7010bc","description":"A Proxy for Service vDOROTHEA_Svc_vPRS","name":"vDOROTHEA_Svc_vPRS Service Proxy","version":"1.0","customizationUuid":"bdb63d23-e132-4ce7-af2c-a493b4cafac9","inputs":{},"commands":{},"properties":{"ecomp_generated_naming":"false"},"type":"Service Proxy","sourceModelUuid":"da7827a2-366d-4be6-8c68-a69153c61274","sourceModelInvariant":"24632e6b-584b-4f45-80d4-fefd75fd9f14","sourceModelName":"vDOROTHEA_Svc_vPRS"}}}; } function getVNFGroupInstance(){ diff --git a/vid-webpack-master/src/app/shared/components/auditInfoModal/auditInfoModal.component.spec.ts b/vid-webpack-master/src/app/shared/components/auditInfoModal/auditInfoModal.component.spec.ts index ecce68daf..5e39ee3ab 100644 --- a/vid-webpack-master/src/app/shared/components/auditInfoModal/auditInfoModal.component.spec.ts +++ b/vid-webpack-master/src/app/shared/components/auditInfoModal/auditInfoModal.component.spec.ts @@ -17,6 +17,7 @@ import {ServiceInfoModel} from "../../server/serviceInfo/serviceInfo.model"; import {HttpClient} from '@angular/common/http'; import {getTestBed} from "@angular/core/testing"; import {of} from 'rxjs'; +import {NodeInstance} from "../../models/nodeInstance"; class MockAppStore<T> { getState() { @@ -126,23 +127,21 @@ describe('Audit Info Modal Component_serviceInfoService', () => { const instanceId: string = "instanceID"; const type: string = 'VNF'; const model = {}; - const instance = {}; - const isInstanceFailed: boolean = true; - const trackById = "trackById"; + const instance: NodeInstance = new NodeInstance(); + instance.trackById = 'trackById'; + instance.isFailed= true; AuditInfoModalComponent.openInstanceAuditInfoModal.next({ instanceId: instanceId, type: type, model: model, - instance: instance, - isInstanceFailed: isInstanceFailed, - trackById: trackById + instance: instance }); expect(component.showVidStatus).toEqual(false); expect(component.initializeProperties).toHaveBeenCalled(); expect(component.setModalTitles).toHaveBeenCalled(); - expect(_serviceInfoService.getAuditStatusForRetry).toHaveBeenCalledWith(trackById); + expect(_serviceInfoService.getAuditStatusForRetry).toHaveBeenCalledWith(instance.trackById); expect(component.auditInfoModal.show).toHaveBeenCalled(); expect(AuditInfoModalComponentService.getInstanceModelName).toHaveBeenCalledWith(model); }); @@ -160,16 +159,12 @@ describe('Audit Info Modal Component_serviceInfoService', () => { const type: string = 'VNF'; const model = {}; const instance = {}; - const isInstanceFailed: boolean = false; - const trackById = "trackById"; AuditInfoModalComponent.openInstanceAuditInfoModal.next({ instanceId: instanceId, type: type, model: model, - instance: instance, - isInstanceFailed: isInstanceFailed, - trackById: trackById + instance: instance }); expect(component.showVidStatus).toEqual(false); diff --git a/vid-webpack-master/src/app/shared/components/auditInfoModal/auditInfoModal.component.ts b/vid-webpack-master/src/app/shared/components/auditInfoModal/auditInfoModal.component.ts index cf385d767..95e9825da 100644 --- a/vid-webpack-master/src/app/shared/components/auditInfoModal/auditInfoModal.component.ts +++ b/vid-webpack-master/src/app/shared/components/auditInfoModal/auditInfoModal.component.ts @@ -18,7 +18,7 @@ import {AuditInfoModalComponentService} from "./auditInfoModal.component.service }) export class AuditInfoModalComponent { static openModal: Subject<ServiceInfoModel> = new Subject<ServiceInfoModel>(); - static openInstanceAuditInfoModal: Subject<{instanceId , type, model, instance, isInstanceFailed?, trackById?}> = new Subject<{instanceId , type, model, instance, isInstanceFailed, trackById}>(); + static openInstanceAuditInfoModal: Subject<{instanceId , type, model, instance}> = new Subject<{instanceId , type, model, instance}>(); @ViewChild('auditInfoModal') public auditInfoModal: ModalDirective; title: string = 'Service Instantiation Information'; modelInfoItems: ModelInformationItem[] = []; @@ -55,14 +55,14 @@ export class AuditInfoModalComponent { } }); - AuditInfoModalComponent.openInstanceAuditInfoModal.subscribe(({instanceId , type , model, instance, isInstanceFailed, trackById}) => { + AuditInfoModalComponent.openInstanceAuditInfoModal.subscribe(({instanceId , type , model, instance}) => { this.showVidStatus = false; this.initializeProperties(); this.setModalTitles(type); this.serviceModelName = AuditInfoModalComponentService.getInstanceModelName(model); - if (isInstanceFailed) { - this._serviceInfoService.getAuditStatusForRetry(trackById).subscribe((res: AuditStatus) => { + if (instance.isFailed) { + this._serviceInfoService.getAuditStatusForRetry(instance.trackById).subscribe((res: AuditStatus) => { this.msoInfoData = [res]; }); }else{ @@ -116,7 +116,7 @@ export class AuditInfoModalComponent { onNavigate(){ - window.open("https://wiki.onap.org/display/DW/SO+Building+blocks", "_blank"); + window.open("http://ecompguide.web.att.com:8000/#ecomp_ug/c_ecomp_ops_vid.htmll#r_ecomp_ops_vid_bbglossary", "_blank"); } } diff --git a/vid-webpack-master/src/app/shared/components/ellipsis/ellipsis.component.ts b/vid-webpack-master/src/app/shared/components/ellipsis/ellipsis.component.ts index bce06953c..07f4d481b 100644 --- a/vid-webpack-master/src/app/shared/components/ellipsis/ellipsis.component.ts +++ b/vid-webpack-master/src/app/shared/components/ellipsis/ellipsis.component.ts @@ -10,6 +10,7 @@ import * as _ from 'lodash'; class="ellipsis" id="{{id}}" [innerHtml]="displayValue | safe : 'html'" + [ngClass]="{'breakWord' : breakWord == true}" [tooltip-text]="value"> </span>`, styles : [ @@ -22,6 +23,11 @@ import * as _ from 'lodash'; width: 99%; text-align: left; } + + .breakWord { + word-wrap: break-word; + white-space: normal; + } ` ], providers : [HighlightPipe] @@ -30,6 +36,7 @@ export class EllipsisComponent implements OnChanges{ @Input() value : string; @Input() id : string; @Input() hightlight : string; + @Input() breakWord : boolean = false; displayValue : string; constructor(private _highlightPipe : HighlightPipe){ diff --git a/vid-webpack-master/src/app/shared/components/formControlError/formControlError.component.html b/vid-webpack-master/src/app/shared/components/formControlError/formControlError.component.html index daa35e659..a81e8c8b2 100644 --- a/vid-webpack-master/src/app/shared/components/formControlError/formControlError.component.html +++ b/vid-webpack-master/src/app/shared/components/formControlError/formControlError.component.html @@ -1,4 +1,4 @@ <div *ngIf="message"> <span class="icon-alert"></span> - <span class="message">{{message}}</span> + <span class="message" data-tests-id="no-results-error">{{message}}</span> </div> diff --git a/vid-webpack-master/src/app/shared/components/formControls/component/dropdown/dropdown.formControl.component.html b/vid-webpack-master/src/app/shared/components/formControls/component/dropdown/dropdown.formControl.component.html index 6d13e52f8..12f62a96f 100644 --- a/vid-webpack-master/src/app/shared/components/formControls/component/dropdown/dropdown.formControl.component.html +++ b/vid-webpack-master/src/app/shared/components/formControls/component/dropdown/dropdown.formControl.component.html @@ -6,7 +6,7 @@ [attr.data-tests-id]="data?.dataTestId" name="{{data?.name}}" [formControl]="form.controls[data.controlName]" - [ngClass]="{'error-style' : (form?.controls[data?.controlName]?.touched && form?.controls[data?.controlName]?.errors) || data?.hasEmptyOptions , + [ngClass]="{'error-style' : ((form?.controls[data?.controlName]?.touched && form?.controls[data?.controlName]?.errors) || data?.hasEmptyOptions) && data?.isRequired(), 'grayColor': form?.controls[data?.controlName]?.value == null || form?.controls[data?.controlName]?.value == undefined, 'blackColor' : form?.controls[data?.controlName]?.value != null}" (blur)="data.onBlur()"> @@ -16,6 +16,5 @@ [value]="option[data.ngValue]" [disabled]="!option?.isPermitted && option?.isPermitted != undefined">{{option.name}} </option> </select> - <form-control-error *ngIf="data?.hasEmptyOptions" [message]="'No results for this request. Please change criteria.'"></form-control-error> + <form-control-error *ngIf="data?.hasEmptyOptions && data?.isRequired()" [message]="'No results for this request. Please change criteria.'"></form-control-error> </div> - diff --git a/vid-webpack-master/src/app/shared/components/formControls/component/dropdown/dropdown.formControl.component.ts b/vid-webpack-master/src/app/shared/components/formControls/component/dropdown/dropdown.formControl.component.ts index 550feca22..8148368dd 100644 --- a/vid-webpack-master/src/app/shared/components/formControls/component/dropdown/dropdown.formControl.component.ts +++ b/vid-webpack-master/src/app/shared/components/formControls/component/dropdown/dropdown.formControl.component.ts @@ -11,11 +11,13 @@ export class DropdownFormControlComponent implements OnChanges{ @Input() data: DropdownFormControl = null; @Input() form: FormGroup = null; + ngOnChanges(changes: SimpleChanges): void { if (changes["data"] !== undefined && changes["data"].currentValue !== changes["data"].previousValue && changes["data"].firstChange) { if(this.data.onInit){ this.data.onInit(this.data, this.form); } + let isRequired: boolean =this.data.isRequired(); } if (changes["data"] !== undefined) { diff --git a/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/basic.control.generator.spec.ts b/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/basic.control.generator.spec.ts index 4189fba05..fc2eed4ae 100644 --- a/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/basic.control.generator.spec.ts +++ b/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/basic.control.generator.spec.ts @@ -33,13 +33,13 @@ describe('Basic Control Generator', () => { })().then(done).catch(done.fail)); - test('getlegacyRegion with JANET25 - isVisible true', () => { - const instance = {lcpCloudRegionId : 'JANET25'}; + test('getlegacyRegion with AAIAIC25 - isVisible true', () => { + const instance = {lcpCloudRegionId : 'AAIAIC25'}; const legacyRegionControl: FormControlModel = service.getLegacyRegion(instance); expect(legacyRegionControl.isVisible).toBeTruthy(); }); - test('getlegacyRegion without JANET25 - isVisible false', () => { + test('getlegacyRegion without AAIAIC25 - isVisible false', () => { const instance = {lcpCloudRegionId : 'olson3'}; const legacyRegionControl: FormControlModel = service.getLegacyRegion(instance); expect(legacyRegionControl.isVisible).toBeFalsy(); diff --git a/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/networkGenerator/network.control.generator.spec.ts b/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/networkGenerator/network.control.generator.spec.ts index 783f54bc3..5b64aea9b 100644 --- a/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/networkGenerator/network.control.generator.spec.ts +++ b/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/networkGenerator/network.control.generator.spec.ts @@ -23,15 +23,10 @@ class MockAppStore<T> { "FLAG_NETWORK_TO_ASYNC_INSTANTIATION": false, "FLAG_SHOW_ASSIGNMENTS": true, "FLAG_FABRIC_CONFIGURATION_ASSIGNMENTS": true, - "FLAG_UNASSIGN_SERVICE": true, "FLAG_SHOW_VERIFY_SERVICE": false, - "FLAG_COLLECTION_RESOURCE_SUPPORT": true, - "FLAG_DUPLICATE_VNF": true, "FLAG_SERVICE_MODEL_CACHE": true, "CREATE_INSTANCE_TEST": false, "FLAG_SETTING_DEFAULTS_IN_DRAWING_BOARD": false, - "FLAG_ASYNC_INSTANTIATION": true, - "FLAG_ASYNC_JOBS": true, "EMPTY_DRAWING_BOARD_TEST": false, "FLAG_ADD_MSO_TESTAPI_FIELD": true }, @@ -55,11 +50,11 @@ class MockAppStore<T> { "inputs": {} }, "vnfs": { - "VF_vMee 0": { + "VF_vGeraldine 0": { "uuid": "d6557200-ecf2-4641-8094-5393ae3aae60", "invariantUuid": "4160458e-f648-4b30-a176-43881ffffe9e", - "description": "VSP_vMee", - "name": "VF_vMee", + "description": "VSP_vGeraldine", + "name": "VF_vGeraldine", "version": "2.0", "customizationUuid": "91415b44-753d-494c-926a-456a9172bbb9", "inputs": {}, @@ -230,74 +225,74 @@ class MockAppStore<T> { "sctp-b-egress-dst_end_port": "65535.0" }, "type": "VF", - "modelCustomizationName": "VF_vMee 0", + "modelCustomizationName": "VF_vGeraldine 0", "vfModules": { - "vf_vmee0..VfVmee..vmme_vlc..module-1": { + "vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1": { "uuid": "522159d5-d6e0-4c2a-aa44-5a542a12a830", "invariantUuid": "98a7c88b-b577-476a-90e4-e25a5871e02b", "customizationUuid": "55b1be94-671a-403e-a26c-667e9c47d091", "description": null, - "name": "VfVmee..vmme_vlc..module-1", + "name": "VfVgeraldine..vflorence_vlc..module-1", "version": "2", - "modelCustomizationName": "VfVmee..vmme_vlc..module-1", + "modelCustomizationName": "VfVgeraldine..vflorence_vlc..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_vlc" + "vfModuleLabel": "vflorence_vlc" }, "inputs": {}, "volumeGroupAllowed": true }, - "vf_vmee0..VfVmee..vmme_gpb..module-2": { + "vf_vgeraldine0..VfVgeraldine..vflorence_gpb..module-2": { "uuid": "41708296-e443-4c71-953f-d9a010f059e1", "invariantUuid": "1cca90b8-3490-495e-87da-3f3e4c57d5b9", "customizationUuid": "6add59e0-7fe1-4bc4-af48-f8812422ae7c", "description": null, - "name": "VfVmee..vmme_gpb..module-2", + "name": "VfVgeraldine..vflorence_gpb..module-2", "version": "2", - "modelCustomizationName": "VfVmee..vmme_gpb..module-2", + "modelCustomizationName": "VfVgeraldine..vflorence_gpb..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_gpb" + "vfModuleLabel": "vflorence_gpb" }, "inputs": {}, "volumeGroupAllowed": false }, - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {}, "volumeGroupAllowed": true } }, "volumeGroups": { - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {} } @@ -345,7 +340,7 @@ class MockAppStore<T> { "modelCustomizationName": "ExtVL 0" } }, - "collectionResource": {}, + "collectionResources": {}, "configurations": { "Port Mirroring Configuration By Policy 0": { "uuid": "b4398538-e89d-4f13-b33d-ca323434ba50", @@ -366,72 +361,72 @@ class MockAppStore<T> { }, "serviceProxies": {}, "vfModules": { - "vf_vmee0..VfVmee..vmme_vlc..module-1": { + "vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1": { "uuid": "522159d5-d6e0-4c2a-aa44-5a542a12a830", "invariantUuid": "98a7c88b-b577-476a-90e4-e25a5871e02b", "customizationUuid": "55b1be94-671a-403e-a26c-667e9c47d091", "description": null, - "name": "VfVmee..vmme_vlc..module-1", + "name": "VfVgeraldine..vflorence_vlc..module-1", "version": "2", - "modelCustomizationName": "VfVmee..vmme_vlc..module-1", + "modelCustomizationName": "VfVgeraldine..vflorence_vlc..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_vlc" + "vfModuleLabel": "vflorence_vlc" }, "inputs": {}, "volumeGroupAllowed": true }, - "vf_vmee0..VfVmee..vmme_gpb..module-2": { + "vf_vgeraldine0..VfVgeraldine..vflorence_gpb..module-2": { "uuid": "41708296-e443-4c71-953f-d9a010f059e1", "invariantUuid": "1cca90b8-3490-495e-87da-3f3e4c57d5b9", "customizationUuid": "6add59e0-7fe1-4bc4-af48-f8812422ae7c", "description": null, - "name": "VfVmee..vmme_gpb..module-2", + "name": "VfVgeraldine..vflorence_gpb..module-2", "version": "2", - "modelCustomizationName": "VfVmee..vmme_gpb..module-2", + "modelCustomizationName": "VfVgeraldine..vflorence_gpb..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_gpb" + "vfModuleLabel": "vflorence_gpb" }, "inputs": {}, "volumeGroupAllowed": false }, - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {}, "volumeGroupAllowed": true } }, "volumeGroups": { - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {} } @@ -443,21 +438,21 @@ class MockAppStore<T> { "6e59c5de-f052-46fa-aa7e-2fca9d674c44": { "networks" : {}, "vnfs": { - "VF_vMee 0": { + "VF_vGeraldine 0": { "rollbackOnFailure": "true", "vfModules": { - "vf_vmee0..VfVmee..base_vmme..module-0": { - "vf_vmee0..VfVmee..base_vmme..module-0vmvzo": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0vmvzo": { "isMissingData": false, "sdncPreReload": null, "modelInfo": { "modelType": "VFmodule", "modelInvariantId": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "modelVersionId": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", - "modelName": "VfVmee..base_vmme..module-0", + "modelName": "VfVgeraldine..base_vflorence..module-0", "modelVersion": "2", "modelCustomizationId": "f8c040f1-7e51-4a11-aca8-acf256cfd861", - "modelCustomizationName": "VfVmee..base_vmme..module-0" + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0" }, "instanceParams": [ {} @@ -467,8 +462,8 @@ class MockAppStore<T> { } }, "isMissingData": true, - "originalName": "VF_vMee 0", - "vnfStoreKey": "VF_vMee 0", + "originalName": "VF_vGeraldine 0", + "vnfStoreKey": "VF_vGeraldine 0", "trackById": "p3wk448m5do", "uuid": "d6557200-ecf2-4641-8094-5393ae3aae60", "productFamilyId": "36b4733a-53f4-4cc8-8ff0-9172e5fc4b8e", @@ -480,9 +475,9 @@ class MockAppStore<T> { "modelType": "VF", "modelInvariantId": "4160458e-f648-4b30-a176-43881ffffe9e", "modelVersionId": "6e59c5de-f052-46fa-aa7e-2fca9d674c44", - "modelName": "VF_vMee", + "modelName": "VF_vGeraldine", "modelVersion": "2.0", - "modelCustomizationName": "VF_vMee 0" + "modelCustomizationName": "VF_vGeraldine 0" } } }, @@ -526,8 +521,8 @@ class MockAppStore<T> { "lcpRegionsAndTenants": { "lcpRegionList": [ { - "id": "JANET25", - "name": "JANET25", + "id": "AAIAIC25", + "name": "AAIAIC25", "isPermitted": true }, { @@ -537,7 +532,7 @@ class MockAppStore<T> { } ], "lcpRegionsTenantsMap": { - "JANET25": [ + "AAIAIC25": [ { "id": "092eb9e8e4b7412e8787dd091bc58e86", "name": "USP-SIP-IC-24335-T-01", @@ -551,8 +546,128 @@ class MockAppStore<T> { "isPermitted": true }, { - "id": "d0a3e3f2964542259d155a81c41aadc3", - "name": "test-hvf6-09", + "id": "229bcdc6eaeb4ca59d55221141d01f8e", + "name": "AIN Web Tool-15-D-STTest2", + "isPermitted": true + }, + { + "id": "1178612d2b394be4834ad77f567c0af2", + "name": "AIN Web Tool-15-D-SSPtestcustome", + "isPermitted": true + }, + { + "id": "19c5ade915eb461e8af52fb2fd8cd1f2", + "name": "AIN Web Tool-15-D-UncheckedEcopm", + "isPermitted": true + }, + { + "id": "de007636e25249238447264a988a927b", + "name": "AIN Web Tool-15-D-dfsdf", + "isPermitted": true + }, + { + "id": "62f29b3613634ca6a3065cbe0e020c44", + "name": "AIN/SMS-16-D-Multiservices1", + "isPermitted": true + }, + { + "id": "649289e30d3244e0b48098114d63c2aa", + "name": "AIN Web Tool-15-D-SSPST66", + "isPermitted": true + }, + { + "id": "3f21eeea6c2c486bba31dab816c05a32", + "name": "AIN Web Tool-15-D-ASSPST47", + "isPermitted": true + }, + { + "id": "f60ce21d3ee6427586cff0d22b03b773", + "name": "CESAR-100-D-sspjg67246", + "isPermitted": true + }, + { + "id": "8774659e425f479895ae091bb5d46560", + "name": "CESAR-100-D-sspjg68359", + "isPermitted": true + }, + { + "id": "624eb554b0d147c19ff8885341760481", + "name": "AINWebTool-15-D-iftach", + "isPermitted": true + }, + { + "id": "214f55f5fc414c678059c383b03e4962", + "name": "CESAR-100-D-sspjg612401", + "isPermitted": true + }, + { + "id": "c90666c291664841bb98e4d981ff1db5", + "name": "CESAR-100-D-sspjg621340", + "isPermitted": true + }, + { + "id": "ce5b6bc5c7b348e1bf4b91ac9a174278", + "name": "sspjg621351cloned", + "isPermitted": true + }, + { + "id": "b386b768a3f24c8e953abbe0b3488c02", + "name": "AINWebTool-15-D-eteancomp", + "isPermitted": true + }, + { + "id": "dc6c4dbfd225474e9deaadd34968646c", + "name": "AINWebTool-15-T-SPFET", + "isPermitted": true + }, + { + "id": "02cb5030e9914aa4be120bd9ed1e19eb", + "name": "AINWebTool-15-X-eeweww", + "isPermitted": true + }, + { + "id": "f2f3830e4c984d45bcd00e1a04158a79", + "name": "CESAR-100-D-spjg61909", + "isPermitted": true + }, + { + "id": "05b91bd5137f4929878edd965755c06d", + "name": "CESAR-100-D-sspjg621512cloned", + "isPermitted": true + }, + { + "id": "7002fbe8482d4a989ddf445b1ce336e0", + "name": "AINWebTool-15-X-vdr", + "isPermitted": true + }, + { + "id": "4008522be43741dcb1f5422022a2aa0b", + "name": "AINWebTool-15-D-ssasa", + "isPermitted": true + }, + { + "id": "f44e2e96a1b6476abfda2fa407b00169", + "name": "AINWebTool-15-D-PFNPT", + "isPermitted": true + }, + { + "id": "b69a52bec8a84669a37a1e8b72708be7", + "name": "AINWebTool-15-X-vdre", + "isPermitted": true + }, + { + "id": "fac7d9fd56154caeb9332202dcf2969f", + "name": "AINWebTool-15-X-NONPODECOMP", + "isPermitted": true + }, + { + "id": "2d34d8396e194eb49969fd61ffbff961", + "name": "DN5242-Nov16-T5", + "isPermitted": true + }, + { + "id": "cb42a77ff45b48a8b8deb83bb64acc74", + "name": "ro-T11", "isPermitted": true }, { @@ -561,17 +676,27 @@ class MockAppStore<T> { "isPermitted": true }, { + "id": "4914ab0ab3a743e58f0eefdacc1dde77", + "name": "DN5242-Nov21-T1", + "isPermitted": true + }, + { + "id": "d0a3e3f2964542259d155a81c41aadc3", + "name": "test-hvf6-09", + "isPermitted": true + }, + { "id": "cbb99fe4ada84631b7baf046b6fd2044", "name": "DN5242-Nov16-T3", "isPermitted": true } - ] + ] } }, "productFamilies": [ { "id": "ebc3bc3d-62fd-4a3f-a037-f619df4ff034", - "name": "SCOTTIE", + "name": "ERICA", "isPermitted": true }, { @@ -596,7 +721,7 @@ class MockAppStore<T> { }, { "id": "323d69d9-2efe-4r45-ay0a-89ea7ard4e6f", - "name": "vSCP", + "name": "vEsmeralda", "isPermitted": true }, { @@ -640,7 +765,7 @@ class MockAppStore<T> { "isPermitted": true }, { - "id": "Cisneros", + "id": "vMuriel", "name": "vMuriel", "isPermitted": true }, @@ -666,7 +791,7 @@ class MockAppStore<T> { }, { "id": "d7bb0a21-66f2-4e6d-87d9-9ef3ced63ae4", - "name": "Josefina", + "name": "JOSEFINA", "isPermitted": true }, { @@ -714,7 +839,7 @@ class MockAppStore<T> { }, { "id": "6", - "name": "vSEGW", + "name": "vPorfirio", "isPermitted": false }, { @@ -729,7 +854,7 @@ class MockAppStore<T> { }, { "id": "9", - "name": "vMME", + "name": "vFLORENCE", "isPermitted": false }, { @@ -739,7 +864,7 @@ class MockAppStore<T> { }, { "id": "11", - "name": "vSCP", + "name": "vEsmeralda", "isPermitted": false }, { @@ -749,7 +874,7 @@ class MockAppStore<T> { }, { "id": "13", - "name": "vMMSC", + "name": "vWINIFRED", "isPermitted": false }, { @@ -793,6 +918,754 @@ class MockAppStore<T> { "name": "UUUAIAAI-YYY1" }, { + "id": "BAN1", + "name": "VSDKYUTP-BAN1" + }, + { + "id": "DKJ1", + "name": "DKJSJDKA-DKJ1" + }, + { + "id": "MCS1", + "name": "ASACMAMS-MCS1" + }, + { + "id": "UIO1", + "name": "uioclli1-UIO1" + }, + { + "id": "RAJ1", + "name": "YGBIJNLQ-RAJ1" + }, + { + "id": "OPA1", + "name": "opaclli1-OPA1" + }, + { + "id": "SDE1", + "name": "ZXCVBNMA-SDE1" + }, + { + "id": "VEN2", + "name": "FGHJUHIL-VEN2" + }, + { + "id": "ORL1", + "name": "ORLDFLMA-ORL1" + }, + { + "id": "JAD1", + "name": "JADECLLI-JAD1" + }, + { + "id": "ZXL1", + "name": "LWLWCANN-ZXL1" + }, + { + "id": "CKL1", + "name": "CLKSKCKK-CKL1" + }, + { + "id": "SDF1", + "name": "sdfclli1-SDF1" + }, + { + "id": "RAD1", + "name": "RADICAL1-RAD1" + }, + { + "id": "KIT1", + "name": "BHYJFGLN-KIT1" + }, + { + "id": "REL1", + "name": "INGERFGT-REL1" + }, + { + "id": "JNL1", + "name": "CJALSDAC-JNL1" + }, + { + "id": "OLK1", + "name": "OLKOLKLS-OLK1" + }, + { + "id": "CHI1", + "name": "CHILLIWE-CHI1" + }, + { + "id": "UUU4", + "name": "UUUAAAUU-UUU4" + }, + { + "id": "TUF1", + "name": "TUFCLLI1-TUF1" + }, + { + "id": "KJN1", + "name": "CKALDKSA-KJN1" + }, + { + "id": "SAM1", + "name": "SNDGCA64-SAN1" + }, + { + "id": "SCK1", + "name": "SCKSCKSK-SCK1" + }, + { + "id": "HJH1", + "name": "AOEEQQQD-HJH1" + }, + { + "id": "HGD1", + "name": "SDFQWHGD-HGD1" + }, + { + "id": "KOR1", + "name": "HYFLNBVT-KOR1" + }, + { + "id": "ATL43", + "name": "AICLOCID-ATL43" + }, + { + "id": "ATL54", + "name": "AICFTAAI-ATL54" + }, + { + "id": "ATL66", + "name": "CLLIAAII-ATL66" + }, + { + "id": "VEL1", + "name": "BNMLKUIK-VEL1" + }, + { + "id": "ICC1", + "name": "SANJITAT-ICC1" + }, + { + "id": "MNT11", + "name": "WSXEFBTH-MNT11" + }, + { + "id": "DEF2", + "name": "WSBHGTYL-DEF2" + }, + { + "id": "MAD11", + "name": "SDFQWGKL-MAD11" + }, + { + "id": "OLG1", + "name": "OLHOLHOL-OLG1" + }, + { + "id": "GAR1", + "name": "NGFVSJKO-GAR1" + }, + { + "id": "SAN22", + "name": "GNVLSCTL-SAN22" + }, + { + "id": "HRG1", + "name": "HRGHRGGS-HRG1" + }, + { + "id": "JCS1", + "name": "JCSJSCJS-JCS1" + }, + { + "id": "DHA12", + "name": "WSXEDECF-DHA12" + }, + { + "id": "HJE1", + "name": "AOEEWWWD-HJE1" + }, + { + "id": "NCA1", + "name": "NCANCANN-NCA1" + }, + { + "id": "IOP1", + "name": "iopclli1-IOP1" + }, + { + "id": "RTY1", + "name": "rtyclli1-RTY1" + }, + { + "id": "KAP1", + "name": "HIOUYTRQ-KAP1" + }, + { + "id": "ZEN1", + "name": "ZENCLLI1-ZEN1" + }, + { + "id": "HKA1", + "name": "JAKHLASS-HKA1" + }, + { + "id": "CQK1", + "name": "CQKSCAKK-CQK1" + }, + { + "id": "SAI1", + "name": "UBEKQLPD-SAI1" + }, + { + "id": "ERT1", + "name": "ertclli1-ERT1" + }, + { + "id": "IBB1", + "name": "PLMKOIJU-IBB1" + }, + { + "id": "TIR2", + "name": "PLKINHYI-TIR2" + }, + { + "id": "HSD1", + "name": "CHASKCDS-HSD1" + }, + { + "id": "SLF78", + "name": "SDCTLFN1-SLF78" + }, + { + "id": "SEE78", + "name": "SDCTEEE4-SEE78" + }, + { + "id": "SAN13", + "name": "TOKYJPFA-SAN13" + }, + { + "id": "SAA78", + "name": "SDCTAAA1-SAA78" + }, + { + "id": "LUC1", + "name": "ATLDFGYC-LUC1" + }, + { + "id": "AMD13", + "name": "MEMATLAN-AMD13" + }, + { + "id": "TOR1", + "name": "TOROONXN-TOR1" + }, + { + "id": "QWE1", + "name": "QWECLLI1-QWE1" + }, + { + "id": "ZOG1", + "name": "ZOGASTRO-ZOG1" + }, + { + "id": "CAL33", + "name": "CALIFORN-CAL33" + }, + { + "id": "SHH78", + "name": "SDIT1HHH-SHH78" + }, + { + "id": "DSA1", + "name": "LKJHGFDS-DSA1" + }, + { + "id": "CLG1", + "name": "CLGRABAD-CLG1" + }, + { + "id": "BNA1", + "name": "BNARAGBK-BNA1" + }, + { + "id": "ATL84", + "name": "CANTTCOC-ATL84" + }, + { + "id": "APP1", + "name": "WBHGTYUI-APP1" + }, + { + "id": "RJN1", + "name": "RJNRBZAW-RJN1" + }, + { + "id": "EHH78", + "name": "SDCSHHH5-EHH78" + }, + { + "id": "mac10", + "name": "PKGTESTF-mac10" + }, + { + "id": "SXB78", + "name": "SDCTGXB1-SXB78" + }, + { + "id": "SAX78", + "name": "SDCTAXG1-SAX78" + }, + { + "id": "SYD1", + "name": "SYDNAUBV-SYD1" + }, + { + "id": "TOK1", + "name": "TOKYJPFA-TOK1" + }, + { + "id": "KGM2", + "name": "KGMTNC20-KGM2" + }, + { + "id": "DCC1b", + "name": "POIUYTGH-DCC1b" + }, + { + "id": "SKK78", + "name": "SDCTKKK1-SKK78" + }, + { + "id": "SGG78", + "name": "SDCTGGG1-SGG78" + }, + { + "id": "SJJ78", + "name": "SDCTJJJ1-SJJ78" + }, + { + "id": "SBX78", + "name": "SDCTBXG1-SBX78" + }, + { + "id": "LAG1", + "name": "LARGIZON-LAG1" + }, + { + "id": "IAA1", + "name": "QAZXSWED-IAA1" + }, + { + "id": "POI1", + "name": "PLMNJKIU-POI1" + }, + { + "id": "LAG1a", + "name": "LARGIZON-LAG1a" + }, + { + "id": "PBL1", + "name": "PBLAPBAI-PBL1" + }, + { + "id": "LAG45", + "name": "LARGIZON-LAG1a" + }, + { + "id": "MAR1", + "name": "MNBVCXZM-MAR1" + }, + { + "id": "HST70", + "name": "HSTNTX70-HST70" + }, + { + "id": "DCC1a", + "name": "POIUYTGH-DCC1a" + }, + { + "id": "TOL1", + "name": "TOLDOH21-TOL1" + }, + { + "id": "LON1", + "name": "LONEENCO-LON1" + }, + { + "id": "SJU78", + "name": "SDIT1JUB-SJU78" + }, + { + "id": "STN27", + "name": "HSTNTX01-STN27" + }, + { + "id": "SSW56", + "name": "ss8126GT-SSW56" + }, + { + "id": "SBB78", + "name": "SDIT1BBB-SBB78" + }, + { + "id": "DCC3", + "name": "POIUYTGH-DCC3" + }, + { + "id": "GNV1", + "name": "GNVLSCTL-GNV1" + }, + { + "id": "WAS1", + "name": "WASHDCSW-WAS1" + }, + { + "id": "TOY1", + "name": "TORYONNZ-TOY1" + }, + { + "id": "STT1", + "name": "STTLWA02-STT1" + }, + { + "id": "STG1", + "name": "STTGGE62-STG1" + }, + { + "id": "SLL78", + "name": "SDCTLLL1-SLL78" + }, + { + "id": "SBU78", + "name": "SDIT1BUB-SBU78" + }, + { + "id": "ATL2", + "name": "ATLNGANW-ATL2" + }, + { + "id": "BOT1", + "name": "BOTHWAKY-BOT1" + }, + { + "id": "SNG1", + "name": "SNGPSIAU-SNG1" + }, + { + "id": "NYC1", + "name": "NYCMNY54-NYC1" + }, + { + "id": "LAG1b", + "name": "LARGIZON-LAG1b" + }, + { + "id": "AMD15", + "name": "AMDFAA01-AMD15" + }, + { + "id": "SNA1", + "name": "SNANTXCA-SNA1" + }, + { + "id": "PLT1", + "name": "PLTNCA60-PLT1" + }, + { + "id": "TLP1", + "name": "TLPNXM18-TLP1" + }, + { + "id": "SDD81", + "name": "SAIT1DD6-SDD81" + }, + { + "id": "DCC1", + "name": "POIUYTGH-DCC1" + }, + { + "id": "DCC2", + "name": "POIUYTGH-DCC2" + }, + { + "id": "OKC1", + "name": "OKCBOK55-OKC1" + }, + { + "id": "PAR1", + "name": "PARSFRCG-PAR1" + }, + { + "id": "TES36", + "name": "ABCEETES-TES36" + }, + { + "id": "COM1", + "name": "PLMKOPIU-COM1" + }, + { + "id": "ANI1", + "name": "ATLNGTRE-ANI1" + }, + { + "id": "SDG78", + "name": "SDIT1BDG-SDG78" + }, + { + "id": "mac20", + "name": "PKGTESTF-mac20" + }, + { + "id": "DSF45", + "name": "DSFBG123-DSF45" + }, + { + "id": "HST25", + "name": "HSTNTX01-HST25" + }, + { + "id": "AMD18", + "name": "AUDIMA01-AMD18" + }, + { + "id": "SAA80", + "name": "SAIT9AA3-SAA80" + }, + { + "id": "SSA56", + "name": "SSIT2AA7-SSA56" + }, + { + "id": "SDD82", + "name": "SAIT1DD9-SDD82" + }, + { + "id": "JCV1", + "name": "JCVLFLBW-JCV1" + }, + { + "id": "SUL2", + "name": "WERTYUJK-SUL2" + }, + { + "id": "PUR1", + "name": "purelyde-PUR1" + }, + { + "id": "FDE55", + "name": "FDERT555-FDE55" + }, + { + "id": "SITE", + "name": "LONEENCO-SITE" + }, + { + "id": "ATL1", + "name": "ATLNGAMA-ATL1" + }, + { + "id": "JUL1", + "name": "ZXCVBNMM-JUL1" + }, + { + "id": "TAT34", + "name": "TESAAISB-TAT34" + }, + { + "id": "XCP12", + "name": "CHKGH123-XCP12" + }, + { + "id": "RAI1", + "name": "poiuytre-RAI1" + }, + { + "id": "HPO1", + "name": "ATLNGAUP-HPO1" + }, + { + "id": "KJF12", + "name": "KJFDH123-KJF12" + }, + { + "id": "SCC80", + "name": "SAIT9CC3-SCC80" + }, + { + "id": "SAA12", + "name": "SAIT9AF8-SAA12" + }, + { + "id": "SAA14", + "name": "SAIT1AA9-SAA14" + }, + { + "id": "ATL35", + "name": "TTESSAAI-ATL35" + }, + { + "id": "CWY1", + "name": "CWYMOWBS-CWY1" + }, + { + "id": "ATL76", + "name": "TELEPAAI-ATL76" + }, + { + "id": "DSL12", + "name": "DSLFK242-DSL12" + }, + { + "id": "ATL53", + "name": "AAIATLTE-ATL53" + }, + { + "id": "SAA11", + "name": "SAIT9AA2-SAA11" + }, + { + "id": "ATL62", + "name": "TESSASCH-ATL62" + }, + { + "id": "AUG1", + "name": "ASDFGHJK-AUG1" + }, + { + "id": "POI22", + "name": "POIUY123-POI22" + }, + { + "id": "SAA13", + "name": "SAIT1AA9-SAA13" + }, + { + "id": "BHY17", + "name": "BHYTFRF3-BHY17" + }, + { + "id": "LIS1", + "name": "HOSTPROF-LIS1" + }, + { + "id": "SIP1", + "name": "ZXCVBNMK-SIP1" + }, + { + "id": "ATL99", + "name": "TEESTAAI-ATL43" + }, + { + "id": "ATL64", + "name": "FORLOAAJ-ATL64" + }, + { + "id": "TAT33", + "name": "TESAAISA-TAT33" + }, + { + "id": "RAD10", + "name": "INDIPUNE-RAD10" + }, + { + "id": "RTW5", + "name": "BHYTFRY4-RTW5" + }, + { + "id": "JGS1", + "name": "KSJKKKKK-JGS1" + }, + { + "id": "ATL98", + "name": "TEESTAAI-ATL43" + }, + { + "id": "WAN1", + "name": "LEIWANGW-WAN1" + }, + { + "id": "ATL44", + "name": "ATLSANAB-ATL44" + }, + { + "id": "RTD2", + "name": "BHYTFRk4-RTD2" + }, + { + "id": "NIR1", + "name": "ORFLMANA-NIR1" + }, + { + "id": "ATL75", + "name": "SANAAIRE-ATL75" + }, + { + "id": "NUM1", + "name": "QWERTYUI-NUM1" + }, + { + "id": "hvf32", + "name": "MDTWNJ21-hvf32" + }, + { + "id": "RTZ4", + "name": "BHYTFRZ6-RTZ4" + }, + { + "id": "ATL56", + "name": "ATLSANAC-ATL56" + }, + { + "id": "AMS1", + "name": "AMSTNLBW-AMS1" + }, + { + "id": "RCT1", + "name": "AMSTERNL-RCT1" + }, + { + "id": "JAN1", + "name": "ORFLMATT-JAN1" + }, + { + "id": "ABC14", + "name": "TESAAISA-ABC14" + }, + { + "id": "TAT37", + "name": "TESAAISD-TAT37" + }, + { + "id": "MIC54", + "name": "MICHIGAN-MIC54" + }, + { + "id": "ABC11", + "name": "ATLSANAI-ABC11" + }, + { + "id": "AMF11", + "name": "AMDOCS01-AMF11" + }, + { + "id": "ATL63", + "name": "ATLSANEW-ATL63" + }, + { + "id": "ABC12", + "name": "ATLSECIA-ABC12" + }, + { + "id": "hvf20", + "name": "MDTWNJ21-hvf20" + }, + { + "id": "ABC15", + "name": "AAITESAN-ABC15" + }, + { "id": "AVT1", "name": "AVTRFLHD-AVT1" }, @@ -800,7 +1673,7 @@ class MockAppStore<T> { "id": "ATL34", "name": "ATLSANAI-ATL34" } - ], + ], "categoryParameters": { "owningEntityList": [ { @@ -968,7 +1841,7 @@ describe('Network Control Generator', () => { const mandatoryControls : string[] = [ FormControlNames.LCPCLOUD_REGION_ID, 'tenantId', - 'platformName' + 'lineOfBusiness' ]; for(let i = 0 ; i < mandatoryControls.length ; i++){ let requiredExist = controls.find(ctrl => ctrl.controlName === mandatoryControls[i]).validations.find(item => item.validatorName === 'required'); @@ -1089,7 +1962,6 @@ describe('Network Control Generator', () => { FormControlNames.INSTANCE_NAME, FormControlNames.LCPCLOUD_REGION_ID, 'tenantId', - 'platformName', 'rollbackOnFailure' ]; for(let i = 0 ; i < mandatoryControls.length ; i++){ diff --git a/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/networkGenerator/network.control.generator.ts b/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/networkGenerator/network.control.generator.ts index c3a622338..11c4561c2 100644 --- a/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/networkGenerator/network.control.generator.ts +++ b/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/networkGenerator/network.control.generator.ts @@ -17,7 +17,6 @@ import {AppState} from "../../../../store/reducers"; import {FormGroup} from "@angular/forms"; import {DropdownFormControl} from "../../../../models/formControlModels/dropdownFormControl.model"; import {FormControlType} from "../../../../models/formControlModels/formControlTypes.enum"; -import {InputFormControl} from "../../../../models/formControlModels/inputFormControl.model"; import {SelectOption} from "../../../../models/selectOption"; import {NetworkInstance} from "../../../../models/networkInstance"; import {NetworkModel} from "../../../../models/networkModel"; @@ -137,7 +136,7 @@ export class NetworkControlGenerator { isDisabled: false, name: "lineOfBusiness", value: instance ? instance.lineOfBusiness : null, - validations: [], + validations: [new ValidatorModel(ValidatorOptions.required, 'is required')], onInitSelectedField: ['lineOfBusinessList'], onInit: this._basicControlGenerator.getSubscribeInitResult.bind(null, this._aaiService.getCategoryParameters) }) @@ -153,7 +152,7 @@ export class NetworkControlGenerator { isDisabled: false, name: "platform", value: instance ? instance.platformName : null, - validations: [new ValidatorModel(ValidatorOptions.required, 'is required')], + validations: [], onInitSelectedField: ['platformList'], onInit: this._basicControlGenerator.getSubscribeInitResult.bind(null, this._aaiService.getCategoryParameters) }) diff --git a/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/service.control.generator.spec.ts b/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/service.control.generator.spec.ts index c89d3f06e..d90c65e38 100644 --- a/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/service.control.generator.spec.ts +++ b/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/service.control.generator.spec.ts @@ -11,9 +11,11 @@ import {LogService} from "../../../utils/log/log.service"; import {FormControlType} from "../../../models/formControlModels/formControlTypes.enum"; import {DropdownFormControl} from "../../../models/formControlModels/dropdownFormControl.model"; import {FeatureFlagsService} from "../../../services/featureFlag/feature-flags.service"; +import each from 'jest-each'; +import {VidNotions} from "../../../models/vidNotions"; class MockAppStore<T> { - getState(){ + getState() { return { "global": { "name": null, @@ -21,15 +23,10 @@ class MockAppStore<T> { "FLAG_NETWORK_TO_ASYNC_INSTANTIATION": false, "FLAG_SHOW_ASSIGNMENTS": true, "FLAG_FABRIC_CONFIGURATION_ASSIGNMENTS": true, - "FLAG_UNASSIGN_SERVICE": true, "FLAG_SHOW_VERIFY_SERVICE": false, - "FLAG_COLLECTION_RESOURCE_SUPPORT": true, - "FLAG_DUPLICATE_VNF": true, "FLAG_SERVICE_MODEL_CACHE": true, "CREATE_INSTANCE_TEST": false, "FLAG_SETTING_DEFAULTS_IN_DRAWING_BOARD": false, - "FLAG_ASYNC_INSTANTIATION": true, - "FLAG_ASYNC_JOBS": true, "EMPTY_DRAWING_BOARD_TEST": false, "FLAG_ADD_MSO_TESTAPI_FIELD": true }, @@ -53,11 +50,11 @@ class MockAppStore<T> { "inputs": {} }, "vnfs": { - "VF_vMee 0": { + "VF_vGeraldine 0": { "uuid": "d6557200-ecf2-4641-8094-5393ae3aae60", "invariantUuid": "4160458e-f648-4b30-a176-43881ffffe9e", - "description": "VSP_vMee", - "name": "VF_vMee", + "description": "VSP_vGeraldine", + "name": "VF_vGeraldine", "version": "2.0", "customizationUuid": "91415b44-753d-494c-926a-456a9172bbb9", "inputs": {}, @@ -228,74 +225,74 @@ class MockAppStore<T> { "sctp-b-egress-dst_end_port": "65535.0" }, "type": "VF", - "modelCustomizationName": "VF_vMee 0", + "modelCustomizationName": "VF_vGeraldine 0", "vfModules": { - "vf_vmee0..VfVmee..vmme_vlc..module-1": { + "vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1": { "uuid": "522159d5-d6e0-4c2a-aa44-5a542a12a830", "invariantUuid": "98a7c88b-b577-476a-90e4-e25a5871e02b", "customizationUuid": "55b1be94-671a-403e-a26c-667e9c47d091", "description": null, - "name": "VfVmee..vmme_vlc..module-1", + "name": "VfVgeraldine..vflorence_vlc..module-1", "version": "2", - "modelCustomizationName": "VfVmee..vmme_vlc..module-1", + "modelCustomizationName": "VfVgeraldine..vflorence_vlc..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_vlc" + "vfModuleLabel": "vflorence_vlc" }, "inputs": {}, "volumeGroupAllowed": true }, - "vf_vmee0..VfVmee..vmme_gpb..module-2": { + "vf_vgeraldine0..VfVgeraldine..vflorence_gpb..module-2": { "uuid": "41708296-e443-4c71-953f-d9a010f059e1", "invariantUuid": "1cca90b8-3490-495e-87da-3f3e4c57d5b9", "customizationUuid": "6add59e0-7fe1-4bc4-af48-f8812422ae7c", "description": null, - "name": "VfVmee..vmme_gpb..module-2", + "name": "VfVgeraldine..vflorence_gpb..module-2", "version": "2", - "modelCustomizationName": "VfVmee..vmme_gpb..module-2", + "modelCustomizationName": "VfVgeraldine..vflorence_gpb..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_gpb" + "vfModuleLabel": "vflorence_gpb" }, "inputs": {}, "volumeGroupAllowed": false }, - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {}, "volumeGroupAllowed": true } }, "volumeGroups": { - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {} } @@ -323,7 +320,7 @@ class MockAppStore<T> { "modelCustomizationName": "ExtVL 0" } }, - "collectionResource": {}, + "collectionResources": {}, "configurations": { "Port Mirroring Configuration By Policy 0": { "uuid": "b4398538-e89d-4f13-b33d-ca323434ba50", @@ -344,85 +341,150 @@ class MockAppStore<T> { }, "serviceProxies": {}, "vfModules": { - "vf_vmee0..VfVmee..vmme_vlc..module-1": { + "vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1": { "uuid": "522159d5-d6e0-4c2a-aa44-5a542a12a830", "invariantUuid": "98a7c88b-b577-476a-90e4-e25a5871e02b", "customizationUuid": "55b1be94-671a-403e-a26c-667e9c47d091", "description": null, - "name": "VfVmee..vmme_vlc..module-1", + "name": "VfVgeraldine..vflorence_vlc..module-1", "version": "2", - "modelCustomizationName": "VfVmee..vmme_vlc..module-1", + "modelCustomizationName": "VfVgeraldine..vflorence_vlc..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_vlc" + "vfModuleLabel": "vflorence_vlc" }, "inputs": {}, "volumeGroupAllowed": true }, - "vf_vmee0..VfVmee..vmme_gpb..module-2": { + "vf_vgeraldine0..VfVgeraldine..vflorence_gpb..module-2": { "uuid": "41708296-e443-4c71-953f-d9a010f059e1", "invariantUuid": "1cca90b8-3490-495e-87da-3f3e4c57d5b9", "customizationUuid": "6add59e0-7fe1-4bc4-af48-f8812422ae7c", "description": null, - "name": "VfVmee..vmme_gpb..module-2", + "name": "VfVgeraldine..vflorence_gpb..module-2", "version": "2", - "modelCustomizationName": "VfVmee..vmme_gpb..module-2", + "modelCustomizationName": "VfVgeraldine..vflorence_gpb..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_gpb" + "vfModuleLabel": "vflorence_gpb" }, "inputs": {}, "volumeGroupAllowed": false }, - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {}, "volumeGroupAllowed": true } }, "volumeGroups": { - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {} } }, "pnfs": {} + }, + "7e59c5de-f052-46fa-aa7e-2fca9d674c43": { + "service": { + "uuid": "6e59c5de-f052-46fa-aa7e-2fca9d674c44", + "invariantUuid": "e49fbd11-e60c-4a8e-b4bf-30fbe8f4fcc0", + "name": "ComplexService", + "version": "1.0", + "toscaModelURL": null, + "category": "Emanuel", + "serviceType": "Transport", + "serviceRole": "", + "description": "ComplexService", + "serviceEcompNaming": "false", + "instantiationType": "Macro", + "vidNotions": { + "instantiationUI": "TRANSPORT_SERVICE", + "modelCategory": "Transport", + "viewEditUI": "TRANSPORT_SERVICE", + "instantiationType": "Macro" + }, + "inputs": {} + }, + "vnfs": {}, + "networks": {}, + "collectionResources": {}, + "configurations": {}, + "serviceProxies": {}, + "vfModules": {}, + "volumeGroups": {}, + "pnfs": { + "PNF4": { + "uuid": "1c831fa9-28a6-4778-8c1d-80b9e769f2ed", + "invariantUuid": "74e13a12-dac9-4fba-b102-cd242d9e7f02", + "description": "AIM Transport service", + "name": "AIM PNF Model", + "version": "1.0", + "customizationUuid": "ce2453ef-4e8e-4108-944c-57bef89cfab0", + "inputs": {}, + "commands": {}, + "properties": { + "nf_function": "AIM CE", + "nf_role": "pCE", + "ecomp_generated_naming": "false", + "nf_type": "ROUTER" + }, + "type": "PNF" + }, + "PNF1": { + "uuid": "1c831fa9-28a6-4778-8c1d-80b9e769f2ed", + "invariantUuid": "74e13a12-dac9-4fba-b102-cd242d9e7f02", + "description": "AIM Transport service", + "name": "AIM PNF Model", + "version": "1.0", + "customizationUuid": "dce78da7-c842-47a1-aba2-2de1cd03ab7a", + "inputs": {}, + "commands": {}, + "properties": { + "nf_function": "SDNGW", + "nf_role": "pD2IPE", + "ecomp_generated_naming": "false", + "nf_type": "ROUTER" + }, + "type": "PNF" + } + } } }, "serviceInstance": {}, "lcpRegionsAndTenants": { "lcpRegionList": [ { - "id": "JANET25", - "name": "JANET25", + "id": "AAIAIC25", + "name": "AAIAIC25", "isPermitted": true }, { @@ -432,7 +494,7 @@ class MockAppStore<T> { } ], "lcpRegionsTenantsMap": { - "JANET25": [ + "AAIAIC25": [ { "id": "092eb9e8e4b7412e8787dd091bc58e86", "name": "USP-SIP-IC-24335-T-01", @@ -446,8 +508,128 @@ class MockAppStore<T> { "isPermitted": true }, { - "id": "d0a3e3f2964542259d155a81c41aadc3", - "name": "test-hvf6-09", + "id": "229bcdc6eaeb4ca59d55221141d01f8e", + "name": "AIN Web Tool-15-D-STTest2", + "isPermitted": true + }, + { + "id": "1178612d2b394be4834ad77f567c0af2", + "name": "AIN Web Tool-15-D-SSPtestcustome", + "isPermitted": true + }, + { + "id": "19c5ade915eb461e8af52fb2fd8cd1f2", + "name": "AIN Web Tool-15-D-UncheckedEcopm", + "isPermitted": true + }, + { + "id": "de007636e25249238447264a988a927b", + "name": "AIN Web Tool-15-D-dfsdf", + "isPermitted": true + }, + { + "id": "62f29b3613634ca6a3065cbe0e020c44", + "name": "AIN/SMS-16-D-Multiservices1", + "isPermitted": true + }, + { + "id": "649289e30d3244e0b48098114d63c2aa", + "name": "AIN Web Tool-15-D-SSPST66", + "isPermitted": true + }, + { + "id": "3f21eeea6c2c486bba31dab816c05a32", + "name": "AIN Web Tool-15-D-ASSPST47", + "isPermitted": true + }, + { + "id": "f60ce21d3ee6427586cff0d22b03b773", + "name": "CESAR-100-D-sspjg67246", + "isPermitted": true + }, + { + "id": "8774659e425f479895ae091bb5d46560", + "name": "CESAR-100-D-sspjg68359", + "isPermitted": true + }, + { + "id": "624eb554b0d147c19ff8885341760481", + "name": "AINWebTool-15-D-iftach", + "isPermitted": true + }, + { + "id": "214f55f5fc414c678059c383b03e4962", + "name": "CESAR-100-D-sspjg612401", + "isPermitted": true + }, + { + "id": "c90666c291664841bb98e4d981ff1db5", + "name": "CESAR-100-D-sspjg621340", + "isPermitted": true + }, + { + "id": "ce5b6bc5c7b348e1bf4b91ac9a174278", + "name": "sspjg621351cloned", + "isPermitted": true + }, + { + "id": "b386b768a3f24c8e953abbe0b3488c02", + "name": "AINWebTool-15-D-eteancomp", + "isPermitted": true + }, + { + "id": "dc6c4dbfd225474e9deaadd34968646c", + "name": "AINWebTool-15-T-SPFET", + "isPermitted": true + }, + { + "id": "02cb5030e9914aa4be120bd9ed1e19eb", + "name": "AINWebTool-15-X-eeweww", + "isPermitted": true + }, + { + "id": "f2f3830e4c984d45bcd00e1a04158a79", + "name": "CESAR-100-D-spjg61909", + "isPermitted": true + }, + { + "id": "05b91bd5137f4929878edd965755c06d", + "name": "CESAR-100-D-sspjg621512cloned", + "isPermitted": true + }, + { + "id": "7002fbe8482d4a989ddf445b1ce336e0", + "name": "AINWebTool-15-X-vdr", + "isPermitted": true + }, + { + "id": "4008522be43741dcb1f5422022a2aa0b", + "name": "AINWebTool-15-D-ssasa", + "isPermitted": true + }, + { + "id": "f44e2e96a1b6476abfda2fa407b00169", + "name": "AINWebTool-15-D-PFNPT", + "isPermitted": true + }, + { + "id": "b69a52bec8a84669a37a1e8b72708be7", + "name": "AINWebTool-15-X-vdre", + "isPermitted": true + }, + { + "id": "fac7d9fd56154caeb9332202dcf2969f", + "name": "AINWebTool-15-X-NONPODECOMP", + "isPermitted": true + }, + { + "id": "2d34d8396e194eb49969fd61ffbff961", + "name": "DN5242-Nov16-T5", + "isPermitted": true + }, + { + "id": "cb42a77ff45b48a8b8deb83bb64acc74", + "name": "ro-T11", "isPermitted": true }, { @@ -456,6 +638,16 @@ class MockAppStore<T> { "isPermitted": true }, { + "id": "4914ab0ab3a743e58f0eefdacc1dde77", + "name": "DN5242-Nov21-T1", + "isPermitted": true + }, + { + "id": "d0a3e3f2964542259d155a81c41aadc3", + "name": "test-hvf6-09", + "isPermitted": true + }, + { "id": "cbb99fe4ada84631b7baf046b6fd2044", "name": "DN5242-Nov16-T3", "isPermitted": true @@ -466,7 +658,7 @@ class MockAppStore<T> { "productFamilies": [ { "id": "ebc3bc3d-62fd-4a3f-a037-f619df4ff034", - "name": "SCOTTIE", + "name": "ERICA", "isPermitted": true }, { @@ -491,7 +683,7 @@ class MockAppStore<T> { }, { "id": "323d69d9-2efe-4r45-ay0a-89ea7ard4e6f", - "name": "vSCP", + "name": "vEsmeralda", "isPermitted": true }, { @@ -535,7 +727,7 @@ class MockAppStore<T> { "isPermitted": true }, { - "id": "Cisneros", + "id": "vMuriel", "name": "vMuriel", "isPermitted": true }, @@ -561,7 +753,7 @@ class MockAppStore<T> { }, { "id": "d7bb0a21-66f2-4e6d-87d9-9ef3ced63ae4", - "name": "Josefina", + "name": "JOSEFINA", "isPermitted": true }, { @@ -609,7 +801,7 @@ class MockAppStore<T> { }, { "id": "6", - "name": "vSEGW", + "name": "vPorfirio", "isPermitted": false }, { @@ -624,7 +816,7 @@ class MockAppStore<T> { }, { "id": "9", - "name": "vMME", + "name": "vFLORENCE", "isPermitted": false }, { @@ -634,7 +826,7 @@ class MockAppStore<T> { }, { "id": "11", - "name": "vSCP", + "name": "vEsmeralda", "isPermitted": false }, { @@ -644,7 +836,7 @@ class MockAppStore<T> { }, { "id": "13", - "name": "vMMSC", + "name": "vWINIFRED", "isPermitted": false }, { @@ -688,6 +880,754 @@ class MockAppStore<T> { "name": "UUUAIAAI-YYY1" }, { + "id": "BAN1", + "name": "VSDKYUTP-BAN1" + }, + { + "id": "DKJ1", + "name": "DKJSJDKA-DKJ1" + }, + { + "id": "MCS1", + "name": "ASACMAMS-MCS1" + }, + { + "id": "UIO1", + "name": "uioclli1-UIO1" + }, + { + "id": "RAJ1", + "name": "YGBIJNLQ-RAJ1" + }, + { + "id": "OPA1", + "name": "opaclli1-OPA1" + }, + { + "id": "SDE1", + "name": "ZXCVBNMA-SDE1" + }, + { + "id": "VEN2", + "name": "FGHJUHIL-VEN2" + }, + { + "id": "ORL1", + "name": "ORLDFLMA-ORL1" + }, + { + "id": "JAD1", + "name": "JADECLLI-JAD1" + }, + { + "id": "ZXL1", + "name": "LWLWCANN-ZXL1" + }, + { + "id": "CKL1", + "name": "CLKSKCKK-CKL1" + }, + { + "id": "SDF1", + "name": "sdfclli1-SDF1" + }, + { + "id": "RAD1", + "name": "RADICAL1-RAD1" + }, + { + "id": "KIT1", + "name": "BHYJFGLN-KIT1" + }, + { + "id": "REL1", + "name": "INGERFGT-REL1" + }, + { + "id": "JNL1", + "name": "CJALSDAC-JNL1" + }, + { + "id": "OLK1", + "name": "OLKOLKLS-OLK1" + }, + { + "id": "CHI1", + "name": "CHILLIWE-CHI1" + }, + { + "id": "UUU4", + "name": "UUUAAAUU-UUU4" + }, + { + "id": "TUF1", + "name": "TUFCLLI1-TUF1" + }, + { + "id": "KJN1", + "name": "CKALDKSA-KJN1" + }, + { + "id": "SAM1", + "name": "SNDGCA64-SAN1" + }, + { + "id": "SCK1", + "name": "SCKSCKSK-SCK1" + }, + { + "id": "HJH1", + "name": "AOEEQQQD-HJH1" + }, + { + "id": "HGD1", + "name": "SDFQWHGD-HGD1" + }, + { + "id": "KOR1", + "name": "HYFLNBVT-KOR1" + }, + { + "id": "ATL43", + "name": "AICLOCID-ATL43" + }, + { + "id": "ATL54", + "name": "AICFTAAI-ATL54" + }, + { + "id": "ATL66", + "name": "CLLIAAII-ATL66" + }, + { + "id": "VEL1", + "name": "BNMLKUIK-VEL1" + }, + { + "id": "ICC1", + "name": "SANJITAT-ICC1" + }, + { + "id": "MNT11", + "name": "WSXEFBTH-MNT11" + }, + { + "id": "DEF2", + "name": "WSBHGTYL-DEF2" + }, + { + "id": "MAD11", + "name": "SDFQWGKL-MAD11" + }, + { + "id": "OLG1", + "name": "OLHOLHOL-OLG1" + }, + { + "id": "GAR1", + "name": "NGFVSJKO-GAR1" + }, + { + "id": "SAN22", + "name": "GNVLSCTL-SAN22" + }, + { + "id": "HRG1", + "name": "HRGHRGGS-HRG1" + }, + { + "id": "JCS1", + "name": "JCSJSCJS-JCS1" + }, + { + "id": "DHA12", + "name": "WSXEDECF-DHA12" + }, + { + "id": "HJE1", + "name": "AOEEWWWD-HJE1" + }, + { + "id": "NCA1", + "name": "NCANCANN-NCA1" + }, + { + "id": "IOP1", + "name": "iopclli1-IOP1" + }, + { + "id": "RTY1", + "name": "rtyclli1-RTY1" + }, + { + "id": "KAP1", + "name": "HIOUYTRQ-KAP1" + }, + { + "id": "ZEN1", + "name": "ZENCLLI1-ZEN1" + }, + { + "id": "HKA1", + "name": "JAKHLASS-HKA1" + }, + { + "id": "CQK1", + "name": "CQKSCAKK-CQK1" + }, + { + "id": "SAI1", + "name": "UBEKQLPD-SAI1" + }, + { + "id": "ERT1", + "name": "ertclli1-ERT1" + }, + { + "id": "IBB1", + "name": "PLMKOIJU-IBB1" + }, + { + "id": "TIR2", + "name": "PLKINHYI-TIR2" + }, + { + "id": "HSD1", + "name": "CHASKCDS-HSD1" + }, + { + "id": "SLF78", + "name": "SDCTLFN1-SLF78" + }, + { + "id": "SEE78", + "name": "SDCTEEE4-SEE78" + }, + { + "id": "SAN13", + "name": "TOKYJPFA-SAN13" + }, + { + "id": "SAA78", + "name": "SDCTAAA1-SAA78" + }, + { + "id": "LUC1", + "name": "ATLDFGYC-LUC1" + }, + { + "id": "AMD13", + "name": "MEMATLAN-AMD13" + }, + { + "id": "TOR1", + "name": "TOROONXN-TOR1" + }, + { + "id": "QWE1", + "name": "QWECLLI1-QWE1" + }, + { + "id": "ZOG1", + "name": "ZOGASTRO-ZOG1" + }, + { + "id": "CAL33", + "name": "CALIFORN-CAL33" + }, + { + "id": "SHH78", + "name": "SDIT1HHH-SHH78" + }, + { + "id": "DSA1", + "name": "LKJHGFDS-DSA1" + }, + { + "id": "CLG1", + "name": "CLGRABAD-CLG1" + }, + { + "id": "BNA1", + "name": "BNARAGBK-BNA1" + }, + { + "id": "ATL84", + "name": "CANTTCOC-ATL84" + }, + { + "id": "APP1", + "name": "WBHGTYUI-APP1" + }, + { + "id": "RJN1", + "name": "RJNRBZAW-RJN1" + }, + { + "id": "EHH78", + "name": "SDCSHHH5-EHH78" + }, + { + "id": "mac10", + "name": "PKGTESTF-mac10" + }, + { + "id": "SXB78", + "name": "SDCTGXB1-SXB78" + }, + { + "id": "SAX78", + "name": "SDCTAXG1-SAX78" + }, + { + "id": "SYD1", + "name": "SYDNAUBV-SYD1" + }, + { + "id": "TOK1", + "name": "TOKYJPFA-TOK1" + }, + { + "id": "KGM2", + "name": "KGMTNC20-KGM2" + }, + { + "id": "DCC1b", + "name": "POIUYTGH-DCC1b" + }, + { + "id": "SKK78", + "name": "SDCTKKK1-SKK78" + }, + { + "id": "SGG78", + "name": "SDCTGGG1-SGG78" + }, + { + "id": "SJJ78", + "name": "SDCTJJJ1-SJJ78" + }, + { + "id": "SBX78", + "name": "SDCTBXG1-SBX78" + }, + { + "id": "LAG1", + "name": "LARGIZON-LAG1" + }, + { + "id": "IAA1", + "name": "QAZXSWED-IAA1" + }, + { + "id": "POI1", + "name": "PLMNJKIU-POI1" + }, + { + "id": "LAG1a", + "name": "LARGIZON-LAG1a" + }, + { + "id": "PBL1", + "name": "PBLAPBAI-PBL1" + }, + { + "id": "LAG45", + "name": "LARGIZON-LAG1a" + }, + { + "id": "MAR1", + "name": "MNBVCXZM-MAR1" + }, + { + "id": "HST70", + "name": "HSTNTX70-HST70" + }, + { + "id": "DCC1a", + "name": "POIUYTGH-DCC1a" + }, + { + "id": "TOL1", + "name": "TOLDOH21-TOL1" + }, + { + "id": "LON1", + "name": "LONEENCO-LON1" + }, + { + "id": "SJU78", + "name": "SDIT1JUB-SJU78" + }, + { + "id": "STN27", + "name": "HSTNTX01-STN27" + }, + { + "id": "SSW56", + "name": "ss8126GT-SSW56" + }, + { + "id": "SBB78", + "name": "SDIT1BBB-SBB78" + }, + { + "id": "DCC3", + "name": "POIUYTGH-DCC3" + }, + { + "id": "GNV1", + "name": "GNVLSCTL-GNV1" + }, + { + "id": "WAS1", + "name": "WASHDCSW-WAS1" + }, + { + "id": "TOY1", + "name": "TORYONNZ-TOY1" + }, + { + "id": "STT1", + "name": "STTLWA02-STT1" + }, + { + "id": "STG1", + "name": "STTGGE62-STG1" + }, + { + "id": "SLL78", + "name": "SDCTLLL1-SLL78" + }, + { + "id": "SBU78", + "name": "SDIT1BUB-SBU78" + }, + { + "id": "ATL2", + "name": "ATLNGANW-ATL2" + }, + { + "id": "BOT1", + "name": "BOTHWAKY-BOT1" + }, + { + "id": "SNG1", + "name": "SNGPSIAU-SNG1" + }, + { + "id": "NYC1", + "name": "NYCMNY54-NYC1" + }, + { + "id": "LAG1b", + "name": "LARGIZON-LAG1b" + }, + { + "id": "AMD15", + "name": "AMDFAA01-AMD15" + }, + { + "id": "SNA1", + "name": "SNANTXCA-SNA1" + }, + { + "id": "PLT1", + "name": "PLTNCA60-PLT1" + }, + { + "id": "TLP1", + "name": "TLPNXM18-TLP1" + }, + { + "id": "SDD81", + "name": "SAIT1DD6-SDD81" + }, + { + "id": "DCC1", + "name": "POIUYTGH-DCC1" + }, + { + "id": "DCC2", + "name": "POIUYTGH-DCC2" + }, + { + "id": "OKC1", + "name": "OKCBOK55-OKC1" + }, + { + "id": "PAR1", + "name": "PARSFRCG-PAR1" + }, + { + "id": "TES36", + "name": "ABCEETES-TES36" + }, + { + "id": "COM1", + "name": "PLMKOPIU-COM1" + }, + { + "id": "ANI1", + "name": "ATLNGTRE-ANI1" + }, + { + "id": "SDG78", + "name": "SDIT1BDG-SDG78" + }, + { + "id": "mac20", + "name": "PKGTESTF-mac20" + }, + { + "id": "DSF45", + "name": "DSFBG123-DSF45" + }, + { + "id": "HST25", + "name": "HSTNTX01-HST25" + }, + { + "id": "AMD18", + "name": "AUDIMA01-AMD18" + }, + { + "id": "SAA80", + "name": "SAIT9AA3-SAA80" + }, + { + "id": "SSA56", + "name": "SSIT2AA7-SSA56" + }, + { + "id": "SDD82", + "name": "SAIT1DD9-SDD82" + }, + { + "id": "JCV1", + "name": "JCVLFLBW-JCV1" + }, + { + "id": "SUL2", + "name": "WERTYUJK-SUL2" + }, + { + "id": "PUR1", + "name": "purelyde-PUR1" + }, + { + "id": "FDE55", + "name": "FDERT555-FDE55" + }, + { + "id": "SITE", + "name": "LONEENCO-SITE" + }, + { + "id": "ATL1", + "name": "ATLNGAMA-ATL1" + }, + { + "id": "JUL1", + "name": "ZXCVBNMM-JUL1" + }, + { + "id": "TAT34", + "name": "TESAAISB-TAT34" + }, + { + "id": "XCP12", + "name": "CHKGH123-XCP12" + }, + { + "id": "RAI1", + "name": "poiuytre-RAI1" + }, + { + "id": "HPO1", + "name": "ATLNGAUP-HPO1" + }, + { + "id": "KJF12", + "name": "KJFDH123-KJF12" + }, + { + "id": "SCC80", + "name": "SAIT9CC3-SCC80" + }, + { + "id": "SAA12", + "name": "SAIT9AF8-SAA12" + }, + { + "id": "SAA14", + "name": "SAIT1AA9-SAA14" + }, + { + "id": "ATL35", + "name": "TTESSAAI-ATL35" + }, + { + "id": "CWY1", + "name": "CWYMOWBS-CWY1" + }, + { + "id": "ATL76", + "name": "TELEPAAI-ATL76" + }, + { + "id": "DSL12", + "name": "DSLFK242-DSL12" + }, + { + "id": "ATL53", + "name": "AAIATLTE-ATL53" + }, + { + "id": "SAA11", + "name": "SAIT9AA2-SAA11" + }, + { + "id": "ATL62", + "name": "TESSASCH-ATL62" + }, + { + "id": "AUG1", + "name": "ASDFGHJK-AUG1" + }, + { + "id": "POI22", + "name": "POIUY123-POI22" + }, + { + "id": "SAA13", + "name": "SAIT1AA9-SAA13" + }, + { + "id": "BHY17", + "name": "BHYTFRF3-BHY17" + }, + { + "id": "LIS1", + "name": "HOSTPROF-LIS1" + }, + { + "id": "SIP1", + "name": "ZXCVBNMK-SIP1" + }, + { + "id": "ATL99", + "name": "TEESTAAI-ATL43" + }, + { + "id": "ATL64", + "name": "FORLOAAJ-ATL64" + }, + { + "id": "TAT33", + "name": "TESAAISA-TAT33" + }, + { + "id": "RAD10", + "name": "INDIPUNE-RAD10" + }, + { + "id": "RTW5", + "name": "BHYTFRY4-RTW5" + }, + { + "id": "JGS1", + "name": "KSJKKKKK-JGS1" + }, + { + "id": "ATL98", + "name": "TEESTAAI-ATL43" + }, + { + "id": "WAN1", + "name": "LEIWANGW-WAN1" + }, + { + "id": "ATL44", + "name": "ATLSANAB-ATL44" + }, + { + "id": "RTD2", + "name": "BHYTFRk4-RTD2" + }, + { + "id": "NIR1", + "name": "ORFLMANA-NIR1" + }, + { + "id": "ATL75", + "name": "SANAAIRE-ATL75" + }, + { + "id": "NUM1", + "name": "QWERTYUI-NUM1" + }, + { + "id": "hvf32", + "name": "MDTWNJ21-hvf32" + }, + { + "id": "RTZ4", + "name": "BHYTFRZ6-RTZ4" + }, + { + "id": "ATL56", + "name": "ATLSANAC-ATL56" + }, + { + "id": "AMS1", + "name": "AMSTNLBW-AMS1" + }, + { + "id": "RCT1", + "name": "AMSTERNL-RCT1" + }, + { + "id": "JAN1", + "name": "ORFLMATT-JAN1" + }, + { + "id": "ABC14", + "name": "TESAAISA-ABC14" + }, + { + "id": "TAT37", + "name": "TESAAISD-TAT37" + }, + { + "id": "MIC54", + "name": "MICHIGAN-MIC54" + }, + { + "id": "ABC11", + "name": "ATLSANAI-ABC11" + }, + { + "id": "AMF11", + "name": "AMDOCS01-AMF11" + }, + { + "id": "ATL63", + "name": "ATLSANEW-ATL63" + }, + { + "id": "ABC12", + "name": "ATLSECIA-ABC12" + }, + { + "id": "hvf20", + "name": "MDTWNJ21-hvf20" + }, + { + "id": "ABC15", + "name": "AAITESAN-ABC15" + }, + { "id": "AVT1", "name": "AVTRFLHD-AVT1" }, @@ -829,7 +1769,8 @@ class MockAppStore<T> { } } -class MockFeatureFlagsService {} +class MockFeatureFlagsService { +} describe('Service Control Generator', () => { let injector; @@ -846,7 +1787,7 @@ describe('Service Control Generator', () => { AaiService, FormBuilder, LogService, - {provide:FeatureFlagsService, useClass: MockFeatureFlagsService}, + {provide: FeatureFlagsService, useClass: MockFeatureFlagsService}, {provide: NgRedux, useClass: MockAppStore}] }); await TestBed.compileComponents(); @@ -859,9 +1800,9 @@ describe('Service Control Generator', () => { test('ServiceControlGenerator should return the correct controls with correct order', () => { - const serviceId : string = "6e59c5de-f052-46fa-aa7e-2fca9d674c44"; - const controls :FormControlModel[] = service.getMacroFormControls(serviceId); - const globalSubscriberIdControl : DropdownFormControl = <DropdownFormControl>controls.find(item => item.controlName === FormControlNames.GLOBAL_SUBSCRIBER_ID); + const serviceId: string = "6e59c5de-f052-46fa-aa7e-2fca9d674c44"; + const controls: FormControlModel[] = service.getMacroFormControls(serviceId); + const globalSubscriberIdControl: DropdownFormControl = <DropdownFormControl>controls.find(item => item.controlName === FormControlNames.GLOBAL_SUBSCRIBER_ID); expect(globalSubscriberIdControl.validations.find(val => val.validatorName === ValidatorOptions.required)).toBeDefined(); expect(globalSubscriberIdControl.dataTestId).toEqual('subscriberName'); @@ -872,7 +1813,7 @@ describe('Service Control Generator', () => { expect(globalSubscriberIdControl.onInit).toBeDefined(); expect(globalSubscriberIdControl.onChange).toBeDefined(); - const serviceTypeControl : DropdownFormControl = <DropdownFormControl>controls.find(item => item.controlName === FormControlNames.SUBSCRIPTION_SERVICE_TYPE); + const serviceTypeControl: DropdownFormControl = <DropdownFormControl>controls.find(item => item.controlName === FormControlNames.SUBSCRIPTION_SERVICE_TYPE); expect(serviceTypeControl.validations.find(val => val.validatorName === ValidatorOptions.required)).toBeDefined(); expect(serviceTypeControl.dataTestId).toEqual('serviceType'); expect(serviceTypeControl.type).toEqual(FormControlType.DROPDOWN); @@ -882,7 +1823,7 @@ describe('Service Control Generator', () => { expect(serviceTypeControl.onInit).toBeDefined(); expect(serviceTypeControl.onChange).toBeDefined(); - const productFamilyControl : DropdownFormControl = <DropdownFormControl>controls.find(item => item.controlName === FormControlNames.PRODUCT_FAMILY_ID); + const productFamilyControl: DropdownFormControl = <DropdownFormControl>controls.find(item => item.controlName === FormControlNames.PRODUCT_FAMILY_ID); expect(productFamilyControl.validations.find(val => val.validatorName === ValidatorOptions.required)).toBeDefined(); expect(productFamilyControl.dataTestId).toEqual('productFamily'); expect(productFamilyControl.type).toEqual(FormControlType.DROPDOWN); @@ -891,7 +1832,7 @@ describe('Service Control Generator', () => { expect(productFamilyControl.displayName).toEqual('Product family'); expect(productFamilyControl.onInit).toBeDefined(); - const lcpRegionControl : DropdownFormControl = <DropdownFormControl>controls.find(item => item.controlName === FormControlNames.LCPCLOUD_REGION_ID); + const lcpRegionControl: DropdownFormControl = <DropdownFormControl>controls.find(item => item.controlName === FormControlNames.LCPCLOUD_REGION_ID); expect(lcpRegionControl.validations.find(val => val.validatorName === ValidatorOptions.required)).toBeDefined(); expect(lcpRegionControl.dataTestId).toEqual('lcpRegion'); expect(lcpRegionControl.type).toEqual(FormControlType.DROPDOWN); @@ -901,7 +1842,7 @@ describe('Service Control Generator', () => { expect(lcpRegionControl.onInit).toBeDefined(); expect(lcpRegionControl.onChange).toBeDefined(); - const tenantControl : DropdownFormControl = <DropdownFormControl>controls.find(item => item.controlName === FormControlNames.TENANT_ID); + const tenantControl: DropdownFormControl = <DropdownFormControl>controls.find(item => item.controlName === FormControlNames.TENANT_ID); expect(tenantControl.validations.find(val => val.validatorName === ValidatorOptions.required)).toBeDefined(); expect(tenantControl.dataTestId).toEqual('tenant'); expect(tenantControl.type).toEqual(FormControlType.DROPDOWN); @@ -930,25 +1871,24 @@ describe('Service Control Generator', () => { // 9. Pause on pause points // 10. Project // 11. Rollback on failure - const serviceId : string = "6e59c5de-f052-46fa-aa7e-2fca9d674c44"; - const controls :FormControlModel[] = service.getMacroFormControls(serviceId); - + const serviceId: string = "6e59c5de-f052-46fa-aa7e-2fca9d674c44"; + const controls: FormControlModel[] = service.getMacroFormControls(serviceId); const controlsOrderNames = [ FormControlNames.INSTANCE_NAME, FormControlNames.GLOBAL_SUBSCRIBER_ID, - FormControlNames.SUBSCRIPTION_SERVICE_TYPE , - FormControlNames.OWNING_ENTITY_ID , - FormControlNames.PRODUCT_FAMILY_ID , - FormControlNames.LCPCLOUD_REGION_ID , - FormControlNames.TENANT_ID , - FormControlNames.AICZONE_ID , + FormControlNames.SUBSCRIPTION_SERVICE_TYPE, + FormControlNames.OWNING_ENTITY_ID, + FormControlNames.PRODUCT_FAMILY_ID, + FormControlNames.LCPCLOUD_REGION_ID, + FormControlNames.TENANT_ID, + FormControlNames.AICZONE_ID, FormControlNames.PAUSE, - FormControlNames.PROJECT_NAME , + FormControlNames.PROJECT_NAME, FormControlNames.ROLLBACK_ON_FAILURE]; expect(controls.length).toEqual(11); - for(let i = 0 ; i < controls.length ; i++){ + for (let i = 0; i < controls.length; i++) { expect(controls[i].controlName).toEqual(controlsOrderNames[i]); } }); @@ -961,21 +1901,57 @@ describe('Service Control Generator', () => { // 4. Owning entity (fix Entity to entity) // 5. Project // 6. Rollback on failure - const serviceId : string = "6e59c5de-f052-46fa-aa7e-2fca9d674c44"; - const controls :FormControlModel[] = service.getAlaCartControls(serviceId); + const serviceId: string = "6e59c5de-f052-46fa-aa7e-2fca9d674c44"; + const controls: FormControlModel[] = service.getAlaCartControls(serviceId); const controlsOrderNames = [ FormControlNames.INSTANCE_NAME, FormControlNames.GLOBAL_SUBSCRIBER_ID, - FormControlNames.SUBSCRIPTION_SERVICE_TYPE , - FormControlNames.OWNING_ENTITY_ID , - FormControlNames.PROJECT_NAME , + FormControlNames.SUBSCRIPTION_SERVICE_TYPE, + FormControlNames.OWNING_ENTITY_ID, + FormControlNames.PROJECT_NAME, FormControlNames.ROLLBACK_ON_FAILURE]; expect(controls.length).toEqual(6); - for(let i = 0 ; i < controls.length ; i++){ + for (let i = 0; i < controls.length; i++) { expect(controls[i].controlName).toEqual(controlsOrderNames[i]); } }); + test('getMacroFormControls for Transport service type should return optional for lcp region and tenant', () => { + const serviceId: string = "7e59c5de-f052-46fa-aa7e-2fca9d674c43"; + const controls: FormControlModel[] = service.getMacroFormControls(serviceId); + + const lcpRegionControl: DropdownFormControl = <DropdownFormControl>controls.find(item => item.controlName === FormControlNames.LCPCLOUD_REGION_ID); + expect(lcpRegionControl.validations.length).toEqual(0); + expect(lcpRegionControl.dataTestId).toEqual('lcpRegion'); + expect(lcpRegionControl.type).toEqual(FormControlType.DROPDOWN); + expect(lcpRegionControl.isDisabled).toBeTruthy(); + expect(lcpRegionControl.placeHolder).toEqual('Select LCP Region'); + expect(lcpRegionControl.displayName).toEqual('LCP region'); + expect(lcpRegionControl.onInit).toBeDefined(); + expect(lcpRegionControl.onChange).toBeDefined(); + + const tenantControl: DropdownFormControl = <DropdownFormControl>controls.find(item => item.controlName === FormControlNames.TENANT_ID); + expect(tenantControl.validations.length).toEqual(0); + expect(tenantControl.dataTestId).toEqual('tenant'); + expect(tenantControl.type).toEqual(FormControlType.DROPDOWN); + expect(tenantControl.isDisabled).toBeTruthy(); + expect(tenantControl.placeHolder).toEqual('Select Tenant'); + expect(tenantControl.displayName).toEqual('Tenant'); + expect(tenantControl.onInit).toBeDefined(); + expect(tenantControl.onChange).toBeDefined(); + }); + + const isRegionAndTenantOptionalProvider = [ + [{modelCategory:"Transport"}, true], + [{modelCategory:"dontKnow"}, false], + [undefined, false], + [{}, false] + ]; + + each(isRegionAndTenantOptionalProvider).test(`isRegionAndTenantOptional shall be as expected`, (vidNotions:VidNotions, expectedResult:boolean)=>{ + expect(service.isRegionAndTenantOptional(vidNotions)).toEqual(expectedResult); + }); + }); diff --git a/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/service.control.generator.ts b/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/service.control.generator.ts index 539f848d5..12054a8a7 100644 --- a/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/service.control.generator.ts +++ b/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/service.control.generator.ts @@ -2,11 +2,7 @@ import {Injectable} from "@angular/core"; import {GenericFormService} from "../generic-form.service"; import {NgRedux} from "@angular-redux/store"; import {AppState} from "../../../store/reducers"; -import { - FormControlModel, - ValidatorModel, - ValidatorOptions -} from "../../../models/formControlModels/formControl.model"; +import {FormControlModel, ValidatorModel, ValidatorOptions} from "../../../models/formControlModels/formControl.model"; import {DropdownFormControl} from "../../../models/formControlModels/dropdownFormControl.model"; import * as _ from 'lodash'; import {BasicControlGenerator} from "./basic.control.generator"; @@ -15,12 +11,12 @@ import {FormGroup} from "@angular/forms"; import {FormControlType} from "../../../models/formControlModels/formControlTypes.enum"; import {HttpClient} from "@angular/common/http"; import {SelectOption} from "../../../models/selectOption"; -import {Observable} from "rxjs"; +import {Observable, of} from "rxjs"; import {LogService} from "../../../utils/log/log.service"; import {ServiceModel} from "../../../models/serviceModel"; -import {of} from "rxjs"; import {CheckboxFormControl} from "../../../models/formControlModels/checkboxFormControl.model"; +import {VidNotions} from "../../../models/vidNotions"; export enum FormControlNames { INSTANCE_NAME = 'instanceName', @@ -96,10 +92,12 @@ export class ServiceControlGenerator { result.push(this.getServiceTypeControl(serviceInstance, result, true)); result.push(this.getOwningEntityControl(serviceInstance, result)); result.push(this.getProductFamilyControl(serviceInstance, result)); - result.push(this.getLcpRegionControl(serviceInstance, result)); - result.push(this.getTenantControl(serviceInstance, result),); + result.push(this.getLcpRegionControl(serviceInstance, result, serviceModel.vidNotions)); + result.push(this.getTenantControl(serviceInstance, result, serviceModel.vidNotions),); result.push(this.getAICZoneControl(serviceInstance, result)); + + if(serviceModel.isMultiStepDesign){ result.push(new CheckboxFormControl({ controlName : FormControlNames.PAUSE, @@ -221,7 +219,11 @@ export class ServiceControlGenerator { }) }; - getLcpRegionControl = (serviceInstance : any, controls : FormControlModel[]) : DropdownFormControl => { + isRegionAndTenantOptional = (vidNotions?: VidNotions) : boolean => { + return !_.isNil(vidNotions) && vidNotions.modelCategory === "Transport" + }; + + getLcpRegionControl = (serviceInstance: any, controls: FormControlModel[], vidNotions?: VidNotions) : DropdownFormControl => { return new DropdownFormControl({ type : FormControlType.DROPDOWN, controlName : FormControlNames.LCPCLOUD_REGION_ID, @@ -231,7 +233,8 @@ export class ServiceControlGenerator { name : "lcpRegion", isDisabled : _.isNil(serviceInstance), value : serviceInstance ? serviceInstance.lcpCloudRegionId : null, - validations : [new ValidatorModel(ValidatorOptions.required, 'is required')], + validations : this.isRegionAndTenantOptional(vidNotions) ? [] : + [new ValidatorModel(ValidatorOptions.required, 'is required')], onInitSelectedField : ['lcpRegionList'], onInit : serviceInstance ? this._basicControlGenerator.getSubscribeInitResult.bind( this._aaiService, @@ -255,7 +258,7 @@ export class ServiceControlGenerator { }) }; - getTenantControl = (serviceInstance : any, controls : FormControlModel[]) : DropdownFormControl => { + getTenantControl = (serviceInstance: any, controls: FormControlModel[], vidNotions?: VidNotions) : DropdownFormControl => { return new DropdownFormControl({ type : FormControlType.DROPDOWN, controlName : FormControlNames.TENANT_ID, @@ -264,12 +267,12 @@ export class ServiceControlGenerator { placeHolder : 'Select Tenant', name : "tenant", isDisabled : _.isNil(serviceInstance), - onInitSelectedField :serviceInstance ? ['lcpRegionsTenantsMap', serviceInstance.lcpCloudRegionId] : null, + onInitSelectedField : serviceInstance ? ['lcpRegionsTenantsMap', serviceInstance.lcpCloudRegionId] : null, onInit : serviceInstance ? this._basicControlGenerator.getSubscribeInitResult.bind( this._aaiService, this.aaiService.getLcpRegionsAndTenants.bind(this, serviceInstance.globalSubscriberId, serviceInstance.subscriptionServiceType)) : ()=>{}, value : serviceInstance ? serviceInstance.tenantId : null, - validations : [new ValidatorModel(ValidatorOptions.required, 'is required')], + validations : this.isRegionAndTenantOptional(vidNotions) ? [] : [new ValidatorModel(ValidatorOptions.required, 'is required')], }) }; diff --git a/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/vfModuleGenerator/vfModule.control.generator.spec.ts b/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/vfModuleGenerator/vfModule.control.generator.spec.ts index 17689be6e..fbcca06a7 100644 --- a/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/vfModuleGenerator/vfModule.control.generator.spec.ts +++ b/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/vfModuleGenerator/vfModule.control.generator.spec.ts @@ -23,15 +23,10 @@ class MockAppStore<T> { "FLAG_NETWORK_TO_ASYNC_INSTANTIATION": false, "FLAG_SHOW_ASSIGNMENTS": true, "FLAG_FABRIC_CONFIGURATION_ASSIGNMENTS": true, - "FLAG_UNASSIGN_SERVICE": true, "FLAG_SHOW_VERIFY_SERVICE": false, - "FLAG_COLLECTION_RESOURCE_SUPPORT": true, - "FLAG_DUPLICATE_VNF": true, "FLAG_SERVICE_MODEL_CACHE": true, "CREATE_INSTANCE_TEST": false, "FLAG_SETTING_DEFAULTS_IN_DRAWING_BOARD": false, - "FLAG_ASYNC_INSTANTIATION": true, - "FLAG_ASYNC_JOBS": true, "EMPTY_DRAWING_BOARD_TEST": false, "FLAG_ADD_MSO_TESTAPI_FIELD": true }, @@ -55,11 +50,11 @@ class MockAppStore<T> { "inputs": {} }, "vnfs": { - "VF_vMee 0": { + "VF_vGeraldine 0": { "uuid": "d6557200-ecf2-4641-8094-5393ae3aae60", "invariantUuid": "4160458e-f648-4b30-a176-43881ffffe9e", - "description": "VSP_vMee", - "name": "VF_vMee", + "description": "VSP_vGeraldine", + "name": "VF_vGeraldine", "version": "2.0", "customizationUuid": "91415b44-753d-494c-926a-456a9172bbb9", "inputs": {}, @@ -231,74 +226,74 @@ class MockAppStore<T> { "sctp-b-egress-dst_end_port": "65535.0" }, "type": "VF", - "modelCustomizationName": "VF_vMee 0", + "modelCustomizationName": "VF_vGeraldine 0", "vfModules": { - "vf_vmee0..VfVmee..vmme_vlc..module-1": { + "vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1": { "uuid": "522159d5-d6e0-4c2a-aa44-5a542a12a830", "invariantUuid": "98a7c88b-b577-476a-90e4-e25a5871e02b", "customizationUuid": "55b1be94-671a-403e-a26c-667e9c47d091", "description": null, - "name": "VfVmee..vmme_vlc..module-1", + "name": "VfVgeraldine..vflorence_vlc..module-1", "version": "2", - "modelCustomizationName": "VfVmee..vmme_vlc..module-1", + "modelCustomizationName": "VfVgeraldine..vflorence_vlc..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_vlc" + "vfModuleLabel": "vflorence_vlc" }, "inputs": {}, "volumeGroupAllowed": true }, - "vf_vmee0..VfVmee..vmme_gpb..module-2": { + "vf_vgeraldine0..VfVgeraldine..vflorence_gpb..module-2": { "uuid": "41708296-e443-4c71-953f-d9a010f059e1", "invariantUuid": "1cca90b8-3490-495e-87da-3f3e4c57d5b9", "customizationUuid": "6add59e0-7fe1-4bc4-af48-f8812422ae7c", "description": null, - "name": "VfVmee..vmme_gpb..module-2", + "name": "VfVgeraldine..vflorence_gpb..module-2", "version": "2", - "modelCustomizationName": "VfVmee..vmme_gpb..module-2", + "modelCustomizationName": "VfVgeraldine..vflorence_gpb..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_gpb" + "vfModuleLabel": "vflorence_gpb" }, "inputs": {}, "volumeGroupAllowed": false }, - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {}, "volumeGroupAllowed": true } }, "volumeGroups": { - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {} } @@ -327,7 +322,7 @@ class MockAppStore<T> { "modelCustomizationName": "ExtVL 0" } }, - "collectionResource": {}, + "collectionResources": {}, "configurations": { "Port Mirroring Configuration By Policy 0": { "uuid": "b4398538-e89d-4f13-b33d-ca323434ba50", @@ -348,72 +343,72 @@ class MockAppStore<T> { }, "serviceProxies": {}, "vfModules": { - "vf_vmee0..VfVmee..vmme_vlc..module-1": { + "vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1": { "uuid": "522159d5-d6e0-4c2a-aa44-5a542a12a830", "invariantUuid": "98a7c88b-b577-476a-90e4-e25a5871e02b", "customizationUuid": "55b1be94-671a-403e-a26c-667e9c47d091", "description": null, - "name": "VfVmee..vmme_vlc..module-1", + "name": "VfVgeraldine..vflorence_vlc..module-1", "version": "2", - "modelCustomizationName": "VfVmee..vmme_vlc..module-1", + "modelCustomizationName": "VfVgeraldine..vflorence_vlc..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_vlc" + "vfModuleLabel": "vflorence_vlc" }, "inputs": {}, "volumeGroupAllowed": true }, - "vf_vmee0..VfVmee..vmme_gpb..module-2": { + "vf_vgeraldine0..VfVgeraldine..vflorence_gpb..module-2": { "uuid": "41708296-e443-4c71-953f-d9a010f059e1", "invariantUuid": "1cca90b8-3490-495e-87da-3f3e4c57d5b9", "customizationUuid": "6add59e0-7fe1-4bc4-af48-f8812422ae7c", "description": null, - "name": "VfVmee..vmme_gpb..module-2", + "name": "VfVgeraldine..vflorence_gpb..module-2", "version": "2", - "modelCustomizationName": "VfVmee..vmme_gpb..module-2", + "modelCustomizationName": "VfVgeraldine..vflorence_gpb..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_gpb" + "vfModuleLabel": "vflorence_gpb" }, "inputs": {}, "volumeGroupAllowed": false }, - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {}, "volumeGroupAllowed": true } }, "volumeGroups": { - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {} } @@ -425,21 +420,21 @@ class MockAppStore<T> { "6e59c5de-f052-46fa-aa7e-2fca9d674c44": { "networks": {}, "vnfs": { - "VF_vMee 0": { + "VF_vGeraldine 0": { "rollbackOnFailure": "true", "vfModules": { - "vf_vmee0..VfVmee..base_vmme..module-0": { - "vf_vmee0..VfVmee..base_vmme..module-0vmvzo": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0vmvzo": { "isMissingData": false, "sdncPreReload": null, "modelInfo": { "modelType": "VFmodule", "modelInvariantId": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "modelVersionId": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", - "modelName": "VfVmee..base_vmme..module-0", + "modelName": "VfVgeraldine..base_vflorence..module-0", "modelVersion": "2", "modelCustomizationId": "f8c040f1-7e51-4a11-aca8-acf256cfd861", - "modelCustomizationName": "VfVmee..base_vmme..module-0" + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0" }, "instanceParams": [ {} @@ -449,8 +444,8 @@ class MockAppStore<T> { } }, "isMissingData": true, - "originalName": "VF_vMee 0", - "vnfStoreKey": "VF_vMee 0", + "originalName": "VF_vGeraldine 0", + "vnfStoreKey": "VF_vGeraldine 0", "trackById": "p3wk448m5do", "uuid": "d6557200-ecf2-4641-8094-5393ae3aae60", "productFamilyId": "36b4733a-53f4-4cc8-8ff0-9172e5fc4b8e", @@ -462,9 +457,9 @@ class MockAppStore<T> { "modelType": "VF", "modelInvariantId": "4160458e-f648-4b30-a176-43881ffffe9e", "modelVersionId": "6e59c5de-f052-46fa-aa7e-2fca9d674c44", - "modelName": "VF_vMee", + "modelName": "VF_vGeraldine", "modelVersion": "2.0", - "modelCustomizationName": "VF_vMee 0" + "modelCustomizationName": "VF_vGeraldine 0" } } }, @@ -509,8 +504,8 @@ class MockAppStore<T> { "lcpRegionsAndTenants": { "lcpRegionList": [ { - "id": "JANET25", - "name": "JANET25", + "id": "AAIAIC25", + "name": "AAIAIC25", "isPermitted": true }, { @@ -520,7 +515,7 @@ class MockAppStore<T> { } ], "lcpRegionsTenantsMap": { - "JANET25": [ + "AAIAIC25": [ { "id": "092eb9e8e4b7412e8787dd091bc58e86", "name": "USP-SIP-IC-24335-T-01", @@ -534,8 +529,128 @@ class MockAppStore<T> { "isPermitted": true }, { - "id": "d0a3e3f2964542259d155a81c41aadc3", - "name": "test-hvf6-09", + "id": "229bcdc6eaeb4ca59d55221141d01f8e", + "name": "AIN Web Tool-15-D-STTest2", + "isPermitted": true + }, + { + "id": "1178612d2b394be4834ad77f567c0af2", + "name": "AIN Web Tool-15-D-SSPtestcustome", + "isPermitted": true + }, + { + "id": "19c5ade915eb461e8af52fb2fd8cd1f2", + "name": "AIN Web Tool-15-D-UncheckedEcopm", + "isPermitted": true + }, + { + "id": "de007636e25249238447264a988a927b", + "name": "AIN Web Tool-15-D-dfsdf", + "isPermitted": true + }, + { + "id": "62f29b3613634ca6a3065cbe0e020c44", + "name": "AIN/SMS-16-D-Multiservices1", + "isPermitted": true + }, + { + "id": "649289e30d3244e0b48098114d63c2aa", + "name": "AIN Web Tool-15-D-SSPST66", + "isPermitted": true + }, + { + "id": "3f21eeea6c2c486bba31dab816c05a32", + "name": "AIN Web Tool-15-D-ASSPST47", + "isPermitted": true + }, + { + "id": "f60ce21d3ee6427586cff0d22b03b773", + "name": "CESAR-100-D-sspjg67246", + "isPermitted": true + }, + { + "id": "8774659e425f479895ae091bb5d46560", + "name": "CESAR-100-D-sspjg68359", + "isPermitted": true + }, + { + "id": "624eb554b0d147c19ff8885341760481", + "name": "AINWebTool-15-D-iftach", + "isPermitted": true + }, + { + "id": "214f55f5fc414c678059c383b03e4962", + "name": "CESAR-100-D-sspjg612401", + "isPermitted": true + }, + { + "id": "c90666c291664841bb98e4d981ff1db5", + "name": "CESAR-100-D-sspjg621340", + "isPermitted": true + }, + { + "id": "ce5b6bc5c7b348e1bf4b91ac9a174278", + "name": "sspjg621351cloned", + "isPermitted": true + }, + { + "id": "b386b768a3f24c8e953abbe0b3488c02", + "name": "AINWebTool-15-D-eteancomp", + "isPermitted": true + }, + { + "id": "dc6c4dbfd225474e9deaadd34968646c", + "name": "AINWebTool-15-T-SPFET", + "isPermitted": true + }, + { + "id": "02cb5030e9914aa4be120bd9ed1e19eb", + "name": "AINWebTool-15-X-eeweww", + "isPermitted": true + }, + { + "id": "f2f3830e4c984d45bcd00e1a04158a79", + "name": "CESAR-100-D-spjg61909", + "isPermitted": true + }, + { + "id": "05b91bd5137f4929878edd965755c06d", + "name": "CESAR-100-D-sspjg621512cloned", + "isPermitted": true + }, + { + "id": "7002fbe8482d4a989ddf445b1ce336e0", + "name": "AINWebTool-15-X-vdr", + "isPermitted": true + }, + { + "id": "4008522be43741dcb1f5422022a2aa0b", + "name": "AINWebTool-15-D-ssasa", + "isPermitted": true + }, + { + "id": "f44e2e96a1b6476abfda2fa407b00169", + "name": "AINWebTool-15-D-PFNPT", + "isPermitted": true + }, + { + "id": "b69a52bec8a84669a37a1e8b72708be7", + "name": "AINWebTool-15-X-vdre", + "isPermitted": true + }, + { + "id": "fac7d9fd56154caeb9332202dcf2969f", + "name": "AINWebTool-15-X-NONPODECOMP", + "isPermitted": true + }, + { + "id": "2d34d8396e194eb49969fd61ffbff961", + "name": "DN5242-Nov16-T5", + "isPermitted": true + }, + { + "id": "cb42a77ff45b48a8b8deb83bb64acc74", + "name": "ro-T11", "isPermitted": true }, { @@ -544,6 +659,16 @@ class MockAppStore<T> { "isPermitted": true }, { + "id": "4914ab0ab3a743e58f0eefdacc1dde77", + "name": "DN5242-Nov21-T1", + "isPermitted": true + }, + { + "id": "d0a3e3f2964542259d155a81c41aadc3", + "name": "test-hvf6-09", + "isPermitted": true + }, + { "id": "cbb99fe4ada84631b7baf046b6fd2044", "name": "DN5242-Nov16-T3", "isPermitted": true @@ -554,7 +679,7 @@ class MockAppStore<T> { "productFamilies": [ { "id": "ebc3bc3d-62fd-4a3f-a037-f619df4ff034", - "name": "SCOTTIE", + "name": "ERICA", "isPermitted": true }, { @@ -579,7 +704,7 @@ class MockAppStore<T> { }, { "id": "323d69d9-2efe-4r45-ay0a-89ea7ard4e6f", - "name": "vSCP", + "name": "vEsmeralda", "isPermitted": true }, { @@ -623,7 +748,7 @@ class MockAppStore<T> { "isPermitted": true }, { - "id": "Cisneros", + "id": "vMuriel", "name": "vMuriel", "isPermitted": true }, @@ -649,7 +774,7 @@ class MockAppStore<T> { }, { "id": "d7bb0a21-66f2-4e6d-87d9-9ef3ced63ae4", - "name": "Josefina", + "name": "JOSEFINA", "isPermitted": true }, { @@ -697,7 +822,7 @@ class MockAppStore<T> { }, { "id": "6", - "name": "vSEGW", + "name": "vPorfirio", "isPermitted": false }, { @@ -712,7 +837,7 @@ class MockAppStore<T> { }, { "id": "9", - "name": "vMME", + "name": "vFLORENCE", "isPermitted": false }, { @@ -722,7 +847,7 @@ class MockAppStore<T> { }, { "id": "11", - "name": "vSCP", + "name": "vEsmeralda", "isPermitted": false }, { @@ -732,7 +857,7 @@ class MockAppStore<T> { }, { "id": "13", - "name": "vMMSC", + "name": "vWINIFRED", "isPermitted": false }, { @@ -776,6 +901,754 @@ class MockAppStore<T> { "name": "UUUAIAAI-YYY1" }, { + "id": "BAN1", + "name": "VSDKYUTP-BAN1" + }, + { + "id": "DKJ1", + "name": "DKJSJDKA-DKJ1" + }, + { + "id": "MCS1", + "name": "ASACMAMS-MCS1" + }, + { + "id": "UIO1", + "name": "uioclli1-UIO1" + }, + { + "id": "RAJ1", + "name": "YGBIJNLQ-RAJ1" + }, + { + "id": "OPA1", + "name": "opaclli1-OPA1" + }, + { + "id": "SDE1", + "name": "ZXCVBNMA-SDE1" + }, + { + "id": "VEN2", + "name": "FGHJUHIL-VEN2" + }, + { + "id": "ORL1", + "name": "ORLDFLMA-ORL1" + }, + { + "id": "JAD1", + "name": "JADECLLI-JAD1" + }, + { + "id": "ZXL1", + "name": "LWLWCANN-ZXL1" + }, + { + "id": "CKL1", + "name": "CLKSKCKK-CKL1" + }, + { + "id": "SDF1", + "name": "sdfclli1-SDF1" + }, + { + "id": "RAD1", + "name": "RADICAL1-RAD1" + }, + { + "id": "KIT1", + "name": "BHYJFGLN-KIT1" + }, + { + "id": "REL1", + "name": "INGERFGT-REL1" + }, + { + "id": "JNL1", + "name": "CJALSDAC-JNL1" + }, + { + "id": "OLK1", + "name": "OLKOLKLS-OLK1" + }, + { + "id": "CHI1", + "name": "CHILLIWE-CHI1" + }, + { + "id": "UUU4", + "name": "UUUAAAUU-UUU4" + }, + { + "id": "TUF1", + "name": "TUFCLLI1-TUF1" + }, + { + "id": "KJN1", + "name": "CKALDKSA-KJN1" + }, + { + "id": "SAM1", + "name": "SNDGCA64-SAN1" + }, + { + "id": "SCK1", + "name": "SCKSCKSK-SCK1" + }, + { + "id": "HJH1", + "name": "AOEEQQQD-HJH1" + }, + { + "id": "HGD1", + "name": "SDFQWHGD-HGD1" + }, + { + "id": "KOR1", + "name": "HYFLNBVT-KOR1" + }, + { + "id": "ATL43", + "name": "AICLOCID-ATL43" + }, + { + "id": "ATL54", + "name": "AICFTAAI-ATL54" + }, + { + "id": "ATL66", + "name": "CLLIAAII-ATL66" + }, + { + "id": "VEL1", + "name": "BNMLKUIK-VEL1" + }, + { + "id": "ICC1", + "name": "SANJITAT-ICC1" + }, + { + "id": "MNT11", + "name": "WSXEFBTH-MNT11" + }, + { + "id": "DEF2", + "name": "WSBHGTYL-DEF2" + }, + { + "id": "MAD11", + "name": "SDFQWGKL-MAD11" + }, + { + "id": "OLG1", + "name": "OLHOLHOL-OLG1" + }, + { + "id": "GAR1", + "name": "NGFVSJKO-GAR1" + }, + { + "id": "SAN22", + "name": "GNVLSCTL-SAN22" + }, + { + "id": "HRG1", + "name": "HRGHRGGS-HRG1" + }, + { + "id": "JCS1", + "name": "JCSJSCJS-JCS1" + }, + { + "id": "DHA12", + "name": "WSXEDECF-DHA12" + }, + { + "id": "HJE1", + "name": "AOEEWWWD-HJE1" + }, + { + "id": "NCA1", + "name": "NCANCANN-NCA1" + }, + { + "id": "IOP1", + "name": "iopclli1-IOP1" + }, + { + "id": "RTY1", + "name": "rtyclli1-RTY1" + }, + { + "id": "KAP1", + "name": "HIOUYTRQ-KAP1" + }, + { + "id": "ZEN1", + "name": "ZENCLLI1-ZEN1" + }, + { + "id": "HKA1", + "name": "JAKHLASS-HKA1" + }, + { + "id": "CQK1", + "name": "CQKSCAKK-CQK1" + }, + { + "id": "SAI1", + "name": "UBEKQLPD-SAI1" + }, + { + "id": "ERT1", + "name": "ertclli1-ERT1" + }, + { + "id": "IBB1", + "name": "PLMKOIJU-IBB1" + }, + { + "id": "TIR2", + "name": "PLKINHYI-TIR2" + }, + { + "id": "HSD1", + "name": "CHASKCDS-HSD1" + }, + { + "id": "SLF78", + "name": "SDCTLFN1-SLF78" + }, + { + "id": "SEE78", + "name": "SDCTEEE4-SEE78" + }, + { + "id": "SAN13", + "name": "TOKYJPFA-SAN13" + }, + { + "id": "SAA78", + "name": "SDCTAAA1-SAA78" + }, + { + "id": "LUC1", + "name": "ATLDFGYC-LUC1" + }, + { + "id": "AMD13", + "name": "MEMATLAN-AMD13" + }, + { + "id": "TOR1", + "name": "TOROONXN-TOR1" + }, + { + "id": "QWE1", + "name": "QWECLLI1-QWE1" + }, + { + "id": "ZOG1", + "name": "ZOGASTRO-ZOG1" + }, + { + "id": "CAL33", + "name": "CALIFORN-CAL33" + }, + { + "id": "SHH78", + "name": "SDIT1HHH-SHH78" + }, + { + "id": "DSA1", + "name": "LKJHGFDS-DSA1" + }, + { + "id": "CLG1", + "name": "CLGRABAD-CLG1" + }, + { + "id": "BNA1", + "name": "BNARAGBK-BNA1" + }, + { + "id": "ATL84", + "name": "CANTTCOC-ATL84" + }, + { + "id": "APP1", + "name": "WBHGTYUI-APP1" + }, + { + "id": "RJN1", + "name": "RJNRBZAW-RJN1" + }, + { + "id": "EHH78", + "name": "SDCSHHH5-EHH78" + }, + { + "id": "mac10", + "name": "PKGTESTF-mac10" + }, + { + "id": "SXB78", + "name": "SDCTGXB1-SXB78" + }, + { + "id": "SAX78", + "name": "SDCTAXG1-SAX78" + }, + { + "id": "SYD1", + "name": "SYDNAUBV-SYD1" + }, + { + "id": "TOK1", + "name": "TOKYJPFA-TOK1" + }, + { + "id": "KGM2", + "name": "KGMTNC20-KGM2" + }, + { + "id": "DCC1b", + "name": "POIUYTGH-DCC1b" + }, + { + "id": "SKK78", + "name": "SDCTKKK1-SKK78" + }, + { + "id": "SGG78", + "name": "SDCTGGG1-SGG78" + }, + { + "id": "SJJ78", + "name": "SDCTJJJ1-SJJ78" + }, + { + "id": "SBX78", + "name": "SDCTBXG1-SBX78" + }, + { + "id": "LAG1", + "name": "LARGIZON-LAG1" + }, + { + "id": "IAA1", + "name": "QAZXSWED-IAA1" + }, + { + "id": "POI1", + "name": "PLMNJKIU-POI1" + }, + { + "id": "LAG1a", + "name": "LARGIZON-LAG1a" + }, + { + "id": "PBL1", + "name": "PBLAPBAI-PBL1" + }, + { + "id": "LAG45", + "name": "LARGIZON-LAG1a" + }, + { + "id": "MAR1", + "name": "MNBVCXZM-MAR1" + }, + { + "id": "HST70", + "name": "HSTNTX70-HST70" + }, + { + "id": "DCC1a", + "name": "POIUYTGH-DCC1a" + }, + { + "id": "TOL1", + "name": "TOLDOH21-TOL1" + }, + { + "id": "LON1", + "name": "LONEENCO-LON1" + }, + { + "id": "SJU78", + "name": "SDIT1JUB-SJU78" + }, + { + "id": "STN27", + "name": "HSTNTX01-STN27" + }, + { + "id": "SSW56", + "name": "ss8126GT-SSW56" + }, + { + "id": "SBB78", + "name": "SDIT1BBB-SBB78" + }, + { + "id": "DCC3", + "name": "POIUYTGH-DCC3" + }, + { + "id": "GNV1", + "name": "GNVLSCTL-GNV1" + }, + { + "id": "WAS1", + "name": "WASHDCSW-WAS1" + }, + { + "id": "TOY1", + "name": "TORYONNZ-TOY1" + }, + { + "id": "STT1", + "name": "STTLWA02-STT1" + }, + { + "id": "STG1", + "name": "STTGGE62-STG1" + }, + { + "id": "SLL78", + "name": "SDCTLLL1-SLL78" + }, + { + "id": "SBU78", + "name": "SDIT1BUB-SBU78" + }, + { + "id": "ATL2", + "name": "ATLNGANW-ATL2" + }, + { + "id": "BOT1", + "name": "BOTHWAKY-BOT1" + }, + { + "id": "SNG1", + "name": "SNGPSIAU-SNG1" + }, + { + "id": "NYC1", + "name": "NYCMNY54-NYC1" + }, + { + "id": "LAG1b", + "name": "LARGIZON-LAG1b" + }, + { + "id": "AMD15", + "name": "AMDFAA01-AMD15" + }, + { + "id": "SNA1", + "name": "SNANTXCA-SNA1" + }, + { + "id": "PLT1", + "name": "PLTNCA60-PLT1" + }, + { + "id": "TLP1", + "name": "TLPNXM18-TLP1" + }, + { + "id": "SDD81", + "name": "SAIT1DD6-SDD81" + }, + { + "id": "DCC1", + "name": "POIUYTGH-DCC1" + }, + { + "id": "DCC2", + "name": "POIUYTGH-DCC2" + }, + { + "id": "OKC1", + "name": "OKCBOK55-OKC1" + }, + { + "id": "PAR1", + "name": "PARSFRCG-PAR1" + }, + { + "id": "TES36", + "name": "ABCEETES-TES36" + }, + { + "id": "COM1", + "name": "PLMKOPIU-COM1" + }, + { + "id": "ANI1", + "name": "ATLNGTRE-ANI1" + }, + { + "id": "SDG78", + "name": "SDIT1BDG-SDG78" + }, + { + "id": "mac20", + "name": "PKGTESTF-mac20" + }, + { + "id": "DSF45", + "name": "DSFBG123-DSF45" + }, + { + "id": "HST25", + "name": "HSTNTX01-HST25" + }, + { + "id": "AMD18", + "name": "AUDIMA01-AMD18" + }, + { + "id": "SAA80", + "name": "SAIT9AA3-SAA80" + }, + { + "id": "SSA56", + "name": "SSIT2AA7-SSA56" + }, + { + "id": "SDD82", + "name": "SAIT1DD9-SDD82" + }, + { + "id": "JCV1", + "name": "JCVLFLBW-JCV1" + }, + { + "id": "SUL2", + "name": "WERTYUJK-SUL2" + }, + { + "id": "PUR1", + "name": "purelyde-PUR1" + }, + { + "id": "FDE55", + "name": "FDERT555-FDE55" + }, + { + "id": "SITE", + "name": "LONEENCO-SITE" + }, + { + "id": "ATL1", + "name": "ATLNGAMA-ATL1" + }, + { + "id": "JUL1", + "name": "ZXCVBNMM-JUL1" + }, + { + "id": "TAT34", + "name": "TESAAISB-TAT34" + }, + { + "id": "XCP12", + "name": "CHKGH123-XCP12" + }, + { + "id": "RAI1", + "name": "poiuytre-RAI1" + }, + { + "id": "HPO1", + "name": "ATLNGAUP-HPO1" + }, + { + "id": "KJF12", + "name": "KJFDH123-KJF12" + }, + { + "id": "SCC80", + "name": "SAIT9CC3-SCC80" + }, + { + "id": "SAA12", + "name": "SAIT9AF8-SAA12" + }, + { + "id": "SAA14", + "name": "SAIT1AA9-SAA14" + }, + { + "id": "ATL35", + "name": "TTESSAAI-ATL35" + }, + { + "id": "CWY1", + "name": "CWYMOWBS-CWY1" + }, + { + "id": "ATL76", + "name": "TELEPAAI-ATL76" + }, + { + "id": "DSL12", + "name": "DSLFK242-DSL12" + }, + { + "id": "ATL53", + "name": "AAIATLTE-ATL53" + }, + { + "id": "SAA11", + "name": "SAIT9AA2-SAA11" + }, + { + "id": "ATL62", + "name": "TESSASCH-ATL62" + }, + { + "id": "AUG1", + "name": "ASDFGHJK-AUG1" + }, + { + "id": "POI22", + "name": "POIUY123-POI22" + }, + { + "id": "SAA13", + "name": "SAIT1AA9-SAA13" + }, + { + "id": "BHY17", + "name": "BHYTFRF3-BHY17" + }, + { + "id": "LIS1", + "name": "HOSTPROF-LIS1" + }, + { + "id": "SIP1", + "name": "ZXCVBNMK-SIP1" + }, + { + "id": "ATL99", + "name": "TEESTAAI-ATL43" + }, + { + "id": "ATL64", + "name": "FORLOAAJ-ATL64" + }, + { + "id": "TAT33", + "name": "TESAAISA-TAT33" + }, + { + "id": "RAD10", + "name": "INDIPUNE-RAD10" + }, + { + "id": "RTW5", + "name": "BHYTFRY4-RTW5" + }, + { + "id": "JGS1", + "name": "KSJKKKKK-JGS1" + }, + { + "id": "ATL98", + "name": "TEESTAAI-ATL43" + }, + { + "id": "WAN1", + "name": "LEIWANGW-WAN1" + }, + { + "id": "ATL44", + "name": "ATLSANAB-ATL44" + }, + { + "id": "RTD2", + "name": "BHYTFRk4-RTD2" + }, + { + "id": "NIR1", + "name": "ORFLMANA-NIR1" + }, + { + "id": "ATL75", + "name": "SANAAIRE-ATL75" + }, + { + "id": "NUM1", + "name": "QWERTYUI-NUM1" + }, + { + "id": "hvf32", + "name": "MDTWNJ21-hvf32" + }, + { + "id": "RTZ4", + "name": "BHYTFRZ6-RTZ4" + }, + { + "id": "ATL56", + "name": "ATLSANAC-ATL56" + }, + { + "id": "AMS1", + "name": "AMSTNLBW-AMS1" + }, + { + "id": "RCT1", + "name": "AMSTERNL-RCT1" + }, + { + "id": "JAN1", + "name": "ORFLMATT-JAN1" + }, + { + "id": "ABC14", + "name": "TESAAISA-ABC14" + }, + { + "id": "TAT37", + "name": "TESAAISD-TAT37" + }, + { + "id": "MIC54", + "name": "MICHIGAN-MIC54" + }, + { + "id": "ABC11", + "name": "ATLSANAI-ABC11" + }, + { + "id": "AMF11", + "name": "AMDOCS01-AMF11" + }, + { + "id": "ATL63", + "name": "ATLSANEW-ATL63" + }, + { + "id": "ABC12", + "name": "ATLSECIA-ABC12" + }, + { + "id": "hvf20", + "name": "MDTWNJ21-hvf20" + }, + { + "id": "ABC15", + "name": "AAITESAN-ABC15" + }, + { "id": "AVT1", "name": "AVTRFLHD-AVT1" }, @@ -948,7 +1821,7 @@ describe('VFModule Control Generator', () => { test(' getMacroFormControls gets vnfStoreKey === null', () => { const serviceId: string = "6e59c5de-f052-46fa-aa7e-2fca9d674c44"; const vnfStoreKey: string = null; - const vfModuleStoreKey: string = 'vf_vmee0..VfVmee..base_vmme..module-0'; + const vfModuleStoreKey: string = 'vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0'; const vfModuleUUID: string = "522159d5-d6e0-4c2a-aa44-5a542a12a830"; const controls: FormControlModel[] = service.getMacroFormControls(serviceId, vnfStoreKey, vfModuleStoreKey, vfModuleUUID, true); @@ -958,15 +1831,15 @@ describe('VFModule Control Generator', () => { test('getAlaCarteFormControls check for mandatory controls', () => { const serviceId: string = "6e59c5de-f052-46fa-aa7e-2fca9d674c44"; - const vnfStoreKey: string = 'VF_vMee 0'; - const vfModuleStoreKey: string = 'vf_vmee0..VfVmee..base_vmme..module-0'; + const vnfStoreKey: string = 'VF_vGeraldine 0'; + const vfModuleStoreKey: string = 'vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0'; const uuidData: Object = { modelId : "522159d5-d6e0-4c2a-aa44-5a542a12a830", - modelName : "vf_vmee0..VfVmee..base_vmme..module-0", + modelName : "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0", serviceId : "6e59c5de-f052-46fa-aa7e-2fca9d674c44", type : "VFmodule", - vFModuleStoreKey : "vf_vmee0..VfVmee..base_vmme..module-0vmvzo", - vnfStoreKey : "VF_vMee 0" + vFModuleStoreKey : "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0vmvzo", + vnfStoreKey : "VF_vGeraldine 0" }; const controls: FormControlModel[] = service.getAlaCarteFormControls(serviceId, vnfStoreKey, vfModuleStoreKey, uuidData, true); @@ -985,14 +1858,14 @@ describe('VFModule Control Generator', () => { test('getMacroFormControls check for mandatory controls', () => { const serviceId: string = "6e59c5de-f052-46fa-aa7e-2fca9d674c44"; - const vnfStoreKey: string = 'VF_vMee 0'; + const vnfStoreKey: string = 'VF_vGeraldine 0'; const uuidData: Object = { modelId : "a27f5cfc-7f12-4f99-af08-0af9c3885c87", - modelName : "vf_vmee0..VfVmee..base_vmme..module-0", + modelName : "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0", serviceId : "6e59c5de-f052-46fa-aa7e-2fca9d674c44", type : "VFmodule", - vFModuleStoreKey : "vf_vmee0..VfVmee..base_vmme..module-0vmvzo", - vnfStoreKey : "VF_vMee 0" + vFModuleStoreKey : "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0vmvzo", + vnfStoreKey : "VF_vGeraldine 0" }; const controls: FormControlModel[] = service.getMacroFormControls(serviceId, vnfStoreKey, vnfStoreKey, uuidData, true); @@ -1038,15 +1911,15 @@ describe('VFModule Control Generator', () => { function getAlaCarteFormControls():FormControlModel[] { const serviceId: string = "6e59c5de-f052-46fa-aa7e-2fca9d674c44"; - const vnfStoreKey: string = 'VF_vMee 0'; + const vnfStoreKey: string = 'VF_vGeraldine 0'; const vfModuleUUID: string = "522159d5-d6e0-4c2a-aa44-5a542a12a830"; const uuidData: Object = { modelId: "a27f5cfc-7f12-4f99-af08-0af9c3885c87", - modelName: "vf_vmee0..VfVmee..base_vmme..module-0", + modelName: "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0", serviceId: "6e59c5de-f052-46fa-aa7e-2fca9d674c44", type: "VFmodule", - vFModuleStoreKey: "vf_vmee0..VfVmee..base_vmme..module-0vmvzo", - vnfStoreKey: "VF_vMee 0" + vFModuleStoreKey: "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0vmvzo", + vnfStoreKey: "VF_vGeraldine 0" }; const controls: FormControlModel[] = service.getAlaCarteFormControls(serviceId, vnfStoreKey, vfModuleUUID, uuidData, true); return controls; @@ -1074,15 +1947,15 @@ describe('VFModule Control Generator', () => { test('getMacroFormControls should return the correct order of controls', () => { const serviceId: string = "6e59c5de-f052-46fa-aa7e-2fca9d674c44"; - const vnfStoreKey: string = 'VF_vMee 0'; + const vnfStoreKey: string = 'VF_vGeraldine 0'; const vfModuleUUID: string = "522159d5-d6e0-4c2a-aa44-5a542a12a830"; const uuidData: Object = { modelId : "a27f5cfc-7f12-4f99-af08-0af9c3885c87", - modelName : "vf_vmee0..VfVmee..base_vmme..module-0", + modelName : "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0", serviceId : "6e59c5de-f052-46fa-aa7e-2fca9d674c44", type : "VFmodule", - vFModuleStoreKey : "vf_vmee0..VfVmee..base_vmme..module-0vmvzo", - vnfStoreKey : "VF_vMee 0" + vFModuleStoreKey : "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0vmvzo", + vnfStoreKey : "VF_vGeraldine 0" }; const controls: FormControlModel[] = service.getMacroFormControls(serviceId, vnfStoreKey, vfModuleUUID, uuidData, true); diff --git a/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/vnfGenerator/vnf.control.generator.spec.ts b/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/vnfGenerator/vnf.control.generator.spec.ts index d80ccde64..a99856c52 100644 --- a/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/vnfGenerator/vnf.control.generator.spec.ts +++ b/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/vnfGenerator/vnf.control.generator.spec.ts @@ -26,15 +26,10 @@ class MockAppStore<T> { "FLAG_NETWORK_TO_ASYNC_INSTANTIATION": false, "FLAG_SHOW_ASSIGNMENTS": true, "FLAG_FABRIC_CONFIGURATION_ASSIGNMENTS": true, - "FLAG_UNASSIGN_SERVICE": true, "FLAG_SHOW_VERIFY_SERVICE": false, - "FLAG_COLLECTION_RESOURCE_SUPPORT": true, - "FLAG_DUPLICATE_VNF": true, "FLAG_SERVICE_MODEL_CACHE": true, "CREATE_INSTANCE_TEST": false, "FLAG_SETTING_DEFAULTS_IN_DRAWING_BOARD": false, - "FLAG_ASYNC_INSTANTIATION": true, - "FLAG_ASYNC_JOBS": true, "EMPTY_DRAWING_BOARD_TEST": false, "FLAG_ADD_MSO_TESTAPI_FIELD": true }, @@ -58,11 +53,11 @@ class MockAppStore<T> { "inputs": {} }, "vnfs": { - "VF_vMee 0": { + "VF_vGeraldine 0": { "uuid": "d6557200-ecf2-4641-8094-5393ae3aae60", "invariantUuid": "4160458e-f648-4b30-a176-43881ffffe9e", - "description": "VSP_vMee", - "name": "VF_vMee", + "description": "VSP_vGeraldine", + "name": "VF_vGeraldine", "version": "2.0", "customizationUuid": "91415b44-753d-494c-926a-456a9172bbb9", "inputs": {}, @@ -233,74 +228,74 @@ class MockAppStore<T> { "sctp-b-egress-dst_end_port": "65535.0" }, "type": "VF", - "modelCustomizationName": "VF_vMee 0", + "modelCustomizationName": "VF_vGeraldine 0", "vfModules": { - "vf_vmee0..VfVmee..vmme_vlc..module-1": { + "vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1": { "uuid": "522159d5-d6e0-4c2a-aa44-5a542a12a830", "invariantUuid": "98a7c88b-b577-476a-90e4-e25a5871e02b", "customizationUuid": "55b1be94-671a-403e-a26c-667e9c47d091", "description": null, - "name": "VfVmee..vmme_vlc..module-1", + "name": "VfVgeraldine..vflorence_vlc..module-1", "version": "2", - "modelCustomizationName": "VfVmee..vmme_vlc..module-1", + "modelCustomizationName": "VfVgeraldine..vflorence_vlc..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_vlc" + "vfModuleLabel": "vflorence_vlc" }, "inputs": {}, "volumeGroupAllowed": true }, - "vf_vmee0..VfVmee..vmme_gpb..module-2": { + "vf_vgeraldine0..VfVgeraldine..vflorence_gpb..module-2": { "uuid": "41708296-e443-4c71-953f-d9a010f059e1", "invariantUuid": "1cca90b8-3490-495e-87da-3f3e4c57d5b9", "customizationUuid": "6add59e0-7fe1-4bc4-af48-f8812422ae7c", "description": null, - "name": "VfVmee..vmme_gpb..module-2", + "name": "VfVgeraldine..vflorence_gpb..module-2", "version": "2", - "modelCustomizationName": "VfVmee..vmme_gpb..module-2", + "modelCustomizationName": "VfVgeraldine..vflorence_gpb..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_gpb" + "vfModuleLabel": "vflorence_gpb" }, "inputs": {}, "volumeGroupAllowed": false }, - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {}, "volumeGroupAllowed": true } }, "volumeGroups": { - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {} } @@ -328,7 +323,7 @@ class MockAppStore<T> { "modelCustomizationName": "ExtVL 0" } }, - "collectionResource": {}, + "collectionResources": {}, "configurations": { "Port Mirroring Configuration By Policy 0": { "uuid": "b4398538-e89d-4f13-b33d-ca323434ba50", @@ -349,72 +344,72 @@ class MockAppStore<T> { }, "serviceProxies": {}, "vfModules": { - "vf_vmee0..VfVmee..vmme_vlc..module-1": { + "vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1": { "uuid": "522159d5-d6e0-4c2a-aa44-5a542a12a830", "invariantUuid": "98a7c88b-b577-476a-90e4-e25a5871e02b", "customizationUuid": "55b1be94-671a-403e-a26c-667e9c47d091", "description": null, - "name": "VfVmee..vmme_vlc..module-1", + "name": "VfVgeraldine..vflorence_vlc..module-1", "version": "2", - "modelCustomizationName": "VfVmee..vmme_vlc..module-1", + "modelCustomizationName": "VfVgeraldine..vflorence_vlc..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_vlc" + "vfModuleLabel": "vflorence_vlc" }, "inputs": {}, "volumeGroupAllowed": true }, - "vf_vmee0..VfVmee..vmme_gpb..module-2": { + "vf_vgeraldine0..VfVgeraldine..vflorence_gpb..module-2": { "uuid": "41708296-e443-4c71-953f-d9a010f059e1", "invariantUuid": "1cca90b8-3490-495e-87da-3f3e4c57d5b9", "customizationUuid": "6add59e0-7fe1-4bc4-af48-f8812422ae7c", "description": null, - "name": "VfVmee..vmme_gpb..module-2", + "name": "VfVgeraldine..vflorence_gpb..module-2", "version": "2", - "modelCustomizationName": "VfVmee..vmme_gpb..module-2", + "modelCustomizationName": "VfVgeraldine..vflorence_gpb..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_gpb" + "vfModuleLabel": "vflorence_gpb" }, "inputs": {}, "volumeGroupAllowed": false }, - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {}, "volumeGroupAllowed": true } }, "volumeGroups": { - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {} } @@ -425,21 +420,21 @@ class MockAppStore<T> { "serviceInstance": { "6e59c5de-f052-46fa-aa7e-2fca9d674c44": { "vnfs": { - "VF_vMee 0": { + "VF_vGeraldine 0": { "rollbackOnFailure": "true", "vfModules": { - "vf_vmee0..VfVmee..base_vmme..module-0": { - "vf_vmee0..VfVmee..base_vmme..module-0vmvzo": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0vmvzo": { "isMissingData": false, "sdncPreReload": null, "modelInfo": { "modelType": "VFmodule", "modelInvariantId": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "modelVersionId": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", - "modelName": "VfVmee..base_vmme..module-0", + "modelName": "VfVgeraldine..base_vflorence..module-0", "modelVersion": "2", "modelCustomizationId": "f8c040f1-7e51-4a11-aca8-acf256cfd861", - "modelCustomizationName": "VfVmee..base_vmme..module-0" + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0" }, "instanceParams": [ {} @@ -449,8 +444,8 @@ class MockAppStore<T> { } }, "isMissingData": true, - "originalName": "VF_vMee 0", - "vnfStoreKey": "VF_vMee 0", + "originalName": "VF_vGeraldine 0", + "vnfStoreKey": "VF_vGeraldine 0", "trackById": "p3wk448m5do", "uuid": "d6557200-ecf2-4641-8094-5393ae3aae60", "productFamilyId": "36b4733a-53f4-4cc8-8ff0-9172e5fc4b8e", @@ -462,9 +457,9 @@ class MockAppStore<T> { "modelType": "VF", "modelInvariantId": "4160458e-f648-4b30-a176-43881ffffe9e", "modelVersionId": "6e59c5de-f052-46fa-aa7e-2fca9d674c44", - "modelName": "VF_vMee", + "modelName": "VF_vGeraldine", "modelVersion": "2.0", - "modelCustomizationName": "VF_vMee 0" + "modelCustomizationName": "VF_vGeraldine 0" } } }, @@ -508,8 +503,8 @@ class MockAppStore<T> { "lcpRegionsAndTenants": { "lcpRegionList": [ { - "id": "JANET25", - "name": "JANET25", + "id": "AAIAIC25", + "name": "AAIAIC25", "isPermitted": true }, { @@ -519,7 +514,7 @@ class MockAppStore<T> { } ], "lcpRegionsTenantsMap": { - "JANET25": [ + "AAIAIC25": [ { "id": "092eb9e8e4b7412e8787dd091bc58e86", "name": "USP-SIP-IC-24335-T-01", @@ -533,8 +528,128 @@ class MockAppStore<T> { "isPermitted": true }, { - "id": "d0a3e3f2964542259d155a81c41aadc3", - "name": "test-hvf6-09", + "id": "229bcdc6eaeb4ca59d55221141d01f8e", + "name": "AIN Web Tool-15-D-STTest2", + "isPermitted": true + }, + { + "id": "1178612d2b394be4834ad77f567c0af2", + "name": "AIN Web Tool-15-D-SSPtestcustome", + "isPermitted": true + }, + { + "id": "19c5ade915eb461e8af52fb2fd8cd1f2", + "name": "AIN Web Tool-15-D-UncheckedEcopm", + "isPermitted": true + }, + { + "id": "de007636e25249238447264a988a927b", + "name": "AIN Web Tool-15-D-dfsdf", + "isPermitted": true + }, + { + "id": "62f29b3613634ca6a3065cbe0e020c44", + "name": "AIN/SMS-16-D-Multiservices1", + "isPermitted": true + }, + { + "id": "649289e30d3244e0b48098114d63c2aa", + "name": "AIN Web Tool-15-D-SSPST66", + "isPermitted": true + }, + { + "id": "3f21eeea6c2c486bba31dab816c05a32", + "name": "AIN Web Tool-15-D-ASSPST47", + "isPermitted": true + }, + { + "id": "f60ce21d3ee6427586cff0d22b03b773", + "name": "CESAR-100-D-sspjg67246", + "isPermitted": true + }, + { + "id": "8774659e425f479895ae091bb5d46560", + "name": "CESAR-100-D-sspjg68359", + "isPermitted": true + }, + { + "id": "624eb554b0d147c19ff8885341760481", + "name": "AINWebTool-15-D-iftach", + "isPermitted": true + }, + { + "id": "214f55f5fc414c678059c383b03e4962", + "name": "CESAR-100-D-sspjg612401", + "isPermitted": true + }, + { + "id": "c90666c291664841bb98e4d981ff1db5", + "name": "CESAR-100-D-sspjg621340", + "isPermitted": true + }, + { + "id": "ce5b6bc5c7b348e1bf4b91ac9a174278", + "name": "sspjg621351cloned", + "isPermitted": true + }, + { + "id": "b386b768a3f24c8e953abbe0b3488c02", + "name": "AINWebTool-15-D-eteancomp", + "isPermitted": true + }, + { + "id": "dc6c4dbfd225474e9deaadd34968646c", + "name": "AINWebTool-15-T-SPFET", + "isPermitted": true + }, + { + "id": "02cb5030e9914aa4be120bd9ed1e19eb", + "name": "AINWebTool-15-X-eeweww", + "isPermitted": true + }, + { + "id": "f2f3830e4c984d45bcd00e1a04158a79", + "name": "CESAR-100-D-spjg61909", + "isPermitted": true + }, + { + "id": "05b91bd5137f4929878edd965755c06d", + "name": "CESAR-100-D-sspjg621512cloned", + "isPermitted": true + }, + { + "id": "7002fbe8482d4a989ddf445b1ce336e0", + "name": "AINWebTool-15-X-vdr", + "isPermitted": true + }, + { + "id": "4008522be43741dcb1f5422022a2aa0b", + "name": "AINWebTool-15-D-ssasa", + "isPermitted": true + }, + { + "id": "f44e2e96a1b6476abfda2fa407b00169", + "name": "AINWebTool-15-D-PFNPT", + "isPermitted": true + }, + { + "id": "b69a52bec8a84669a37a1e8b72708be7", + "name": "AINWebTool-15-X-vdre", + "isPermitted": true + }, + { + "id": "fac7d9fd56154caeb9332202dcf2969f", + "name": "AINWebTool-15-X-NONPODECOMP", + "isPermitted": true + }, + { + "id": "2d34d8396e194eb49969fd61ffbff961", + "name": "DN5242-Nov16-T5", + "isPermitted": true + }, + { + "id": "cb42a77ff45b48a8b8deb83bb64acc74", + "name": "ro-T11", "isPermitted": true }, { @@ -543,6 +658,16 @@ class MockAppStore<T> { "isPermitted": true }, { + "id": "4914ab0ab3a743e58f0eefdacc1dde77", + "name": "DN5242-Nov21-T1", + "isPermitted": true + }, + { + "id": "d0a3e3f2964542259d155a81c41aadc3", + "name": "test-hvf6-09", + "isPermitted": true + }, + { "id": "cbb99fe4ada84631b7baf046b6fd2044", "name": "DN5242-Nov16-T3", "isPermitted": true @@ -553,7 +678,7 @@ class MockAppStore<T> { "productFamilies": [ { "id": "ebc3bc3d-62fd-4a3f-a037-f619df4ff034", - "name": "SCOTTIE", + "name": "ERICA", "isPermitted": true }, { @@ -578,7 +703,7 @@ class MockAppStore<T> { }, { "id": "323d69d9-2efe-4r45-ay0a-89ea7ard4e6f", - "name": "vSCP", + "name": "vEsmeralda", "isPermitted": true }, { @@ -622,7 +747,7 @@ class MockAppStore<T> { "isPermitted": true }, { - "id": "Cisneros", + "id": "vMuriel", "name": "vMuriel", "isPermitted": true }, @@ -648,7 +773,7 @@ class MockAppStore<T> { }, { "id": "d7bb0a21-66f2-4e6d-87d9-9ef3ced63ae4", - "name": "Josefina", + "name": "JOSEFINA", "isPermitted": true }, { @@ -696,7 +821,7 @@ class MockAppStore<T> { }, { "id": "6", - "name": "vSEGW", + "name": "vPorfirio", "isPermitted": false }, { @@ -711,7 +836,7 @@ class MockAppStore<T> { }, { "id": "9", - "name": "vMME", + "name": "vFLORENCE", "isPermitted": false }, { @@ -721,7 +846,7 @@ class MockAppStore<T> { }, { "id": "11", - "name": "vSCP", + "name": "vEsmeralda", "isPermitted": false }, { @@ -731,7 +856,7 @@ class MockAppStore<T> { }, { "id": "13", - "name": "vMMSC", + "name": "vWINIFRED", "isPermitted": false }, { @@ -775,6 +900,754 @@ class MockAppStore<T> { "name": "UUUAIAAI-YYY1" }, { + "id": "BAN1", + "name": "VSDKYUTP-BAN1" + }, + { + "id": "DKJ1", + "name": "DKJSJDKA-DKJ1" + }, + { + "id": "MCS1", + "name": "ASACMAMS-MCS1" + }, + { + "id": "UIO1", + "name": "uioclli1-UIO1" + }, + { + "id": "RAJ1", + "name": "YGBIJNLQ-RAJ1" + }, + { + "id": "OPA1", + "name": "opaclli1-OPA1" + }, + { + "id": "SDE1", + "name": "ZXCVBNMA-SDE1" + }, + { + "id": "VEN2", + "name": "FGHJUHIL-VEN2" + }, + { + "id": "ORL1", + "name": "ORLDFLMA-ORL1" + }, + { + "id": "JAD1", + "name": "JADECLLI-JAD1" + }, + { + "id": "ZXL1", + "name": "LWLWCANN-ZXL1" + }, + { + "id": "CKL1", + "name": "CLKSKCKK-CKL1" + }, + { + "id": "SDF1", + "name": "sdfclli1-SDF1" + }, + { + "id": "RAD1", + "name": "RADICAL1-RAD1" + }, + { + "id": "KIT1", + "name": "BHYJFGLN-KIT1" + }, + { + "id": "REL1", + "name": "INGERFGT-REL1" + }, + { + "id": "JNL1", + "name": "CJALSDAC-JNL1" + }, + { + "id": "OLK1", + "name": "OLKOLKLS-OLK1" + }, + { + "id": "CHI1", + "name": "CHILLIWE-CHI1" + }, + { + "id": "UUU4", + "name": "UUUAAAUU-UUU4" + }, + { + "id": "TUF1", + "name": "TUFCLLI1-TUF1" + }, + { + "id": "KJN1", + "name": "CKALDKSA-KJN1" + }, + { + "id": "SAM1", + "name": "SNDGCA64-SAN1" + }, + { + "id": "SCK1", + "name": "SCKSCKSK-SCK1" + }, + { + "id": "HJH1", + "name": "AOEEQQQD-HJH1" + }, + { + "id": "HGD1", + "name": "SDFQWHGD-HGD1" + }, + { + "id": "KOR1", + "name": "HYFLNBVT-KOR1" + }, + { + "id": "ATL43", + "name": "AICLOCID-ATL43" + }, + { + "id": "ATL54", + "name": "AICFTAAI-ATL54" + }, + { + "id": "ATL66", + "name": "CLLIAAII-ATL66" + }, + { + "id": "VEL1", + "name": "BNMLKUIK-VEL1" + }, + { + "id": "ICC1", + "name": "SANJITAT-ICC1" + }, + { + "id": "MNT11", + "name": "WSXEFBTH-MNT11" + }, + { + "id": "DEF2", + "name": "WSBHGTYL-DEF2" + }, + { + "id": "MAD11", + "name": "SDFQWGKL-MAD11" + }, + { + "id": "OLG1", + "name": "OLHOLHOL-OLG1" + }, + { + "id": "GAR1", + "name": "NGFVSJKO-GAR1" + }, + { + "id": "SAN22", + "name": "GNVLSCTL-SAN22" + }, + { + "id": "HRG1", + "name": "HRGHRGGS-HRG1" + }, + { + "id": "JCS1", + "name": "JCSJSCJS-JCS1" + }, + { + "id": "DHA12", + "name": "WSXEDECF-DHA12" + }, + { + "id": "HJE1", + "name": "AOEEWWWD-HJE1" + }, + { + "id": "NCA1", + "name": "NCANCANN-NCA1" + }, + { + "id": "IOP1", + "name": "iopclli1-IOP1" + }, + { + "id": "RTY1", + "name": "rtyclli1-RTY1" + }, + { + "id": "KAP1", + "name": "HIOUYTRQ-KAP1" + }, + { + "id": "ZEN1", + "name": "ZENCLLI1-ZEN1" + }, + { + "id": "HKA1", + "name": "JAKHLASS-HKA1" + }, + { + "id": "CQK1", + "name": "CQKSCAKK-CQK1" + }, + { + "id": "SAI1", + "name": "UBEKQLPD-SAI1" + }, + { + "id": "ERT1", + "name": "ertclli1-ERT1" + }, + { + "id": "IBB1", + "name": "PLMKOIJU-IBB1" + }, + { + "id": "TIR2", + "name": "PLKINHYI-TIR2" + }, + { + "id": "HSD1", + "name": "CHASKCDS-HSD1" + }, + { + "id": "SLF78", + "name": "SDCTLFN1-SLF78" + }, + { + "id": "SEE78", + "name": "SDCTEEE4-SEE78" + }, + { + "id": "SAN13", + "name": "TOKYJPFA-SAN13" + }, + { + "id": "SAA78", + "name": "SDCTAAA1-SAA78" + }, + { + "id": "LUC1", + "name": "ATLDFGYC-LUC1" + }, + { + "id": "AMD13", + "name": "MEMATLAN-AMD13" + }, + { + "id": "TOR1", + "name": "TOROONXN-TOR1" + }, + { + "id": "QWE1", + "name": "QWECLLI1-QWE1" + }, + { + "id": "ZOG1", + "name": "ZOGASTRO-ZOG1" + }, + { + "id": "CAL33", + "name": "CALIFORN-CAL33" + }, + { + "id": "SHH78", + "name": "SDIT1HHH-SHH78" + }, + { + "id": "DSA1", + "name": "LKJHGFDS-DSA1" + }, + { + "id": "CLG1", + "name": "CLGRABAD-CLG1" + }, + { + "id": "BNA1", + "name": "BNARAGBK-BNA1" + }, + { + "id": "ATL84", + "name": "CANTTCOC-ATL84" + }, + { + "id": "APP1", + "name": "WBHGTYUI-APP1" + }, + { + "id": "RJN1", + "name": "RJNRBZAW-RJN1" + }, + { + "id": "EHH78", + "name": "SDCSHHH5-EHH78" + }, + { + "id": "mac10", + "name": "PKGTESTF-mac10" + }, + { + "id": "SXB78", + "name": "SDCTGXB1-SXB78" + }, + { + "id": "SAX78", + "name": "SDCTAXG1-SAX78" + }, + { + "id": "SYD1", + "name": "SYDNAUBV-SYD1" + }, + { + "id": "TOK1", + "name": "TOKYJPFA-TOK1" + }, + { + "id": "KGM2", + "name": "KGMTNC20-KGM2" + }, + { + "id": "DCC1b", + "name": "POIUYTGH-DCC1b" + }, + { + "id": "SKK78", + "name": "SDCTKKK1-SKK78" + }, + { + "id": "SGG78", + "name": "SDCTGGG1-SGG78" + }, + { + "id": "SJJ78", + "name": "SDCTJJJ1-SJJ78" + }, + { + "id": "SBX78", + "name": "SDCTBXG1-SBX78" + }, + { + "id": "LAG1", + "name": "LARGIZON-LAG1" + }, + { + "id": "IAA1", + "name": "QAZXSWED-IAA1" + }, + { + "id": "POI1", + "name": "PLMNJKIU-POI1" + }, + { + "id": "LAG1a", + "name": "LARGIZON-LAG1a" + }, + { + "id": "PBL1", + "name": "PBLAPBAI-PBL1" + }, + { + "id": "LAG45", + "name": "LARGIZON-LAG1a" + }, + { + "id": "MAR1", + "name": "MNBVCXZM-MAR1" + }, + { + "id": "HST70", + "name": "HSTNTX70-HST70" + }, + { + "id": "DCC1a", + "name": "POIUYTGH-DCC1a" + }, + { + "id": "TOL1", + "name": "TOLDOH21-TOL1" + }, + { + "id": "LON1", + "name": "LONEENCO-LON1" + }, + { + "id": "SJU78", + "name": "SDIT1JUB-SJU78" + }, + { + "id": "STN27", + "name": "HSTNTX01-STN27" + }, + { + "id": "SSW56", + "name": "ss8126GT-SSW56" + }, + { + "id": "SBB78", + "name": "SDIT1BBB-SBB78" + }, + { + "id": "DCC3", + "name": "POIUYTGH-DCC3" + }, + { + "id": "GNV1", + "name": "GNVLSCTL-GNV1" + }, + { + "id": "WAS1", + "name": "WASHDCSW-WAS1" + }, + { + "id": "TOY1", + "name": "TORYONNZ-TOY1" + }, + { + "id": "STT1", + "name": "STTLWA02-STT1" + }, + { + "id": "STG1", + "name": "STTGGE62-STG1" + }, + { + "id": "SLL78", + "name": "SDCTLLL1-SLL78" + }, + { + "id": "SBU78", + "name": "SDIT1BUB-SBU78" + }, + { + "id": "ATL2", + "name": "ATLNGANW-ATL2" + }, + { + "id": "BOT1", + "name": "BOTHWAKY-BOT1" + }, + { + "id": "SNG1", + "name": "SNGPSIAU-SNG1" + }, + { + "id": "NYC1", + "name": "NYCMNY54-NYC1" + }, + { + "id": "LAG1b", + "name": "LARGIZON-LAG1b" + }, + { + "id": "AMD15", + "name": "AMDFAA01-AMD15" + }, + { + "id": "SNA1", + "name": "SNANTXCA-SNA1" + }, + { + "id": "PLT1", + "name": "PLTNCA60-PLT1" + }, + { + "id": "TLP1", + "name": "TLPNXM18-TLP1" + }, + { + "id": "SDD81", + "name": "SAIT1DD6-SDD81" + }, + { + "id": "DCC1", + "name": "POIUYTGH-DCC1" + }, + { + "id": "DCC2", + "name": "POIUYTGH-DCC2" + }, + { + "id": "OKC1", + "name": "OKCBOK55-OKC1" + }, + { + "id": "PAR1", + "name": "PARSFRCG-PAR1" + }, + { + "id": "TES36", + "name": "ABCEETES-TES36" + }, + { + "id": "COM1", + "name": "PLMKOPIU-COM1" + }, + { + "id": "ANI1", + "name": "ATLNGTRE-ANI1" + }, + { + "id": "SDG78", + "name": "SDIT1BDG-SDG78" + }, + { + "id": "mac20", + "name": "PKGTESTF-mac20" + }, + { + "id": "DSF45", + "name": "DSFBG123-DSF45" + }, + { + "id": "HST25", + "name": "HSTNTX01-HST25" + }, + { + "id": "AMD18", + "name": "AUDIMA01-AMD18" + }, + { + "id": "SAA80", + "name": "SAIT9AA3-SAA80" + }, + { + "id": "SSA56", + "name": "SSIT2AA7-SSA56" + }, + { + "id": "SDD82", + "name": "SAIT1DD9-SDD82" + }, + { + "id": "JCV1", + "name": "JCVLFLBW-JCV1" + }, + { + "id": "SUL2", + "name": "WERTYUJK-SUL2" + }, + { + "id": "PUR1", + "name": "purelyde-PUR1" + }, + { + "id": "FDE55", + "name": "FDERT555-FDE55" + }, + { + "id": "SITE", + "name": "LONEENCO-SITE" + }, + { + "id": "ATL1", + "name": "ATLNGAMA-ATL1" + }, + { + "id": "JUL1", + "name": "ZXCVBNMM-JUL1" + }, + { + "id": "TAT34", + "name": "TESAAISB-TAT34" + }, + { + "id": "XCP12", + "name": "CHKGH123-XCP12" + }, + { + "id": "RAI1", + "name": "poiuytre-RAI1" + }, + { + "id": "HPO1", + "name": "ATLNGAUP-HPO1" + }, + { + "id": "KJF12", + "name": "KJFDH123-KJF12" + }, + { + "id": "SCC80", + "name": "SAIT9CC3-SCC80" + }, + { + "id": "SAA12", + "name": "SAIT9AF8-SAA12" + }, + { + "id": "SAA14", + "name": "SAIT1AA9-SAA14" + }, + { + "id": "ATL35", + "name": "TTESSAAI-ATL35" + }, + { + "id": "CWY1", + "name": "CWYMOWBS-CWY1" + }, + { + "id": "ATL76", + "name": "TELEPAAI-ATL76" + }, + { + "id": "DSL12", + "name": "DSLFK242-DSL12" + }, + { + "id": "ATL53", + "name": "AAIATLTE-ATL53" + }, + { + "id": "SAA11", + "name": "SAIT9AA2-SAA11" + }, + { + "id": "ATL62", + "name": "TESSASCH-ATL62" + }, + { + "id": "AUG1", + "name": "ASDFGHJK-AUG1" + }, + { + "id": "POI22", + "name": "POIUY123-POI22" + }, + { + "id": "SAA13", + "name": "SAIT1AA9-SAA13" + }, + { + "id": "BHY17", + "name": "BHYTFRF3-BHY17" + }, + { + "id": "LIS1", + "name": "HOSTPROF-LIS1" + }, + { + "id": "SIP1", + "name": "ZXCVBNMK-SIP1" + }, + { + "id": "ATL99", + "name": "TEESTAAI-ATL43" + }, + { + "id": "ATL64", + "name": "FORLOAAJ-ATL64" + }, + { + "id": "TAT33", + "name": "TESAAISA-TAT33" + }, + { + "id": "RAD10", + "name": "INDIPUNE-RAD10" + }, + { + "id": "RTW5", + "name": "BHYTFRY4-RTW5" + }, + { + "id": "JGS1", + "name": "KSJKKKKK-JGS1" + }, + { + "id": "ATL98", + "name": "TEESTAAI-ATL43" + }, + { + "id": "WAN1", + "name": "LEIWANGW-WAN1" + }, + { + "id": "ATL44", + "name": "ATLSANAB-ATL44" + }, + { + "id": "RTD2", + "name": "BHYTFRk4-RTD2" + }, + { + "id": "NIR1", + "name": "ORFLMANA-NIR1" + }, + { + "id": "ATL75", + "name": "SANAAIRE-ATL75" + }, + { + "id": "NUM1", + "name": "QWERTYUI-NUM1" + }, + { + "id": "hvf32", + "name": "MDTWNJ21-hvf32" + }, + { + "id": "RTZ4", + "name": "BHYTFRZ6-RTZ4" + }, + { + "id": "ATL56", + "name": "ATLSANAC-ATL56" + }, + { + "id": "AMS1", + "name": "AMSTNLBW-AMS1" + }, + { + "id": "RCT1", + "name": "AMSTERNL-RCT1" + }, + { + "id": "JAN1", + "name": "ORFLMATT-JAN1" + }, + { + "id": "ABC14", + "name": "TESAAISA-ABC14" + }, + { + "id": "TAT37", + "name": "TESAAISD-TAT37" + }, + { + "id": "MIC54", + "name": "MICHIGAN-MIC54" + }, + { + "id": "ABC11", + "name": "ATLSANAI-ABC11" + }, + { + "id": "AMF11", + "name": "AMDOCS01-AMF11" + }, + { + "id": "ATL63", + "name": "ATLSANEW-ATL63" + }, + { + "id": "ABC12", + "name": "ATLSECIA-ABC12" + }, + { + "id": "hvf20", + "name": "MDTWNJ21-hvf20" + }, + { + "id": "ABC15", + "name": "AAITESAN-ABC15" + }, + { "id": "AVT1", "name": "AVTRFLHD-AVT1" }, @@ -948,8 +1821,8 @@ describe('VNF Control Generator', () => { test('getMacroFormControls check for mandatory controls', () => { const serviceId : string = "6e59c5de-f052-46fa-aa7e-2fca9d674c44"; - const vnfName : string = "VF_vMee 0"; - const vnfStoreKey : string = "VF_vMee 0"; + const vnfName : string = "VF_vGeraldine 0"; + const vnfStoreKey : string = "VF_vGeraldine 0"; const controls :FormControlModel[] = service.getMacroFormControls(serviceId, vnfStoreKey, vnfName, []); const mandatoryControls : string[] = [ @@ -984,14 +1857,14 @@ describe('VNF Control Generator', () => { function getALaCarteFormControls(vnfStoreKey: string): FormControlModel[] { const serviceId: string = "6e59c5de-f052-46fa-aa7e-2fca9d674c44"; - const vnfName: string = "VF_vMee 0"; + const vnfName: string = "VF_vGeraldine 0"; const controls: FormControlModel[] = service.getAlaCarteFormControls(serviceId, vnfStoreKey, vnfName, []); return controls; } test('getMacroFormControls should return the correct order of controls', () => { const serviceId : string = "6e59c5de-f052-46fa-aa7e-2fca9d674c44"; - const vnfName : string = "VF_vMee 0"; + const vnfName : string = "VF_vGeraldine 0"; const vnfStoreKey : string = null; const controls :FormControlModel[] = service.getMacroFormControls(serviceId, vnfStoreKey, vnfName, []); @@ -1030,12 +1903,13 @@ describe('VNF Control Generator', () => { test('getAlacartFormControls check for mandatory controls', () => { - const controls = getALaCarteFormControls("VF_vMee 0"); + const controls = getALaCarteFormControls("VF_vGeraldine 0"); const mandatoryControls : string[] = [ FormControlNames.INSTANCE_NAME, FormControlNames.LCPCLOUD_REGION_ID, 'tenantId', 'platformName', + 'lineOfBusiness', 'rollbackOnFailure' ]; for(let i = 0 ; i < mandatoryControls.length ; i++){ @@ -1045,7 +1919,7 @@ describe('VNF Control Generator', () => { }); test('getAlacartFormControls instance name control validator shall have the expected regex', () => { - const controls:FormControlModel[] = getALaCarteFormControls("VF_vMee 0"); + const controls:FormControlModel[] = getALaCarteFormControls("VF_vGeraldine 0"); const instanceNameControl: FormControlModel = <FormControlModel>controls.find(item => item.controlName === FormControlNames.INSTANCE_NAME); const instanceNameValidator: ValidatorModel = instanceNameControl.validations.find(val => val.validatorName === ValidatorOptions.pattern); diff --git a/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/vnfGenerator/vnf.control.generator.ts b/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/vnfGenerator/vnf.control.generator.ts index 3484038b1..7760ba8ad 100644 --- a/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/vnfGenerator/vnf.control.generator.ts +++ b/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/vnfGenerator/vnf.control.generator.ts @@ -133,7 +133,7 @@ export class VnfControlGenerator { isDisabled: false, name: "lineOfBusiness", value: instance ? instance.lineOfBusiness : null, - validations: [], + validations: [new ValidatorModel(ValidatorOptions.required, 'is required')], onInitSelectedField: ['lineOfBusinessList'], onInit: this._basicControlGenerator.getSubscribeInitResult.bind(null, this._aaiService.getCategoryParameters) }) diff --git a/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/vnfGroupGenerator/vnfGroup.control.generator.spec.ts b/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/vnfGroupGenerator/vnfGroup.control.generator.spec.ts index 6dcaa8235..71d661191 100644 --- a/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/vnfGroupGenerator/vnfGroup.control.generator.spec.ts +++ b/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/vnfGroupGenerator/vnfGroup.control.generator.spec.ts @@ -28,15 +28,10 @@ class MockAppStore<T> { "CREATE_INSTANCE_TEST": false, "EMPTY_DRAWING_BOARD_TEST": false, "FLAG_NETWORK_TO_ASYNC_INSTANTIATION": false, - "FLAG_ASYNC_INSTANTIATION": true, - "FLAG_ASYNC_JOBS": true, "FLAG_ADD_MSO_TESTAPI_FIELD": true, - "FLAG_UNASSIGN_SERVICE": false, "FLAG_SERVICE_MODEL_CACHE": false, - "FLAG_COLLECTION_RESOURCE_SUPPORT": true, "FLAG_SHOW_ASSIGNMENTS": true, "FLAG_FABRIC_CONFIGURATION_ASSIGNMENTS": true, - "FLAG_DUPLICATE_VNF": true, "FLAG_DEFAULT_VNF": true, "FLAG_SETTING_DEFAULTS_IN_DRAWING_BOARD": true, "FLAG_A_LA_CARTE_AUDIT_INFO": true, @@ -70,15 +65,15 @@ class MockAppStore<T> { }, "vnfs": {}, "networks": {}, - "collectionResource": {}, + "collectionResources": {}, "configurations": {}, "fabricConfigurations": {}, "serviceProxies": { - "vdbe_svc_vprs_proxy 0": { + "vdorothea_svc_vprs_proxy 0": { "uuid": "65fadfa8-a0d9-443f-95ad-836cd044e26c", "invariantUuid": "f4baae0c-b3a5-4ca1-a777-afbffe7010bc", - "description": "A Proxy for Service vDBE_Svc_vPRS", - "name": "vDBE_Svc_vPRS Service Proxy", + "description": "A Proxy for Service vDOROTHEA_Svc_vPRS", + "name": "vDOROTHEA_Svc_vPRS Service Proxy", "version": "1.0", "customizationUuid": "bdb63d23-e132-4ce7-af2c-a493b4cafac9", "inputs": {}, @@ -87,7 +82,7 @@ class MockAppStore<T> { "type": "Service Proxy", "sourceModelUuid": "da7827a2-366d-4be6-8c68-a69153c61274", "sourceModelInvariant": "24632e6b-584b-4f45-80d4-fefd75fd9f14", - "sourceModelName": "vDBE_Svc_vPRS" + "sourceModelName": "vDOROTHEA_Svc_vPRS" }, "tsbc0001vm001_svc_proxy 0": { "uuid": "65fadfa8-a0d9-443f-95ad-836cd044e26c", @@ -125,11 +120,11 @@ class MockAppStore<T> { "type": "LOAD-GROUP" }, "members": { - "vdbe_svc_vprs_proxy 0": { + "vdorothea_svc_vprs_proxy 0": { "uuid": "65fadfa8-a0d9-443f-95ad-836cd044e26c", "invariantUuid": "f4baae0c-b3a5-4ca1-a777-afbffe7010bc", - "description": "A Proxy for Service vDBE_Svc_vPRS", - "name": "vDBE_Svc_vPRS Service Proxy", + "description": "A Proxy for Service vDOROTHEA_Svc_vPRS", + "name": "vDOROTHEA_Svc_vPRS Service Proxy", "version": "1.0", "customizationUuid": "bdb63d23-e132-4ce7-af2c-a493b4cafac9", "inputs": {}, @@ -138,7 +133,7 @@ class MockAppStore<T> { "type": "Service Proxy", "sourceModelUuid": "da7827a2-366d-4be6-8c68-a69153c61274", "sourceModelInvariant": "24632e6b-584b-4f45-80d4-fefd75fd9f14", - "sourceModelName": "vDBE_Svc_vPRS" + "sourceModelName": "vDOROTHEA_Svc_vPRS" } } }, diff --git a/vid-webpack-master/src/app/shared/components/genericFormPopup/generic-form-popup.component.ts b/vid-webpack-master/src/app/shared/components/genericFormPopup/generic-form-popup.component.ts index 2b6417e33..8a95d108f 100644 --- a/vid-webpack-master/src/app/shared/components/genericFormPopup/generic-form-popup.component.ts +++ b/vid-webpack-master/src/app/shared/components/genericFormPopup/generic-form-popup.component.ts @@ -1,4 +1,4 @@ -import {Component, OnChanges, OnDestroy, OnInit} from '@angular/core'; +import {Component, OnDestroy, OnInit} from '@angular/core'; import {FormPopupDetails} from "../../models/formControlModels/formPopupDetails.model"; import {DialogComponent, DialogService} from "ng2-bootstrap-modal"; import {FormGroup} from "@angular/forms"; @@ -82,7 +82,7 @@ export class GenericFormPopupComponent extends DialogComponent<PopupModel, boole this._genericFormPopupService.initReduxOnCreateNewService().then((serviceModelId : string)=>{ this.uuidData = <any>{ bulkSize : 1, - isMacro : this._store.getState().service.serviceHierarchy[serviceModelId].service.instantiationType === 'Macro', + isMacro : this._store.getState().service.serviceHierarchy[serviceModelId].service.vidNotions.instantiationType === 'Macro', type : PopupType.SERVICE, serviceId: serviceModelId, popupService: this._servicePopupService, @@ -113,7 +113,7 @@ export class GenericFormPopupComponent extends DialogComponent<PopupModel, boole this.closeDialog(that); }); - this.uuidData['isMacro'] = this._store.getState().service.serviceHierarchy[this.uuidData['serviceId']].service.instantiationType === 'Macro'; + this.uuidData['isMacro'] = this._store.getState().service.serviceHierarchy[this.uuidData['serviceId']].service.vidNotions.instantiationType === 'Macro'; this.formPopupDetails = this._genericFormPopupService.getGenericFormDetails(this.uuidData, this.node, this.isUpdateMode); } } @@ -133,7 +133,7 @@ export class GenericFormPopupComponent extends DialogComponent<PopupModel, boole } } - return formPopupDetails.formControlList.filter((item : FormControlModel) =>item.type === 'DROPDOWN' && item['hasEmptyOptions']).length > 0 + return formPopupDetails.formControlList.filter((item : FormControlModel) => item.type === 'DROPDOWN' && item['hasEmptyOptions'] && item.isRequired()).length > 0 } } diff --git a/vid-webpack-master/src/app/shared/components/genericFormPopup/generic-form-popup.service.spec.ts b/vid-webpack-master/src/app/shared/components/genericFormPopup/generic-form-popup.service.spec.ts index 8453a8d5a..e854f8e18 100644 --- a/vid-webpack-master/src/app/shared/components/genericFormPopup/generic-form-popup.service.spec.ts +++ b/vid-webpack-master/src/app/shared/components/genericFormPopup/generic-form-popup.service.spec.ts @@ -30,15 +30,10 @@ class MockAppStore<T>{ "FLAG_NETWORK_TO_ASYNC_INSTANTIATION": false, "FLAG_SHOW_ASSIGNMENTS": true, "FLAG_FABRIC_CONFIGURATION_ASSIGNMENTS": true, - "FLAG_UNASSIGN_SERVICE": true, "FLAG_SHOW_VERIFY_SERVICE": false, - "FLAG_COLLECTION_RESOURCE_SUPPORT": true, - "FLAG_DUPLICATE_VNF": true, "FLAG_SERVICE_MODEL_CACHE": true, "CREATE_INSTANCE_TEST": false, "FLAG_SETTING_DEFAULTS_IN_DRAWING_BOARD": false, - "FLAG_ASYNC_INSTANTIATION": true, - "FLAG_ASYNC_JOBS": true, "EMPTY_DRAWING_BOARD_TEST": false, "FLAG_ADD_MSO_TESTAPI_FIELD": true }, @@ -59,14 +54,17 @@ class MockAppStore<T>{ "description": "ComplexService", "serviceEcompNaming": "false", "instantiationType": "Macro", + "vidNotions": { + "instantiationType": "Macro" + }, "inputs": {} }, "vnfs": { - "VF_vMee 0": { + "VF_vGeraldine 0": { "uuid": "d6557200-ecf2-4641-8094-5393ae3aae60", "invariantUuid": "4160458e-f648-4b30-a176-43881ffffe9e", - "description": "VSP_vMee", - "name": "VF_vMee", + "description": "VSP_vGeraldine", + "name": "VF_vGeraldine", "version": "2.0", "customizationUuid": "91415b44-753d-494c-926a-456a9172bbb9", "inputs": {}, @@ -238,74 +236,74 @@ class MockAppStore<T>{ "sctp-b-egress-dst_end_port": "65535.0" }, "type": "VF", - "modelCustomizationName": "VF_vMee 0", + "modelCustomizationName": "VF_vGeraldine 0", "vfModules": { - "vf_vmee0..VfVmee..vmme_vlc..module-1": { + "vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1": { "uuid": "522159d5-d6e0-4c2a-aa44-5a542a12a830", "invariantUuid": "98a7c88b-b577-476a-90e4-e25a5871e02b", "customizationUuid": "55b1be94-671a-403e-a26c-667e9c47d091", "description": null, - "name": "VfVmee..vmme_vlc..module-1", + "name": "VfVgeraldine..vflorence_vlc..module-1", "version": "2", - "modelCustomizationName": "VfVmee..vmme_vlc..module-1", + "modelCustomizationName": "VfVgeraldine..vflorence_vlc..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_vlc" + "vfModuleLabel": "vflorence_vlc" }, "inputs": {}, "volumeGroupAllowed": true }, - "vf_vmee0..VfVmee..vmme_gpb..module-2": { + "vf_vgeraldine0..VfVgeraldine..vflorence_gpb..module-2": { "uuid": "41708296-e443-4c71-953f-d9a010f059e1", "invariantUuid": "1cca90b8-3490-495e-87da-3f3e4c57d5b9", "customizationUuid": "6add59e0-7fe1-4bc4-af48-f8812422ae7c", "description": null, - "name": "VfVmee..vmme_gpb..module-2", + "name": "VfVgeraldine..vflorence_gpb..module-2", "version": "2", - "modelCustomizationName": "VfVmee..vmme_gpb..module-2", + "modelCustomizationName": "VfVgeraldine..vflorence_gpb..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_gpb" + "vfModuleLabel": "vflorence_gpb" }, "inputs": {}, "volumeGroupAllowed": false }, - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {}, "volumeGroupAllowed": true } }, "volumeGroups": { - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {} } @@ -334,7 +332,7 @@ class MockAppStore<T>{ "modelCustomizationName": "ExtVL 0" } }, - "collectionResource": {}, + "collectionResources": {}, "configurations": { "Port Mirroring Configuration By Policy 0": { "uuid": "b4398538-e89d-4f13-b33d-ca323434ba50", @@ -355,72 +353,72 @@ class MockAppStore<T>{ }, "serviceProxies": {}, "vfModules": { - "vf_vmee0..VfVmee..vmme_vlc..module-1": { + "vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1": { "uuid": "522159d5-d6e0-4c2a-aa44-5a542a12a830", "invariantUuid": "98a7c88b-b577-476a-90e4-e25a5871e02b", "customizationUuid": "55b1be94-671a-403e-a26c-667e9c47d091", "description": null, - "name": "VfVmee..vmme_vlc..module-1", + "name": "VfVgeraldine..vflorence_vlc..module-1", "version": "2", - "modelCustomizationName": "VfVmee..vmme_vlc..module-1", + "modelCustomizationName": "VfVgeraldine..vflorence_vlc..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_vlc" + "vfModuleLabel": "vflorence_vlc" }, "inputs": {}, "volumeGroupAllowed": true }, - "vf_vmee0..VfVmee..vmme_gpb..module-2": { + "vf_vgeraldine0..VfVgeraldine..vflorence_gpb..module-2": { "uuid": "41708296-e443-4c71-953f-d9a010f059e1", "invariantUuid": "1cca90b8-3490-495e-87da-3f3e4c57d5b9", "customizationUuid": "6add59e0-7fe1-4bc4-af48-f8812422ae7c", "description": null, - "name": "VfVmee..vmme_gpb..module-2", + "name": "VfVgeraldine..vflorence_gpb..module-2", "version": "2", - "modelCustomizationName": "VfVmee..vmme_gpb..module-2", + "modelCustomizationName": "VfVgeraldine..vflorence_gpb..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_gpb" + "vfModuleLabel": "vflorence_gpb" }, "inputs": {}, "volumeGroupAllowed": false }, - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {}, "volumeGroupAllowed": true } }, "volumeGroups": { - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {} } @@ -432,21 +430,21 @@ class MockAppStore<T>{ "6e59c5de-f052-46fa-aa7e-2fca9d674c44": { "networks": {}, "vnfs": { - "VF_vMee 0": { + "VF_vGeraldine 0": { "rollbackOnFailure": "true", "vfModules": { - "vf_vmee0..VfVmee..base_vmme..module-0": { - "vf_vmee0..VfVmee..base_vmme..module-0vmvzo": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0vmvzo": { "isMissingData": false, "sdncPreReload": null, "modelInfo": { "modelType": "VFmodule", "modelInvariantId": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "modelVersionId": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", - "modelName": "VfVmee..base_vmme..module-0", + "modelName": "VfVgeraldine..base_vflorence..module-0", "modelVersion": "2", "modelCustomizationId": "f8c040f1-7e51-4a11-aca8-acf256cfd861", - "modelCustomizationName": "VfVmee..base_vmme..module-0" + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0" }, "instanceParams": [ {} @@ -456,8 +454,8 @@ class MockAppStore<T>{ } }, "isMissingData": true, - "originalName": "VF_vMee 0", - "vnfStoreKey": "VF_vMee 0", + "originalName": "VF_vGeraldine 0", + "vnfStoreKey": "VF_vGeraldine 0", "trackById": "p3wk448m5do", "uuid": "d6557200-ecf2-4641-8094-5393ae3aae60", "productFamilyId": "36b4733a-53f4-4cc8-8ff0-9172e5fc4b8e", @@ -469,9 +467,9 @@ class MockAppStore<T>{ "modelType": "VF", "modelInvariantId": "4160458e-f648-4b30-a176-43881ffffe9e", "modelVersionId": "6e59c5de-f052-46fa-aa7e-2fca9d674c44", - "modelName": "VF_vMee", + "modelName": "VF_vGeraldine", "modelVersion": "2.0", - "modelCustomizationName": "VF_vMee 0" + "modelCustomizationName": "VF_vGeraldine 0" } } }, @@ -516,8 +514,8 @@ class MockAppStore<T>{ "lcpRegionsAndTenants": { "lcpRegionList": [ { - "id": "JANET25", - "name": "JANET25", + "id": "AAIAIC25", + "name": "AAIAIC25", "isPermitted": true }, { @@ -527,7 +525,7 @@ class MockAppStore<T>{ } ], "lcpRegionsTenantsMap": { - "JANET25": [ + "AAIAIC25": [ { "id": "092eb9e8e4b7412e8787dd091bc58e86", "name": "USP-SIP-IC-24335-T-01", @@ -541,8 +539,128 @@ class MockAppStore<T>{ "isPermitted": true }, { - "id": "d0a3e3f2964542259d155a81c41aadc3", - "name": "test-hvf6-09", + "id": "229bcdc6eaeb4ca59d55221141d01f8e", + "name": "AIN Web Tool-15-D-STTest2", + "isPermitted": true + }, + { + "id": "1178612d2b394be4834ad77f567c0af2", + "name": "AIN Web Tool-15-D-SSPtestcustome", + "isPermitted": true + }, + { + "id": "19c5ade915eb461e8af52fb2fd8cd1f2", + "name": "AIN Web Tool-15-D-UncheckedEcopm", + "isPermitted": true + }, + { + "id": "de007636e25249238447264a988a927b", + "name": "AIN Web Tool-15-D-dfsdf", + "isPermitted": true + }, + { + "id": "62f29b3613634ca6a3065cbe0e020c44", + "name": "AIN/SMS-16-D-Multiservices1", + "isPermitted": true + }, + { + "id": "649289e30d3244e0b48098114d63c2aa", + "name": "AIN Web Tool-15-D-SSPST66", + "isPermitted": true + }, + { + "id": "3f21eeea6c2c486bba31dab816c05a32", + "name": "AIN Web Tool-15-D-ASSPST47", + "isPermitted": true + }, + { + "id": "f60ce21d3ee6427586cff0d22b03b773", + "name": "CESAR-100-D-sspjg67246", + "isPermitted": true + }, + { + "id": "8774659e425f479895ae091bb5d46560", + "name": "CESAR-100-D-sspjg68359", + "isPermitted": true + }, + { + "id": "624eb554b0d147c19ff8885341760481", + "name": "AINWebTool-15-D-iftach", + "isPermitted": true + }, + { + "id": "214f55f5fc414c678059c383b03e4962", + "name": "CESAR-100-D-sspjg612401", + "isPermitted": true + }, + { + "id": "c90666c291664841bb98e4d981ff1db5", + "name": "CESAR-100-D-sspjg621340", + "isPermitted": true + }, + { + "id": "ce5b6bc5c7b348e1bf4b91ac9a174278", + "name": "sspjg621351cloned", + "isPermitted": true + }, + { + "id": "b386b768a3f24c8e953abbe0b3488c02", + "name": "AINWebTool-15-D-eteancomp", + "isPermitted": true + }, + { + "id": "dc6c4dbfd225474e9deaadd34968646c", + "name": "AINWebTool-15-T-SPFET", + "isPermitted": true + }, + { + "id": "02cb5030e9914aa4be120bd9ed1e19eb", + "name": "AINWebTool-15-X-eeweww", + "isPermitted": true + }, + { + "id": "f2f3830e4c984d45bcd00e1a04158a79", + "name": "CESAR-100-D-spjg61909", + "isPermitted": true + }, + { + "id": "05b91bd5137f4929878edd965755c06d", + "name": "CESAR-100-D-sspjg621512cloned", + "isPermitted": true + }, + { + "id": "7002fbe8482d4a989ddf445b1ce336e0", + "name": "AINWebTool-15-X-vdr", + "isPermitted": true + }, + { + "id": "4008522be43741dcb1f5422022a2aa0b", + "name": "AINWebTool-15-D-ssasa", + "isPermitted": true + }, + { + "id": "f44e2e96a1b6476abfda2fa407b00169", + "name": "AINWebTool-15-D-PFNPT", + "isPermitted": true + }, + { + "id": "b69a52bec8a84669a37a1e8b72708be7", + "name": "AINWebTool-15-X-vdre", + "isPermitted": true + }, + { + "id": "fac7d9fd56154caeb9332202dcf2969f", + "name": "AINWebTool-15-X-NONPODECOMP", + "isPermitted": true + }, + { + "id": "2d34d8396e194eb49969fd61ffbff961", + "name": "DN5242-Nov16-T5", + "isPermitted": true + }, + { + "id": "cb42a77ff45b48a8b8deb83bb64acc74", + "name": "ro-T11", "isPermitted": true }, { @@ -551,6 +669,16 @@ class MockAppStore<T>{ "isPermitted": true }, { + "id": "4914ab0ab3a743e58f0eefdacc1dde77", + "name": "DN5242-Nov21-T1", + "isPermitted": true + }, + { + "id": "d0a3e3f2964542259d155a81c41aadc3", + "name": "test-hvf6-09", + "isPermitted": true + }, + { "id": "cbb99fe4ada84631b7baf046b6fd2044", "name": "DN5242-Nov16-T3", "isPermitted": true @@ -561,7 +689,7 @@ class MockAppStore<T>{ "productFamilies": [ { "id": "ebc3bc3d-62fd-4a3f-a037-f619df4ff034", - "name": "SCOTTIE", + "name": "ERICA", "isPermitted": true }, { @@ -586,7 +714,7 @@ class MockAppStore<T>{ }, { "id": "323d69d9-2efe-4r45-ay0a-89ea7ard4e6f", - "name": "vSCP", + "name": "vEsmeralda", "isPermitted": true }, { @@ -630,7 +758,7 @@ class MockAppStore<T>{ "isPermitted": true }, { - "id": "Cisneros", + "id": "vMuriel", "name": "vMuriel", "isPermitted": true }, @@ -656,7 +784,7 @@ class MockAppStore<T>{ }, { "id": "d7bb0a21-66f2-4e6d-87d9-9ef3ced63ae4", - "name": "Josefina", + "name": "JOSEFINA", "isPermitted": true }, { @@ -704,7 +832,7 @@ class MockAppStore<T>{ }, { "id": "6", - "name": "vSEGW", + "name": "vPorfirio", "isPermitted": false }, { @@ -719,7 +847,7 @@ class MockAppStore<T>{ }, { "id": "9", - "name": "vMME", + "name": "vFLORENCE", "isPermitted": false }, { @@ -729,7 +857,7 @@ class MockAppStore<T>{ }, { "id": "11", - "name": "vSCP", + "name": "vEsmeralda", "isPermitted": false }, { @@ -739,7 +867,7 @@ class MockAppStore<T>{ }, { "id": "13", - "name": "vMMSC", + "name": "vWINIFRED", "isPermitted": false }, { @@ -783,6 +911,754 @@ class MockAppStore<T>{ "name": "UUUAIAAI-YYY1" }, { + "id": "BAN1", + "name": "VSDKYUTP-BAN1" + }, + { + "id": "DKJ1", + "name": "DKJSJDKA-DKJ1" + }, + { + "id": "MCS1", + "name": "ASACMAMS-MCS1" + }, + { + "id": "UIO1", + "name": "uioclli1-UIO1" + }, + { + "id": "RAJ1", + "name": "YGBIJNLQ-RAJ1" + }, + { + "id": "OPA1", + "name": "opaclli1-OPA1" + }, + { + "id": "SDE1", + "name": "ZXCVBNMA-SDE1" + }, + { + "id": "VEN2", + "name": "FGHJUHIL-VEN2" + }, + { + "id": "ORL1", + "name": "ORLDFLMA-ORL1" + }, + { + "id": "JAD1", + "name": "JADECLLI-JAD1" + }, + { + "id": "ZXL1", + "name": "LWLWCANN-ZXL1" + }, + { + "id": "CKL1", + "name": "CLKSKCKK-CKL1" + }, + { + "id": "SDF1", + "name": "sdfclli1-SDF1" + }, + { + "id": "RAD1", + "name": "RADICAL1-RAD1" + }, + { + "id": "KIT1", + "name": "BHYJFGLN-KIT1" + }, + { + "id": "REL1", + "name": "INGERFGT-REL1" + }, + { + "id": "JNL1", + "name": "CJALSDAC-JNL1" + }, + { + "id": "OLK1", + "name": "OLKOLKLS-OLK1" + }, + { + "id": "CHI1", + "name": "CHILLIWE-CHI1" + }, + { + "id": "UUU4", + "name": "UUUAAAUU-UUU4" + }, + { + "id": "TUF1", + "name": "TUFCLLI1-TUF1" + }, + { + "id": "KJN1", + "name": "CKALDKSA-KJN1" + }, + { + "id": "SAM1", + "name": "SNDGCA64-SAN1" + }, + { + "id": "SCK1", + "name": "SCKSCKSK-SCK1" + }, + { + "id": "HJH1", + "name": "AOEEQQQD-HJH1" + }, + { + "id": "HGD1", + "name": "SDFQWHGD-HGD1" + }, + { + "id": "KOR1", + "name": "HYFLNBVT-KOR1" + }, + { + "id": "ATL43", + "name": "AICLOCID-ATL43" + }, + { + "id": "ATL54", + "name": "AICFTAAI-ATL54" + }, + { + "id": "ATL66", + "name": "CLLIAAII-ATL66" + }, + { + "id": "VEL1", + "name": "BNMLKUIK-VEL1" + }, + { + "id": "ICC1", + "name": "SANJITAT-ICC1" + }, + { + "id": "MNT11", + "name": "WSXEFBTH-MNT11" + }, + { + "id": "DEF2", + "name": "WSBHGTYL-DEF2" + }, + { + "id": "MAD11", + "name": "SDFQWGKL-MAD11" + }, + { + "id": "OLG1", + "name": "OLHOLHOL-OLG1" + }, + { + "id": "GAR1", + "name": "NGFVSJKO-GAR1" + }, + { + "id": "SAN22", + "name": "GNVLSCTL-SAN22" + }, + { + "id": "HRG1", + "name": "HRGHRGGS-HRG1" + }, + { + "id": "JCS1", + "name": "JCSJSCJS-JCS1" + }, + { + "id": "DHA12", + "name": "WSXEDECF-DHA12" + }, + { + "id": "HJE1", + "name": "AOEEWWWD-HJE1" + }, + { + "id": "NCA1", + "name": "NCANCANN-NCA1" + }, + { + "id": "IOP1", + "name": "iopclli1-IOP1" + }, + { + "id": "RTY1", + "name": "rtyclli1-RTY1" + }, + { + "id": "KAP1", + "name": "HIOUYTRQ-KAP1" + }, + { + "id": "ZEN1", + "name": "ZENCLLI1-ZEN1" + }, + { + "id": "HKA1", + "name": "JAKHLASS-HKA1" + }, + { + "id": "CQK1", + "name": "CQKSCAKK-CQK1" + }, + { + "id": "SAI1", + "name": "UBEKQLPD-SAI1" + }, + { + "id": "ERT1", + "name": "ertclli1-ERT1" + }, + { + "id": "IBB1", + "name": "PLMKOIJU-IBB1" + }, + { + "id": "TIR2", + "name": "PLKINHYI-TIR2" + }, + { + "id": "HSD1", + "name": "CHASKCDS-HSD1" + }, + { + "id": "SLF78", + "name": "SDCTLFN1-SLF78" + }, + { + "id": "SEE78", + "name": "SDCTEEE4-SEE78" + }, + { + "id": "SAN13", + "name": "TOKYJPFA-SAN13" + }, + { + "id": "SAA78", + "name": "SDCTAAA1-SAA78" + }, + { + "id": "LUC1", + "name": "ATLDFGYC-LUC1" + }, + { + "id": "AMD13", + "name": "MEMATLAN-AMD13" + }, + { + "id": "TOR1", + "name": "TOROONXN-TOR1" + }, + { + "id": "QWE1", + "name": "QWECLLI1-QWE1" + }, + { + "id": "ZOG1", + "name": "ZOGASTRO-ZOG1" + }, + { + "id": "CAL33", + "name": "CALIFORN-CAL33" + }, + { + "id": "SHH78", + "name": "SDIT1HHH-SHH78" + }, + { + "id": "DSA1", + "name": "LKJHGFDS-DSA1" + }, + { + "id": "CLG1", + "name": "CLGRABAD-CLG1" + }, + { + "id": "BNA1", + "name": "BNARAGBK-BNA1" + }, + { + "id": "ATL84", + "name": "CANTTCOC-ATL84" + }, + { + "id": "APP1", + "name": "WBHGTYUI-APP1" + }, + { + "id": "RJN1", + "name": "RJNRBZAW-RJN1" + }, + { + "id": "EHH78", + "name": "SDCSHHH5-EHH78" + }, + { + "id": "mac10", + "name": "PKGTESTF-mac10" + }, + { + "id": "SXB78", + "name": "SDCTGXB1-SXB78" + }, + { + "id": "SAX78", + "name": "SDCTAXG1-SAX78" + }, + { + "id": "SYD1", + "name": "SYDNAUBV-SYD1" + }, + { + "id": "TOK1", + "name": "TOKYJPFA-TOK1" + }, + { + "id": "KGM2", + "name": "KGMTNC20-KGM2" + }, + { + "id": "DCC1b", + "name": "POIUYTGH-DCC1b" + }, + { + "id": "SKK78", + "name": "SDCTKKK1-SKK78" + }, + { + "id": "SGG78", + "name": "SDCTGGG1-SGG78" + }, + { + "id": "SJJ78", + "name": "SDCTJJJ1-SJJ78" + }, + { + "id": "SBX78", + "name": "SDCTBXG1-SBX78" + }, + { + "id": "LAG1", + "name": "LARGIZON-LAG1" + }, + { + "id": "IAA1", + "name": "QAZXSWED-IAA1" + }, + { + "id": "POI1", + "name": "PLMNJKIU-POI1" + }, + { + "id": "LAG1a", + "name": "LARGIZON-LAG1a" + }, + { + "id": "PBL1", + "name": "PBLAPBAI-PBL1" + }, + { + "id": "LAG45", + "name": "LARGIZON-LAG1a" + }, + { + "id": "MAR1", + "name": "MNBVCXZM-MAR1" + }, + { + "id": "HST70", + "name": "HSTNTX70-HST70" + }, + { + "id": "DCC1a", + "name": "POIUYTGH-DCC1a" + }, + { + "id": "TOL1", + "name": "TOLDOH21-TOL1" + }, + { + "id": "LON1", + "name": "LONEENCO-LON1" + }, + { + "id": "SJU78", + "name": "SDIT1JUB-SJU78" + }, + { + "id": "STN27", + "name": "HSTNTX01-STN27" + }, + { + "id": "SSW56", + "name": "ss8126GT-SSW56" + }, + { + "id": "SBB78", + "name": "SDIT1BBB-SBB78" + }, + { + "id": "DCC3", + "name": "POIUYTGH-DCC3" + }, + { + "id": "GNV1", + "name": "GNVLSCTL-GNV1" + }, + { + "id": "WAS1", + "name": "WASHDCSW-WAS1" + }, + { + "id": "TOY1", + "name": "TORYONNZ-TOY1" + }, + { + "id": "STT1", + "name": "STTLWA02-STT1" + }, + { + "id": "STG1", + "name": "STTGGE62-STG1" + }, + { + "id": "SLL78", + "name": "SDCTLLL1-SLL78" + }, + { + "id": "SBU78", + "name": "SDIT1BUB-SBU78" + }, + { + "id": "ATL2", + "name": "ATLNGANW-ATL2" + }, + { + "id": "BOT1", + "name": "BOTHWAKY-BOT1" + }, + { + "id": "SNG1", + "name": "SNGPSIAU-SNG1" + }, + { + "id": "NYC1", + "name": "NYCMNY54-NYC1" + }, + { + "id": "LAG1b", + "name": "LARGIZON-LAG1b" + }, + { + "id": "AMD15", + "name": "AMDFAA01-AMD15" + }, + { + "id": "SNA1", + "name": "SNANTXCA-SNA1" + }, + { + "id": "PLT1", + "name": "PLTNCA60-PLT1" + }, + { + "id": "TLP1", + "name": "TLPNXM18-TLP1" + }, + { + "id": "SDD81", + "name": "SAIT1DD6-SDD81" + }, + { + "id": "DCC1", + "name": "POIUYTGH-DCC1" + }, + { + "id": "DCC2", + "name": "POIUYTGH-DCC2" + }, + { + "id": "OKC1", + "name": "OKCBOK55-OKC1" + }, + { + "id": "PAR1", + "name": "PARSFRCG-PAR1" + }, + { + "id": "TES36", + "name": "ABCEETES-TES36" + }, + { + "id": "COM1", + "name": "PLMKOPIU-COM1" + }, + { + "id": "ANI1", + "name": "ATLNGTRE-ANI1" + }, + { + "id": "SDG78", + "name": "SDIT1BDG-SDG78" + }, + { + "id": "mac20", + "name": "PKGTESTF-mac20" + }, + { + "id": "DSF45", + "name": "DSFBG123-DSF45" + }, + { + "id": "HST25", + "name": "HSTNTX01-HST25" + }, + { + "id": "AMD18", + "name": "AUDIMA01-AMD18" + }, + { + "id": "SAA80", + "name": "SAIT9AA3-SAA80" + }, + { + "id": "SSA56", + "name": "SSIT2AA7-SSA56" + }, + { + "id": "SDD82", + "name": "SAIT1DD9-SDD82" + }, + { + "id": "JCV1", + "name": "JCVLFLBW-JCV1" + }, + { + "id": "SUL2", + "name": "WERTYUJK-SUL2" + }, + { + "id": "PUR1", + "name": "purelyde-PUR1" + }, + { + "id": "FDE55", + "name": "FDERT555-FDE55" + }, + { + "id": "SITE", + "name": "LONEENCO-SITE" + }, + { + "id": "ATL1", + "name": "ATLNGAMA-ATL1" + }, + { + "id": "JUL1", + "name": "ZXCVBNMM-JUL1" + }, + { + "id": "TAT34", + "name": "TESAAISB-TAT34" + }, + { + "id": "XCP12", + "name": "CHKGH123-XCP12" + }, + { + "id": "RAI1", + "name": "poiuytre-RAI1" + }, + { + "id": "HPO1", + "name": "ATLNGAUP-HPO1" + }, + { + "id": "KJF12", + "name": "KJFDH123-KJF12" + }, + { + "id": "SCC80", + "name": "SAIT9CC3-SCC80" + }, + { + "id": "SAA12", + "name": "SAIT9AF8-SAA12" + }, + { + "id": "SAA14", + "name": "SAIT1AA9-SAA14" + }, + { + "id": "ATL35", + "name": "TTESSAAI-ATL35" + }, + { + "id": "CWY1", + "name": "CWYMOWBS-CWY1" + }, + { + "id": "ATL76", + "name": "TELEPAAI-ATL76" + }, + { + "id": "DSL12", + "name": "DSLFK242-DSL12" + }, + { + "id": "ATL53", + "name": "AAIATLTE-ATL53" + }, + { + "id": "SAA11", + "name": "SAIT9AA2-SAA11" + }, + { + "id": "ATL62", + "name": "TESSASCH-ATL62" + }, + { + "id": "AUG1", + "name": "ASDFGHJK-AUG1" + }, + { + "id": "POI22", + "name": "POIUY123-POI22" + }, + { + "id": "SAA13", + "name": "SAIT1AA9-SAA13" + }, + { + "id": "BHY17", + "name": "BHYTFRF3-BHY17" + }, + { + "id": "LIS1", + "name": "HOSTPROF-LIS1" + }, + { + "id": "SIP1", + "name": "ZXCVBNMK-SIP1" + }, + { + "id": "ATL99", + "name": "TEESTAAI-ATL43" + }, + { + "id": "ATL64", + "name": "FORLOAAJ-ATL64" + }, + { + "id": "TAT33", + "name": "TESAAISA-TAT33" + }, + { + "id": "RAD10", + "name": "INDIPUNE-RAD10" + }, + { + "id": "RTW5", + "name": "BHYTFRY4-RTW5" + }, + { + "id": "JGS1", + "name": "KSJKKKKK-JGS1" + }, + { + "id": "ATL98", + "name": "TEESTAAI-ATL43" + }, + { + "id": "WAN1", + "name": "LEIWANGW-WAN1" + }, + { + "id": "ATL44", + "name": "ATLSANAB-ATL44" + }, + { + "id": "RTD2", + "name": "BHYTFRk4-RTD2" + }, + { + "id": "NIR1", + "name": "ORFLMANA-NIR1" + }, + { + "id": "ATL75", + "name": "SANAAIRE-ATL75" + }, + { + "id": "NUM1", + "name": "QWERTYUI-NUM1" + }, + { + "id": "hvf32", + "name": "MDTWNJ21-hvf32" + }, + { + "id": "RTZ4", + "name": "BHYTFRZ6-RTZ4" + }, + { + "id": "ATL56", + "name": "ATLSANAC-ATL56" + }, + { + "id": "AMS1", + "name": "AMSTNLBW-AMS1" + }, + { + "id": "RCT1", + "name": "AMSTERNL-RCT1" + }, + { + "id": "JAN1", + "name": "ORFLMATT-JAN1" + }, + { + "id": "ABC14", + "name": "TESAAISA-ABC14" + }, + { + "id": "TAT37", + "name": "TESAAISD-TAT37" + }, + { + "id": "MIC54", + "name": "MICHIGAN-MIC54" + }, + { + "id": "ABC11", + "name": "ATLSANAI-ABC11" + }, + { + "id": "AMF11", + "name": "AMDOCS01-AMF11" + }, + { + "id": "ATL63", + "name": "ATLSANEW-ATL63" + }, + { + "id": "ABC12", + "name": "ATLSECIA-ABC12" + }, + { + "id": "hvf20", + "name": "MDTWNJ21-hvf20" + }, + { + "id": "ABC15", + "name": "AAITESAN-ABC15" + }, + { "id": "AVT1", "name": "AVTRFLHD-AVT1" }, @@ -1009,8 +1885,8 @@ describe('Generic Form popup Service', () => { let uuidData : UUIDData = <any>{ type : 'VFmodule', serviceId : '6e59c5de-f052-46fa-aa7e-2fca9d674c44', - vnfStoreKey : 'VF_vMee 0', - vFModuleStoreKey : 'vf_vmee0..VfVmee..vmme_vlc..module-1', + vnfStoreKey : 'VF_vGeraldine 0', + vFModuleStoreKey : 'vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1', popupService : vfModulePopupService }; let node : ITreeNode = <any>{data : {}}; diff --git a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/basic.popup.service.spec.ts b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/basic.popup.service.spec.ts index 44d4056d7..69cb7dc9b 100644 --- a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/basic.popup.service.spec.ts +++ b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/basic.popup.service.spec.ts @@ -30,17 +30,12 @@ class MockReduxStore<T> { "FLAG_NETWORK_TO_ASYNC_INSTANTIATION": false, "FLAG_SHOW_ASSIGNMENTS": true, "FLAG_FABRIC_CONFIGURATION_ASSIGNMENTS": true, - "FLAG_UNASSIGN_SERVICE": true, "FLAG_SHOW_VERIFY_SERVICE": false, - "FLAG_COLLECTION_RESOURCE_SUPPORT": true, - "FLAG_DUPLICATE_VNF": true, "FLAG_SERVICE_MODEL_CACHE": true, "FLAG_ADVANCED_PORTS_FILTER": true, "CREATE_INSTANCE_TEST": false, "FLAG_SETTING_DEFAULTS_IN_DRAWING_BOARD": false, "FLAG_REGION_ID_FROM_REMOTE": true, - "FLAG_ASYNC_INSTANTIATION": true, - "FLAG_ASYNC_JOBS": true, "EMPTY_DRAWING_BOARD_TEST": false, "FLAG_ADD_MSO_TESTAPI_FIELD": true }, @@ -63,11 +58,11 @@ class MockReduxStore<T> { "inputs": {} }, "vnfs": { - "VF_vMee 0": { + "VF_vGeraldine 0": { "uuid": "d6557200-ecf2-4641-8094-5393ae3aae60", "invariantUuid": "4160458e-f648-4b30-a176-43881ffffe9e", - "description": "VSP_vMee", - "name": "VF_vMee", + "description": "VSP_vGeraldine", + "name": "VF_vGeraldine", "version": "2.0", "customizationUuid": "91415b44-753d-494c-926a-456a9172bbb9", "inputs": {}, @@ -238,74 +233,74 @@ class MockReduxStore<T> { "sctp-b-egress-dst_end_port": "65535.0" }, "type": "VF", - "modelCustomizationName": "VF_vMee 0", + "modelCustomizationName": "VF_vGeraldine 0", "vfModules": { - "vf_vmee0..VfVmee..vmme_vlc..module-1": { + "vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1": { "uuid": "522159d5-d6e0-4c2a-aa44-5a542a12a830", "invariantUuid": "98a7c88b-b577-476a-90e4-e25a5871e02b", "customizationUuid": "55b1be94-671a-403e-a26c-667e9c47d091", "description": null, - "name": "VfVmee..vmme_vlc..module-1", + "name": "VfVgeraldine..vflorence_vlc..module-1", "version": "2", - "modelCustomizationName": "VfVmee..vmme_vlc..module-1", + "modelCustomizationName": "VfVgeraldine..vflorence_vlc..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_vlc" + "vfModuleLabel": "vflorence_vlc" }, "inputs": {}, "volumeGroupAllowed": true }, - "vf_vmee0..VfVmee..vmme_gpb..module-2": { + "vf_vgeraldine0..VfVgeraldine..vflorence_gpb..module-2": { "uuid": "41708296-e443-4c71-953f-d9a010f059e1", "invariantUuid": "1cca90b8-3490-495e-87da-3f3e4c57d5b9", "customizationUuid": "6add59e0-7fe1-4bc4-af48-f8812422ae7c", "description": null, - "name": "VfVmee..vmme_gpb..module-2", + "name": "VfVgeraldine..vflorence_gpb..module-2", "version": "2", - "modelCustomizationName": "VfVmee..vmme_gpb..module-2", + "modelCustomizationName": "VfVgeraldine..vflorence_gpb..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_gpb" + "vfModuleLabel": "vflorence_gpb" }, "inputs": {}, "volumeGroupAllowed": false }, - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {}, "volumeGroupAllowed": true } }, "volumeGroups": { - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {} } @@ -333,7 +328,7 @@ class MockReduxStore<T> { "modelCustomizationName": "ExtVL 0" } }, - "collectionResource": {}, + "collectionResources": {}, "configurations": { "Port Mirroring Configuration By Policy 0": { "uuid": "b4398538-e89d-4f13-b33d-ca323434ba50", @@ -354,72 +349,72 @@ class MockReduxStore<T> { }, "serviceProxies": {}, "vfModules": { - "vf_vmee0..VfVmee..vmme_vlc..module-1": { + "vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1": { "uuid": "522159d5-d6e0-4c2a-aa44-5a542a12a830", "invariantUuid": "98a7c88b-b577-476a-90e4-e25a5871e02b", "customizationUuid": "55b1be94-671a-403e-a26c-667e9c47d091", "description": null, - "name": "VfVmee..vmme_vlc..module-1", + "name": "VfVgeraldine..vflorence_vlc..module-1", "version": "2", - "modelCustomizationName": "VfVmee..vmme_vlc..module-1", + "modelCustomizationName": "VfVgeraldine..vflorence_vlc..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_vlc" + "vfModuleLabel": "vflorence_vlc" }, "inputs": {}, "volumeGroupAllowed": true }, - "vf_vmee0..VfVmee..vmme_gpb..module-2": { + "vf_vgeraldine0..VfVgeraldine..vflorence_gpb..module-2": { "uuid": "41708296-e443-4c71-953f-d9a010f059e1", "invariantUuid": "1cca90b8-3490-495e-87da-3f3e4c57d5b9", "customizationUuid": "6add59e0-7fe1-4bc4-af48-f8812422ae7c", "description": null, - "name": "VfVmee..vmme_gpb..module-2", + "name": "VfVgeraldine..vflorence_gpb..module-2", "version": "2", - "modelCustomizationName": "VfVmee..vmme_gpb..module-2", + "modelCustomizationName": "VfVgeraldine..vflorence_gpb..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_gpb" + "vfModuleLabel": "vflorence_gpb" }, "inputs": {}, "volumeGroupAllowed": false }, - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {}, "volumeGroupAllowed": true } }, "volumeGroups": { - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {} } @@ -439,7 +434,7 @@ class MockReduxStore<T> { "serviceEcompNaming": "false", "instantiationType": "A-La-Carte", "inputs": { - "2017488_adiodvpe0_ASN": { + "2017488_pasqualevpe0_ASN": { "type": "string", "description": "AV/PE", "entry_schema": null, @@ -451,11 +446,11 @@ class MockReduxStore<T> { } }, "vnfs": { - "2017-388_ADIOD-vPE 1": { + "2017-388_PASQUALE-vPE 1": { "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413", "invariantUuid": "00beb8f9-6d39-452f-816d-c709b9cbb87d", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-388_ADIOD-vPE", + "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", + "name": "2017-388_PASQUALE-vPE", "version": "1.0", "customizationUuid": "280dec31-f16d-488b-9668-4aae55d6648a", "inputs": { @@ -518,29 +513,29 @@ class MockReduxStore<T> { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, - "bandwidth": {"displayName": "bandwidth", "command": "get_input", "inputName": "adiodvpe0_bandwidth"}, + "bandwidth": {"displayName": "bandwidth", "command": "get_input", "inputName": "pasqualevpe0_bandwidth"}, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, - "ASN": {"displayName": "ASN", "command": "get_input", "inputName": "2017488_adiodvpe0_ASN"}, + "ASN": {"displayName": "ASN", "command": "get_input", "inputName": "2017488_pasqualevpe0_ASN"}, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -585,7 +580,7 @@ class MockReduxStore<T> { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -593,14 +588,14 @@ class MockReduxStore<T> { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -610,7 +605,7 @@ class MockReduxStore<T> { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -624,15 +619,15 @@ class MockReduxStore<T> { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-388_ADIOD-vPE 1", + "modelCustomizationName": "2017-388_PASQUALE-vPE 1", "vfModules": {}, "volumeGroups": {}, "vfcInstanceGroups": {} - }, "2017-388_ADIOD-vPE 0": { + }, "2017-388_PASQUALE-vPE 0": { "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168", "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-388_ADIOD-vPE", + "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", + "name": "2017-388_PASQUALE-vPE", "version": "4.0", "customizationUuid": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c", "inputs": { @@ -695,29 +690,29 @@ class MockReduxStore<T> { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, - "bandwidth": {"displayName": "bandwidth", "command": "get_input", "inputName": "adiodvpe0_bandwidth"}, + "bandwidth": {"displayName": "bandwidth", "command": "get_input", "inputName": "pasqualevpe0_bandwidth"}, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, - "ASN": {"displayName": "ASN", "command": "get_input", "inputName": "2017488_adiodvpe0_ASN"}, + "ASN": {"displayName": "ASN", "command": "get_input", "inputName": "2017488_pasqualevpe0_ASN"}, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -763,7 +758,7 @@ class MockReduxStore<T> { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -771,14 +766,14 @@ class MockReduxStore<T> { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -788,7 +783,7 @@ class MockReduxStore<T> { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -802,15 +797,15 @@ class MockReduxStore<T> { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-388_ADIOD-vPE 0", + "modelCustomizationName": "2017-388_PASQUALE-vPE 0", "vfModules": {}, "volumeGroups": {}, "vfcInstanceGroups": {} - }, "2017-488_ADIOD-vPE 0": { + }, "2017-488_PASQUALE-vPE 0": { "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09", "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-488_ADIOD-vPE", + "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", + "name": "2017-488_PASQUALE-vPE", "version": "5.0", "customizationUuid": "1da7b585-5e61-4993-b95e-8e6606c81e45", "inputs": { @@ -873,29 +868,29 @@ class MockReduxStore<T> { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, - "bandwidth": {"displayName": "bandwidth", "command": "get_input", "inputName": "adiodvpe0_bandwidth"}, + "bandwidth": {"displayName": "bandwidth", "command": "get_input", "inputName": "pasqualevpe0_bandwidth"}, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, - "ASN": {"displayName": "ASN", "command": "get_input", "inputName": "2017488_adiodvpe0_ASN"}, + "ASN": {"displayName": "ASN", "command": "get_input", "inputName": "2017488_pasqualevpe0_ASN"}, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -942,7 +937,7 @@ class MockReduxStore<T> { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -950,14 +945,14 @@ class MockReduxStore<T> { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -967,7 +962,7 @@ class MockReduxStore<T> { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -981,82 +976,82 @@ class MockReduxStore<T> { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-488_ADIOD-vPE 0", + "modelCustomizationName": "2017-488_PASQUALE-vPE 0", "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV" + "vfModuleLabel": "PASQUALE_vRE_BV" }, "inputs": { - "adiodvpe0_bandwidth": { + "pasqualevpe0_bandwidth": { "type": "string", "description": "Requested VPE bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, "constraints": null, "required": true, "default": "10" }, - "2017488_adiodvpe0_vnf_instance_name": { + "2017488_pasqualevpe0_vnf_instance_name": { "type": "string", "description": "The hostname assigned to the vpe.", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, "constraints": null, "required": true, "default": "mtnj309me6" }, - "2017488_adiodvpe0_vnf_config_template_version": { + "2017488_pasqualevpe0_vnf_config_template_version": { "type": "string", "description": "VPE Software Version", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, "constraints": null, "required": true, "default": "17.2" }, - "2017488_adiodvpe0_AIC_CLLI": { + "2017488_pasqualevpe0_AIC_CLLI": { "type": "string", "description": "AIC Site CLLI", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, "constraints": null, "required": true, "default": "ATLMY8GA" }, - "adiodvpe0_bandwidth_units": { + "pasqualevpe0_bandwidth_units": { "type": "string", "description": "Units of bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, "constraints": null, @@ -1066,116 +1061,116 @@ class MockReduxStore<T> { }, "volumeGroupAllowed": true }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db", "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091", "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", "description": null, - "name": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "version": "5", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "ADIOD_base_vPE_BV" + "vfModuleLabel": "PASQUALE_base_vPE_BV" }, "inputs": {}, "volumeGroupAllowed": false }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV" + "vfModuleLabel": "PASQUALE_vPFE_BV" }, "inputs": {}, "volumeGroupAllowed": true } }, "volumeGroups": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV" + "vfModuleLabel": "PASQUALE_vRE_BV" }, "inputs": { - "adiodvpe0_bandwidth": { + "pasqualevpe0_bandwidth": { "type": "string", "description": "Requested VPE bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, "constraints": null, "required": true, "default": "10" }, - "2017488_adiodvpe0_vnf_instance_name": { + "2017488_pasqualevpe0_vnf_instance_name": { "type": "string", "description": "The hostname assigned to the vpe.", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, "constraints": null, "required": true, "default": "mtnj309me6" }, - "2017488_adiodvpe0_vnf_config_template_version": { + "2017488_pasqualevpe0_vnf_config_template_version": { "type": "string", "description": "VPE Software Version", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, "constraints": null, "required": true, "default": "17.2" }, - "2017488_adiodvpe0_AIC_CLLI": { + "2017488_pasqualevpe0_AIC_CLLI": { "type": "string", "description": "AIC Site CLLI", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, "constraints": null, "required": true, "default": "ATLMY8GA" }, - "adiodvpe0_bandwidth_units": { + "pasqualevpe0_bandwidth_units": { "type": "string", "description": "Units of bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, "constraints": null, @@ -1184,19 +1179,19 @@ class MockReduxStore<T> { } } }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV" + "vfModuleLabel": "PASQUALE_vPFE_BV" }, "inputs": {} } @@ -1281,81 +1276,81 @@ class MockReduxStore<T> { "modelCustomizationName": "ExtVL 0" } }, - "collectionResource": {}, + "collectionResources": {}, "configurations": {}, "fabricConfigurations": {}, "serviceProxies": {}, "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV" + "vfModuleLabel": "PASQUALE_vRE_BV" }, "inputs": { - "adiodvpe0_bandwidth": { + "pasqualevpe0_bandwidth": { "type": "string", "description": "Requested VPE bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, "constraints": null, "required": true, "default": "10" }, - "2017488_adiodvpe0_vnf_instance_name": { + "2017488_pasqualevpe0_vnf_instance_name": { "type": "string", "description": "The hostname assigned to the vpe.", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, "constraints": null, "required": true, "default": "mtnj309me6" }, - "2017488_adiodvpe0_vnf_config_template_version": { + "2017488_pasqualevpe0_vnf_config_template_version": { "type": "string", "description": "VPE Software Version", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, "constraints": null, "required": true, "default": "17.2" }, - "2017488_adiodvpe0_AIC_CLLI": { + "2017488_pasqualevpe0_AIC_CLLI": { "type": "string", "description": "AIC Site CLLI", "entry_schema": null, - "inputProperties": {"sourceType": "HEAT", "vfModuleLabel": "ADIOD_vRE_BV", "paramName": "AIC_CLLI"}, + "inputProperties": {"sourceType": "HEAT", "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI"}, "constraints": null, "required": true, "default": "ATLMY8GA" }, - "adiodvpe0_bandwidth_units": { + "pasqualevpe0_bandwidth_units": { "type": "string", "description": "Units of bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, "constraints": null, @@ -1365,112 +1360,112 @@ class MockReduxStore<T> { }, "volumeGroupAllowed": true }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db", "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091", "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", "description": null, - "name": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "version": "5", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "ADIOD_base_vPE_BV" + "vfModuleLabel": "PASQUALE_base_vPE_BV" }, "inputs": {}, "volumeGroupAllowed": false }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV" + "vfModuleLabel": "PASQUALE_vPFE_BV" }, "inputs": {}, "volumeGroupAllowed": true } }, "volumeGroups": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV" + "vfModuleLabel": "PASQUALE_vRE_BV" }, "inputs": { - "adiodvpe0_bandwidth": { + "pasqualevpe0_bandwidth": { "type": "string", "description": "Requested VPE bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, "constraints": null, "required": true, "default": "10" }, - "2017488_adiodvpe0_vnf_instance_name": { + "2017488_pasqualevpe0_vnf_instance_name": { "type": "string", "description": "The hostname assigned to the vpe.", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, "constraints": null, "required": true, "default": "mtnj309me6" }, - "2017488_adiodvpe0_vnf_config_template_version": { + "2017488_pasqualevpe0_vnf_config_template_version": { "type": "string", "description": "VPE Software Version", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, "constraints": null, "required": true, "default": "17.2" }, - "2017488_adiodvpe0_AIC_CLLI": { + "2017488_pasqualevpe0_AIC_CLLI": { "type": "string", "description": "AIC Site CLLI", "entry_schema": null, - "inputProperties": {"sourceType": "HEAT", "vfModuleLabel": "ADIOD_vRE_BV", "paramName": "AIC_CLLI"}, + "inputProperties": {"sourceType": "HEAT", "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI"}, "constraints": null, "required": true, "default": "ATLMY8GA" }, - "adiodvpe0_bandwidth_units": { + "pasqualevpe0_bandwidth_units": { "type": "string", "description": "Units of bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, "constraints": null, @@ -1479,19 +1474,19 @@ class MockReduxStore<T> { } } }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV" + "vfModuleLabel": "PASQUALE_vPFE_BV" }, "inputs": {} } @@ -1502,21 +1497,21 @@ class MockReduxStore<T> { "serviceInstance": { "6e59c5de-f052-46fa-aa7e-2fca9d674c44": { "vnfs": { - "VF_vMee 0": { + "VF_vGeraldine 0": { "rollbackOnFailure": "true", "vfModules": { - "vf_vmee0..VfVmee..base_vmme..module-0": { - "vf_vmee0..VfVmee..base_vmme..module-0vmvzo": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0vmvzo": { "isMissingData": false, "sdncPreReload": null, "modelInfo": { "modelType": "VFmodule", "modelInvariantId": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "modelVersionId": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", - "modelName": "VfVmee..base_vmme..module-0", + "modelName": "VfVgeraldine..base_vflorence..module-0", "modelVersion": "2", "modelCustomizationId": "f8c040f1-7e51-4a11-aca8-acf256cfd861", - "modelCustomizationName": "VfVmee..base_vmme..module-0" + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0" }, "instanceParams": [{}], "trackById": "wmtm6sy2uj" @@ -1524,8 +1519,8 @@ class MockReduxStore<T> { } }, "isMissingData": true, - "originalName": "VF_vMee 0", - "vnfStoreKey": "VF_vMee 0", + "originalName": "VF_vGeraldine 0", + "vnfStoreKey": "VF_vGeraldine 0", "trackById": "p3wk448m5do", "uuid": "d6557200-ecf2-4641-8094-5393ae3aae60", "productFamilyId": "36b4733a-53f4-4cc8-8ff0-9172e5fc4b8e", @@ -1537,9 +1532,9 @@ class MockReduxStore<T> { "modelType": "VF", "modelInvariantId": "4160458e-f648-4b30-a176-43881ffffe9e", "modelVersionId": "6e59c5de-f052-46fa-aa7e-2fca9d674c44", - "modelName": "VF_vMee", + "modelName": "VF_vGeraldine", "modelVersion": "2.0", - "modelCustomizationName": "VF_vMee 0" + "modelCustomizationName": "VF_vGeraldine 0" } } }, @@ -1657,39 +1652,39 @@ class MockReduxStore<T> { } }, "vnfs": { - "2017-488_ADIOD-vPE 0": { + "2017-488_PASQUALE-vPE 0": { "rollbackOnFailure": "true", "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1sgoqi": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1sgoqi": { "instanceName": "yoav", "volumeGroupName": "123", "modelInfo": { "modelInvariantId": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "modelVersionId": "25284168-24bb-4698-8cb4-3f509146eca5", - "modelName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "modelVersion": "6", "modelCustomizationId": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "uuid": "25284168-24bb-4698-8cb4-3f509146eca5" }, "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "isMissingData": false, "instanceParams": [{ - "adiodvpe0_bandwidth": "10", - "2017488_adiodvpe0_vnf_instance_name": "mtnj309me6", - "2017488_adiodvpe0_vnf_config_template_version": "17.2", - "2017488_adiodvpe0_AIC_CLLI": "ATLMY8GA", - "adiodvpe0_bandwidth_units": "Gbps" + "pasqualevpe0_bandwidth": "10", + "2017488_pasqualevpe0_vnf_instance_name": "mtnj309me6", + "2017488_pasqualevpe0_vnf_config_template_version": "17.2", + "2017488_pasqualevpe0_AIC_CLLI": "ATLMY8GA", + "pasqualevpe0_bandwidth_units": "Gbps" }] } } }, "isMissingData": false, - "originalName": "2017-488_ADIOD-vPE 0", - "vnfStoreKey": "2017-488_ADIOD-vPE 0", + "originalName": "2017-488_PASQUALE-vPE 0", + "vnfStoreKey": "2017-488_PASQUALE-vPE 0", "trackById": "o65b26t2thj", - "instanceName": "2017488_ADIODvPE", + "instanceName": "2017488_PASQUALEvPE", "productFamilyId": "ebc3bc3d-62fd-4a3f-a037-f619df4ff034", "lcpCloudRegionId": "hvf6", "tenantId": "bae71557c5bb4d5aac6743a4e5f1d054", @@ -1699,16 +1694,16 @@ class MockReduxStore<T> { "modelInfo": { "modelInvariantId": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", "modelVersionId": "69e09f68-8b63-4cc9-b9ff-860960b5db09", - "modelName": "2017-488_ADIOD-vPE", + "modelName": "2017-488_PASQUALE-vPE", "modelVersion": "5.0", "modelCustomizationId": "1da7b585-5e61-4993-b95e-8e6606c81e45", - "modelCustomizationName": "2017-488_ADIOD-vPE 0", + "modelCustomizationName": "2017-488_PASQUALE-vPE 0", "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09" }, "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09" } }, - "instanceParams": [{"2017488_adiodvpe0_ASN": "AV_vPE"}], + "instanceParams": [{"2017488_pasqualevpe0_ASN": "AV_vPE"}], "validationCounter": 0, "existingNames": {"123": "", "instancename": "", "yoav": "", "extvl": ""}, "existingVNFCounterMap": {"69e09f68-8b63-4cc9-b9ff-860960b5db09": 1}, @@ -1718,7 +1713,7 @@ class MockReduxStore<T> { "subscriptionServiceType": "TYLER SILVIA", "owningEntityId": "d61e6f2d-12fa-4cc2-91df-7c244011d6fc", "productFamilyId": "17cc1042-527b-11e6-beb8-9e71128cae77", - "lcpCloudRegionId": "JANET25", + "lcpCloudRegionId": "AAIAIC25", "tenantId": "092eb9e8e4b7412e8787dd091bc58e86", "aicZoneId": "JAG1", "projectName": null, @@ -1749,42 +1744,138 @@ class MockReduxStore<T> { } }, "lcpRegionsAndTenants": { - "lcpRegionList": [{"id": "JANET25", "name": "JANET25", "isPermitted": true}, { + "lcpRegionList": [{"id": "AAIAIC25", "name": "AAIAIC25", "isPermitted": true}, { "id": "hvf6", "name": "hvf6", "isPermitted": true }], "lcpRegionsTenantsMap": { - "JANET25": [{ + "AAIAIC25": [{ "id": "092eb9e8e4b7412e8787dd091bc58e86", "name": "USP-SIP-IC-24335-T-01", "isPermitted": true - }], "hvf6": [ - { - "id": "bae71557c5bb4d5aac6743a4e5f1d054", - "name": "AIN Web Tool-15-D-testalexandria", - "isPermitted": true - }, - { - "id": "d0a3e3f2964542259d155a81c41aadc3", - "name": "test-hvf6-09", - "isPermitted": true - }, - { - "id": "fa45ca53c80b492fa8be5477cd84fc2b", - "name": "ro-T112", - "isPermitted": true - }, - { - "id": "cbb99fe4ada84631b7baf046b6fd2044", - "name": "DN5242-Nov16-T3", - "isPermitted": true - } - ] + }], + "hvf6": [{ + "id": "bae71557c5bb4d5aac6743a4e5f1d054", + "name": "AIN Web Tool-15-D-testalexandria", + "isPermitted": true + }, { + "id": "229bcdc6eaeb4ca59d55221141d01f8e", + "name": "AIN Web Tool-15-D-STTest2", + "isPermitted": true + }, { + "id": "1178612d2b394be4834ad77f567c0af2", + "name": "AIN Web Tool-15-D-SSPtestcustome", + "isPermitted": true + }, { + "id": "19c5ade915eb461e8af52fb2fd8cd1f2", + "name": "AIN Web Tool-15-D-UncheckedEcopm", + "isPermitted": true + }, { + "id": "de007636e25249238447264a988a927b", + "name": "AIN Web Tool-15-D-dfsdf", + "isPermitted": true + }, { + "id": "62f29b3613634ca6a3065cbe0e020c44", + "name": "AIN/SMS-16-D-Multiservices1", + "isPermitted": true + }, { + "id": "649289e30d3244e0b48098114d63c2aa", + "name": "AIN Web Tool-15-D-SSPST66", + "isPermitted": true + }, { + "id": "3f21eeea6c2c486bba31dab816c05a32", + "name": "AIN Web Tool-15-D-ASSPST47", + "isPermitted": true + }, { + "id": "f60ce21d3ee6427586cff0d22b03b773", + "name": "CESAR-100-D-sspjg67246", + "isPermitted": true + }, { + "id": "8774659e425f479895ae091bb5d46560", + "name": "CESAR-100-D-sspjg68359", + "isPermitted": true + }, { + "id": "624eb554b0d147c19ff8885341760481", + "name": "AINWebTool-15-D-iftach", + "isPermitted": true + }, { + "id": "214f55f5fc414c678059c383b03e4962", + "name": "CESAR-100-D-sspjg612401", + "isPermitted": true + }, { + "id": "c90666c291664841bb98e4d981ff1db5", + "name": "CESAR-100-D-sspjg621340", + "isPermitted": true + }, { + "id": "ce5b6bc5c7b348e1bf4b91ac9a174278", + "name": "sspjg621351cloned", + "isPermitted": true + }, { + "id": "b386b768a3f24c8e953abbe0b3488c02", + "name": "AINWebTool-15-D-eteancomp", + "isPermitted": true + }, { + "id": "dc6c4dbfd225474e9deaadd34968646c", + "name": "AINWebTool-15-T-SPFET", + "isPermitted": true + }, { + "id": "02cb5030e9914aa4be120bd9ed1e19eb", + "name": "AINWebTool-15-X-eeweww", + "isPermitted": true + }, { + "id": "f2f3830e4c984d45bcd00e1a04158a79", + "name": "CESAR-100-D-spjg61909", + "isPermitted": true + }, { + "id": "05b91bd5137f4929878edd965755c06d", + "name": "CESAR-100-D-sspjg621512cloned", + "isPermitted": true + }, { + "id": "7002fbe8482d4a989ddf445b1ce336e0", + "name": "AINWebTool-15-X-vdr", + "isPermitted": true + }, { + "id": "4008522be43741dcb1f5422022a2aa0b", + "name": "AINWebTool-15-D-ssasa", + "isPermitted": true + }, { + "id": "f44e2e96a1b6476abfda2fa407b00169", + "name": "AINWebTool-15-D-PFNPT", + "isPermitted": true + }, { + "id": "b69a52bec8a84669a37a1e8b72708be7", + "name": "AINWebTool-15-X-vdre", + "isPermitted": true + }, { + "id": "fac7d9fd56154caeb9332202dcf2969f", + "name": "AINWebTool-15-X-NONPODECOMP", + "isPermitted": true + }, { + "id": "2d34d8396e194eb49969fd61ffbff961", + "name": "DN5242-Nov16-T5", + "isPermitted": true + }, { + "id": "cb42a77ff45b48a8b8deb83bb64acc74", + "name": "ro-T11", + "isPermitted": true + }, { + "id": "fa45ca53c80b492fa8be5477cd84fc2b", + "name": "ro-T112", + "isPermitted": true + }, { + "id": "4914ab0ab3a743e58f0eefdacc1dde77", + "name": "DN5242-Nov21-T1", + "isPermitted": true + }, { + "id": "d0a3e3f2964542259d155a81c41aadc3", + "name": "test-hvf6-09", + "isPermitted": true + }, {"id": "cbb99fe4ada84631b7baf046b6fd2044", "name": "DN5242-Nov16-T3", "isPermitted": true}] } }, "productFamilies": [{ "id": "ebc3bc3d-62fd-4a3f-a037-f619df4ff034", - "name": "SCOTTIE", + "name": "ERICA", "isPermitted": true }, { "id": "17cc1042-527b-11e6-beb8-9e71128cae77", @@ -1800,7 +1891,7 @@ class MockReduxStore<T> { "isPermitted": true }, {"id": "vTerrance", "name": "vTerrance", "isPermitted": true}, { "id": "323d69d9-2efe-4r45-ay0a-89ea7ard4e6f", - "name": "vSCP", + "name": "vEsmeralda", "isPermitted": true }, { "id": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", @@ -1823,7 +1914,7 @@ class MockReduxStore<T> { "name": "TYLER SILVIA", "isPermitted": true }, {"id": "b6a3f28c-eebf-494c-a900-055cc7c874ce", "name": "VROUTER", "isPermitted": true}, { - "id": "Cisneros", + "id": "vMuriel", "name": "vMuriel", "isPermitted": true }, { @@ -1834,15 +1925,11 @@ class MockReduxStore<T> { "id": "c7611ebe-c324-48f1-8085-94aef0c6ef3d", "name": "DARREN MCGEE", "isPermitted": true - }, { - "id": "e30755dc-5673-4b6b-9dcf-9abdd96b93d1", - "name": "Transport", - "isPermitted": true - }, { + }, {"id": "e30755dc-5673-4b6b-9dcf-9abdd96b93d1", "name": "Transport", "isPermitted": true}, { "id": "vSalvatore", "name": "vSalvatore", "isPermitted": true - }, {"id": "d7bb0a21-66f2-4e6d-87d9-9ef3ced63ae4", "name": "Josefina", "isPermitted": true}, { + }, {"id": "d7bb0a21-66f2-4e6d-87d9-9ef3ced63ae4", "name": "JOSEFINA", "isPermitted": true}, { "id": "vHubbard", "name": "vHubbard", "isPermitted": true @@ -1862,21 +1949,21 @@ class MockReduxStore<T> { "isPermitted": false }, {"id": "5", "name": "Kennedy", "isPermitted": false}, { "id": "6", - "name": "vSEGW", + "name": "vPorfirio", "isPermitted": false }, {"id": "7", "name": "vVM", "isPermitted": false}, { "id": "8", "name": "vOTA", "isPermitted": false - }, {"id": "9", "name": "vMME", "isPermitted": false}, { + }, {"id": "9", "name": "vFLORENCE", "isPermitted": false}, { "id": "10", "name": "vMNS", "isPermitted": false - }, {"id": "11", "name": "vSCP", "isPermitted": false}, { + }, {"id": "11", "name": "vEsmeralda", "isPermitted": false}, { "id": "12", "name": "VPMS", "isPermitted": false - }, {"id": "13", "name": "vMMSC", "isPermitted": false}, { + }, {"id": "13", "name": "vWINIFRED", "isPermitted": false}, { "id": "14", "name": "SSD", "isPermitted": false @@ -1890,28 +1977,199 @@ class MockReduxStore<T> { "isPermitted": false }] }, - "aicZones": [ - { - "id": "NFT1", - "name": "NFTJSSSS-NFT1" - }, - { - "id": "JAG1", - "name": "YUDFJULP-JAG1" - }, - { - "id": "YYY1", - "name": "UUUAIAAI-YYY1" - }, - { - "id": "AVT1", - "name": "AVTRFLHD-AVT1" - }, - { - "id": "ATL34", - "name": "ATLSANAI-ATL34" - } - ], + "aicZones": [{"id": "NFT1", "name": "NFTJSSSS-NFT1"}, {"id": "JAG1", "name": "YUDFJULP-JAG1"}, { + "id": "YYY1", + "name": "UUUAIAAI-YYY1" + }, {"id": "BAN1", "name": "VSDKYUTP-BAN1"}, {"id": "DKJ1", "name": "DKJSJDKA-DKJ1"}, { + "id": "MCS1", + "name": "ASACMAMS-MCS1" + }, {"id": "UIO1", "name": "uioclli1-UIO1"}, {"id": "RAJ1", "name": "YGBIJNLQ-RAJ1"}, { + "id": "OPA1", + "name": "opaclli1-OPA1" + }, {"id": "SDE1", "name": "ZXCVBNMA-SDE1"}, {"id": "VEN2", "name": "FGHJUHIL-VEN2"}, { + "id": "ORL1", + "name": "ORLDFLMA-ORL1" + }, {"id": "JAD1", "name": "JADECLLI-JAD1"}, {"id": "ZXL1", "name": "LWLWCANN-ZXL1"}, { + "id": "CKL1", + "name": "CLKSKCKK-CKL1" + }, {"id": "SDF1", "name": "sdfclli1-SDF1"}, {"id": "RAD1", "name": "RADICAL1-RAD1"}, { + "id": "KIT1", + "name": "BHYJFGLN-KIT1" + }, {"id": "REL1", "name": "INGERFGT-REL1"}, {"id": "JNL1", "name": "CJALSDAC-JNL1"}, { + "id": "OLK1", + "name": "OLKOLKLS-OLK1" + }, {"id": "CHI1", "name": "CHILLIWE-CHI1"}, {"id": "UUU4", "name": "UUUAAAUU-UUU4"}, { + "id": "TUF1", + "name": "TUFCLLI1-TUF1" + }, {"id": "KJN1", "name": "CKALDKSA-KJN1"}, {"id": "SAM1", "name": "SNDGCA64-SAN1"}, { + "id": "SCK1", + "name": "SCKSCKSK-SCK1" + }, {"id": "HJH1", "name": "AOEEQQQD-HJH1"}, {"id": "HGD1", "name": "SDFQWHGD-HGD1"}, { + "id": "KOR1", + "name": "HYFLNBVT-KOR1" + }, {"id": "ATL43", "name": "AICLOCID-ATL43"}, {"id": "ATL54", "name": "AICFTAAI-ATL54"}, { + "id": "ATL66", + "name": "CLLIAAII-ATL66" + }, {"id": "VEL1", "name": "BNMLKUIK-VEL1"}, {"id": "ICC1", "name": "SANJITAT-ICC1"}, { + "id": "MNT11", + "name": "WSXEFBTH-MNT11" + }, {"id": "DEF2", "name": "WSBHGTYL-DEF2"}, {"id": "MAD11", "name": "SDFQWGKL-MAD11"}, { + "id": "OLG1", + "name": "OLHOLHOL-OLG1" + }, {"id": "GAR1", "name": "NGFVSJKO-GAR1"}, {"id": "SAN22", "name": "GNVLSCTL-SAN22"}, { + "id": "HRG1", + "name": "HRGHRGGS-HRG1" + }, {"id": "JCS1", "name": "JCSJSCJS-JCS1"}, {"id": "DHA12", "name": "WSXEDECF-DHA12"}, { + "id": "HJE1", + "name": "AOEEWWWD-HJE1" + }, {"id": "NCA1", "name": "NCANCANN-NCA1"}, {"id": "IOP1", "name": "iopclli1-IOP1"}, { + "id": "RTY1", + "name": "rtyclli1-RTY1" + }, {"id": "KAP1", "name": "HIOUYTRQ-KAP1"}, {"id": "ZEN1", "name": "ZENCLLI1-ZEN1"}, { + "id": "HKA1", + "name": "JAKHLASS-HKA1" + }, {"id": "CQK1", "name": "CQKSCAKK-CQK1"}, {"id": "SAI1", "name": "UBEKQLPD-SAI1"}, { + "id": "ERT1", + "name": "ertclli1-ERT1" + }, {"id": "IBB1", "name": "PLMKOIJU-IBB1"}, {"id": "TIR2", "name": "PLKINHYI-TIR2"}, { + "id": "HSD1", + "name": "CHASKCDS-HSD1" + }, {"id": "SLF78", "name": "SDCTLFN1-SLF78"}, {"id": "SEE78", "name": "SDCTEEE4-SEE78"}, { + "id": "SAN13", + "name": "TOKYJPFA-SAN13" + }, {"id": "SAA78", "name": "SDCTAAA1-SAA78"}, {"id": "LUC1", "name": "ATLDFGYC-LUC1"}, { + "id": "AMD13", + "name": "MEMATLAN-AMD13" + }, {"id": "TOR1", "name": "TOROONXN-TOR1"}, {"id": "QWE1", "name": "QWECLLI1-QWE1"}, { + "id": "ZOG1", + "name": "ZOGASTRO-ZOG1" + }, {"id": "CAL33", "name": "CALIFORN-CAL33"}, {"id": "SHH78", "name": "SDIT1HHH-SHH78"}, { + "id": "DSA1", + "name": "LKJHGFDS-DSA1" + }, {"id": "CLG1", "name": "CLGRABAD-CLG1"}, {"id": "BNA1", "name": "BNARAGBK-BNA1"}, { + "id": "ATL84", + "name": "CANTTCOC-ATL84" + }, {"id": "APP1", "name": "WBHGTYUI-APP1"}, {"id": "RJN1", "name": "RJNRBZAW-RJN1"}, { + "id": "EHH78", + "name": "SDCSHHH5-EHH78" + }, {"id": "mac10", "name": "PKGTESTF-mac10"}, {"id": "SXB78", "name": "SDCTGXB1-SXB78"}, { + "id": "SAX78", + "name": "SDCTAXG1-SAX78" + }, {"id": "SYD1", "name": "SYDNAUBV-SYD1"}, {"id": "TOK1", "name": "TOKYJPFA-TOK1"}, { + "id": "KGM2", + "name": "KGMTNC20-KGM2" + }, {"id": "DCC1b", "name": "POIUYTGH-DCC1b"}, {"id": "SKK78", "name": "SDCTKKK1-SKK78"}, { + "id": "SGG78", + "name": "SDCTGGG1-SGG78" + }, {"id": "SJJ78", "name": "SDCTJJJ1-SJJ78"}, {"id": "SBX78", "name": "SDCTBXG1-SBX78"}, { + "id": "LAG1", + "name": "LARGIZON-LAG1" + }, {"id": "IAA1", "name": "QAZXSWED-IAA1"}, {"id": "POI1", "name": "PLMNJKIU-POI1"}, { + "id": "LAG1a", + "name": "LARGIZON-LAG1a" + }, {"id": "PBL1", "name": "PBLAPBAI-PBL1"}, {"id": "LAG45", "name": "LARGIZON-LAG1a"}, { + "id": "MAR1", + "name": "MNBVCXZM-MAR1" + }, {"id": "HST70", "name": "HSTNTX70-HST70"}, {"id": "DCC1a", "name": "POIUYTGH-DCC1a"}, { + "id": "TOL1", + "name": "TOLDOH21-TOL1" + }, {"id": "LON1", "name": "LONEENCO-LON1"}, {"id": "SJU78", "name": "SDIT1JUB-SJU78"}, { + "id": "STN27", + "name": "HSTNTX01-STN27" + }, {"id": "SSW56", "name": "ss8126GT-SSW56"}, {"id": "SBB78", "name": "SDIT1BBB-SBB78"}, { + "id": "DCC3", + "name": "POIUYTGH-DCC3" + }, {"id": "GNV1", "name": "GNVLSCTL-GNV1"}, {"id": "WAS1", "name": "WASHDCSW-WAS1"}, { + "id": "TOY1", + "name": "TORYONNZ-TOY1" + }, {"id": "STT1", "name": "STTLWA02-STT1"}, {"id": "STG1", "name": "STTGGE62-STG1"}, { + "id": "SLL78", + "name": "SDCTLLL1-SLL78" + }, {"id": "SBU78", "name": "SDIT1BUB-SBU78"}, {"id": "ATL2", "name": "ATLNGANW-ATL2"}, { + "id": "BOT1", + "name": "BOTHWAKY-BOT1" + }, {"id": "SNG1", "name": "SNGPSIAU-SNG1"}, {"id": "NYC1", "name": "NYCMNY54-NYC1"}, { + "id": "LAG1b", + "name": "LARGIZON-LAG1b" + }, {"id": "AMD15", "name": "AMDFAA01-AMD15"}, {"id": "SNA1", "name": "SNANTXCA-SNA1"}, { + "id": "PLT1", + "name": "PLTNCA60-PLT1" + }, {"id": "TLP1", "name": "TLPNXM18-TLP1"}, {"id": "SDD81", "name": "SAIT1DD6-SDD81"}, { + "id": "DCC1", + "name": "POIUYTGH-DCC1" + }, {"id": "DCC2", "name": "POIUYTGH-DCC2"}, {"id": "OKC1", "name": "OKCBOK55-OKC1"}, { + "id": "PAR1", + "name": "PARSFRCG-PAR1" + }, {"id": "TES36", "name": "ABCEETES-TES36"}, {"id": "COM1", "name": "PLMKOPIU-COM1"}, { + "id": "ANI1", + "name": "ATLNGTRE-ANI1" + }, {"id": "SDG78", "name": "SDIT1BDG-SDG78"}, {"id": "mac20", "name": "PKGTESTF-mac20"}, { + "id": "DSF45", + "name": "DSFBG123-DSF45" + }, {"id": "HST25", "name": "HSTNTX01-HST25"}, {"id": "AMD18", "name": "AUDIMA01-AMD18"}, { + "id": "SAA80", + "name": "SAIT9AA3-SAA80" + }, {"id": "SSA56", "name": "SSIT2AA7-SSA56"}, {"id": "SDD82", "name": "SAIT1DD9-SDD82"}, { + "id": "JCV1", + "name": "JCVLFLBW-JCV1" + }, {"id": "SUL2", "name": "WERTYUJK-SUL2"}, {"id": "PUR1", "name": "purelyde-PUR1"}, { + "id": "FDE55", + "name": "FDERT555-FDE55" + }, {"id": "SITE", "name": "LONEENCO-SITE"}, {"id": "ATL1", "name": "ATLNGAMA-ATL1"}, { + "id": "JUL1", + "name": "ZXCVBNMM-JUL1" + }, {"id": "TAT34", "name": "TESAAISB-TAT34"}, {"id": "XCP12", "name": "CHKGH123-XCP12"}, { + "id": "RAI1", + "name": "poiuytre-RAI1" + }, {"id": "HPO1", "name": "ATLNGAUP-HPO1"}, {"id": "KJF12", "name": "KJFDH123-KJF12"}, { + "id": "SCC80", + "name": "SAIT9CC3-SCC80" + }, {"id": "SAA12", "name": "SAIT9AF8-SAA12"}, {"id": "SAA14", "name": "SAIT1AA9-SAA14"}, { + "id": "ATL35", + "name": "TTESSAAI-ATL35" + }, {"id": "CWY1", "name": "CWYMOWBS-CWY1"}, {"id": "ATL76", "name": "TELEPAAI-ATL76"}, { + "id": "DSL12", + "name": "DSLFK242-DSL12" + }, {"id": "ATL53", "name": "AAIATLTE-ATL53"}, {"id": "SAA11", "name": "SAIT9AA2-SAA11"}, { + "id": "ATL62", + "name": "TESSASCH-ATL62" + }, {"id": "AUG1", "name": "ASDFGHJK-AUG1"}, {"id": "POI22", "name": "POIUY123-POI22"}, { + "id": "SAA13", + "name": "SAIT1AA9-SAA13" + }, {"id": "BHY17", "name": "BHYTFRF3-BHY17"}, {"id": "LIS1", "name": "HOSTPROF-LIS1"}, { + "id": "SIP1", + "name": "ZXCVBNMK-SIP1" + }, {"id": "ATL99", "name": "TEESTAAI-ATL43"}, {"id": "ATL64", "name": "FORLOAAJ-ATL64"}, { + "id": "TAT33", + "name": "TESAAISA-TAT33" + }, {"id": "RAD10", "name": "INDIPUNE-RAD10"}, {"id": "RTW5", "name": "BHYTFRY4-RTW5"}, { + "id": "JGS1", + "name": "KSJKKKKK-JGS1" + }, {"id": "ATL98", "name": "TEESTAAI-ATL43"}, {"id": "WAN1", "name": "LEIWANGW-WAN1"}, { + "id": "ATL44", + "name": "ATLSANAB-ATL44" + }, {"id": "RTD2", "name": "BHYTFRk4-RTD2"}, {"id": "NIR1", "name": "ORFLMANA-NIR1"}, { + "id": "ATL75", + "name": "SANAAIRE-ATL75" + }, {"id": "NUM1", "name": "QWERTYUI-NUM1"}, {"id": "hvf32", "name": "MDTWNJ21-hvf32"}, { + "id": "RTZ4", + "name": "BHYTFRZ6-RTZ4" + }, {"id": "ATL56", "name": "ATLSANAC-ATL56"}, {"id": "AMS1", "name": "AMSTNLBW-AMS1"}, { + "id": "RCT1", + "name": "AMSTERNL-RCT1" + }, {"id": "JAN1", "name": "ORFLMATT-JAN1"}, {"id": "ABC14", "name": "TESAAISA-ABC14"}, { + "id": "TAT37", + "name": "TESAAISD-TAT37" + }, {"id": "MIC54", "name": "MICHIGAN-MIC54"}, {"id": "ABC11", "name": "ATLSANAI-ABC11"}, { + "id": "AMF11", + "name": "AMDOCS01-AMF11" + }, {"id": "ATL63", "name": "ATLSANEW-ATL63"}, {"id": "ABC12", "name": "ATLSECIA-ABC12"}, { + "id": "hvf20", + "name": "MDTWNJ21-hvf20" + }, {"id": "ABC15", "name": "AAITESAN-ABC15"}, {"id": "AVT1", "name": "AVTRFLHD-AVT1"}, { + "id": "ATL34", + "name": "ATLSANAI-ATL34" + }], "categoryParameters": { "owningEntityList": [{ "id": "aaa1", @@ -1920,10 +2178,7 @@ class MockReduxStore<T> { "id": "Melissa", "name": "Melissa" }], - "projectList": [{"id": "WATKINS", "name": "WATKINS"}, {"id": "x1", "name": "x1"}, { - "id": "yyy1", - "name": "yyy1" - }], + "projectList": [{"id": "WATKINS", "name": "WATKINS"}, {"id": "x1", "name": "x1"}, {"id": "yyy1", "name": "yyy1"}], "lineOfBusinessList": [{"id": "ONAP", "name": "ONAP"}, {"id": "zzz1", "name": "zzz1"}], "platformList": [{"id": "platform", "name": "platform"}, {"id": "xxx1", "name": "xxx1"}] }, diff --git a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/network/network.popup.service.spec.ts b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/network/network.popup.service.spec.ts index f3540917c..97d562b44 100644 --- a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/network/network.popup.service.spec.ts +++ b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/network/network.popup.service.spec.ts @@ -27,17 +27,12 @@ class MockReduxStore<T> { "FLAG_NETWORK_TO_ASYNC_INSTANTIATION": false, "FLAG_SHOW_ASSIGNMENTS": true, "FLAG_FABRIC_CONFIGURATION_ASSIGNMENTS": true, - "FLAG_UNASSIGN_SERVICE": true, "FLAG_SHOW_VERIFY_SERVICE": false, - "FLAG_COLLECTION_RESOURCE_SUPPORT": true, - "FLAG_DUPLICATE_VNF": true, "FLAG_SERVICE_MODEL_CACHE": true, "FLAG_ADVANCED_PORTS_FILTER": true, "CREATE_INSTANCE_TEST": false, "FLAG_SETTING_DEFAULTS_IN_DRAWING_BOARD": false, "FLAG_REGION_ID_FROM_REMOTE": true, - "FLAG_ASYNC_INSTANTIATION": true, - "FLAG_ASYNC_JOBS": true, "EMPTY_DRAWING_BOARD_TEST": false, "FLAG_ADD_MSO_TESTAPI_FIELD": true }, @@ -61,11 +56,11 @@ class MockReduxStore<T> { "inputs": {} }, "vnfs": { - "VF_vMee 0": { + "VF_vGeraldine 0": { "uuid": "d6557200-ecf2-4641-8094-5393ae3aae60", "invariantUuid": "4160458e-f648-4b30-a176-43881ffffe9e", - "description": "VSP_vMee", - "name": "VF_vMee", + "description": "VSP_vGeraldine", + "name": "VF_vGeraldine", "version": "2.0", "customizationUuid": "91415b44-753d-494c-926a-456a9172bbb9", "inputs": {}, @@ -236,74 +231,74 @@ class MockReduxStore<T> { "sctp-b-egress-dst_end_port": "65535.0" }, "type": "VF", - "modelCustomizationName": "VF_vMee 0", + "modelCustomizationName": "VF_vGeraldine 0", "vfModules": { - "vf_vmee0..VfVmee..vmme_vlc..module-1": { + "vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1": { "uuid": "522159d5-d6e0-4c2a-aa44-5a542a12a830", "invariantUuid": "98a7c88b-b577-476a-90e4-e25a5871e02b", "customizationUuid": "55b1be94-671a-403e-a26c-667e9c47d091", "description": null, - "name": "VfVmee..vmme_vlc..module-1", + "name": "VfVgeraldine..vflorence_vlc..module-1", "version": "2", - "modelCustomizationName": "VfVmee..vmme_vlc..module-1", + "modelCustomizationName": "VfVgeraldine..vflorence_vlc..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_vlc" + "vfModuleLabel": "vflorence_vlc" }, "inputs": {}, "volumeGroupAllowed": true }, - "vf_vmee0..VfVmee..vmme_gpb..module-2": { + "vf_vgeraldine0..VfVgeraldine..vflorence_gpb..module-2": { "uuid": "41708296-e443-4c71-953f-d9a010f059e1", "invariantUuid": "1cca90b8-3490-495e-87da-3f3e4c57d5b9", "customizationUuid": "6add59e0-7fe1-4bc4-af48-f8812422ae7c", "description": null, - "name": "VfVmee..vmme_gpb..module-2", + "name": "VfVgeraldine..vflorence_gpb..module-2", "version": "2", - "modelCustomizationName": "VfVmee..vmme_gpb..module-2", + "modelCustomizationName": "VfVgeraldine..vflorence_gpb..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_gpb" + "vfModuleLabel": "vflorence_gpb" }, "inputs": {}, "volumeGroupAllowed": false }, - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {}, "volumeGroupAllowed": true } }, "volumeGroups": { - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {} } @@ -332,7 +327,7 @@ class MockReduxStore<T> { "modelCustomizationName": "ExtVL 0" } }, - "collectionResource": {}, + "collectionResources": {}, "configurations": { "Port Mirroring Configuration By Policy 0": { "uuid": "b4398538-e89d-4f13-b33d-ca323434ba50", @@ -353,72 +348,72 @@ class MockReduxStore<T> { }, "serviceProxies": {}, "vfModules": { - "vf_vmee0..VfVmee..vmme_vlc..module-1": { + "vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1": { "uuid": "522159d5-d6e0-4c2a-aa44-5a542a12a830", "invariantUuid": "98a7c88b-b577-476a-90e4-e25a5871e02b", "customizationUuid": "55b1be94-671a-403e-a26c-667e9c47d091", "description": null, - "name": "VfVmee..vmme_vlc..module-1", + "name": "VfVgeraldine..vflorence_vlc..module-1", "version": "2", - "modelCustomizationName": "VfVmee..vmme_vlc..module-1", + "modelCustomizationName": "VfVgeraldine..vflorence_vlc..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_vlc" + "vfModuleLabel": "vflorence_vlc" }, "inputs": {}, "volumeGroupAllowed": true }, - "vf_vmee0..VfVmee..vmme_gpb..module-2": { + "vf_vgeraldine0..VfVgeraldine..vflorence_gpb..module-2": { "uuid": "41708296-e443-4c71-953f-d9a010f059e1", "invariantUuid": "1cca90b8-3490-495e-87da-3f3e4c57d5b9", "customizationUuid": "6add59e0-7fe1-4bc4-af48-f8812422ae7c", "description": null, - "name": "VfVmee..vmme_gpb..module-2", + "name": "VfVgeraldine..vflorence_gpb..module-2", "version": "2", - "modelCustomizationName": "VfVmee..vmme_gpb..module-2", + "modelCustomizationName": "VfVgeraldine..vflorence_gpb..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_gpb" + "vfModuleLabel": "vflorence_gpb" }, "inputs": {}, "volumeGroupAllowed": false }, - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {}, "volumeGroupAllowed": true } }, "volumeGroups": { - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {} } @@ -439,7 +434,7 @@ class MockReduxStore<T> { "serviceEcompNaming": "false", "instantiationType": "A-La-Carte", "inputs": { - "2017488_adiodvpe0_ASN": { + "2017488_pasqualevpe0_ASN": { "type": "string", "description": "AV/PE", "entry_schema": null, @@ -451,11 +446,11 @@ class MockReduxStore<T> { } }, "vnfs": { - "2017-388_ADIOD-vPE 1": { + "2017-388_PASQUALE-vPE 1": { "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413", "invariantUuid": "00beb8f9-6d39-452f-816d-c709b9cbb87d", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-388_ADIOD-vPE", + "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", + "name": "2017-388_PASQUALE-vPE", "version": "1.0", "customizationUuid": "280dec31-f16d-488b-9668-4aae55d6648a", "inputs": { @@ -518,29 +513,29 @@ class MockReduxStore<T> { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, - "bandwidth": {"displayName": "bandwidth", "command": "get_input", "inputName": "adiodvpe0_bandwidth"}, + "bandwidth": {"displayName": "bandwidth", "command": "get_input", "inputName": "pasqualevpe0_bandwidth"}, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, - "ASN": {"displayName": "ASN", "command": "get_input", "inputName": "2017488_adiodvpe0_ASN"}, + "ASN": {"displayName": "ASN", "command": "get_input", "inputName": "2017488_pasqualevpe0_ASN"}, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -585,7 +580,7 @@ class MockReduxStore<T> { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -593,14 +588,14 @@ class MockReduxStore<T> { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -610,7 +605,7 @@ class MockReduxStore<T> { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -624,16 +619,16 @@ class MockReduxStore<T> { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-388_ADIOD-vPE 1", + "modelCustomizationName": "2017-388_PASQUALE-vPE 1", "vfModules": {}, "volumeGroups": {}, "vfcInstanceGroups": {} }, - "2017-388_ADIOD-vPE 0": { + "2017-388_PASQUALE-vPE 0": { "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168", "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-388_ADIOD-vPE", + "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", + "name": "2017-388_PASQUALE-vPE", "version": "4.0", "customizationUuid": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c", "inputs": { @@ -696,29 +691,29 @@ class MockReduxStore<T> { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, - "bandwidth": {"displayName": "bandwidth", "command": "get_input", "inputName": "adiodvpe0_bandwidth"}, + "bandwidth": {"displayName": "bandwidth", "command": "get_input", "inputName": "pasqualevpe0_bandwidth"}, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, - "ASN": {"displayName": "ASN", "command": "get_input", "inputName": "2017488_adiodvpe0_ASN"}, + "ASN": {"displayName": "ASN", "command": "get_input", "inputName": "2017488_pasqualevpe0_ASN"}, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -764,7 +759,7 @@ class MockReduxStore<T> { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -772,14 +767,14 @@ class MockReduxStore<T> { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -789,7 +784,7 @@ class MockReduxStore<T> { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -803,16 +798,16 @@ class MockReduxStore<T> { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-388_ADIOD-vPE 0", + "modelCustomizationName": "2017-388_PASQUALE-vPE 0", "vfModules": {}, "volumeGroups": {}, "vfcInstanceGroups": {} }, - "2017-488_ADIOD-vPE 0": { + "2017-488_PASQUALE-vPE 0": { "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09", "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-488_ADIOD-vPE", + "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", + "name": "2017-488_PASQUALE-vPE", "version": "5.0", "customizationUuid": "1da7b585-5e61-4993-b95e-8e6606c81e45", "inputs": { @@ -875,29 +870,29 @@ class MockReduxStore<T> { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, - "bandwidth": {"displayName": "bandwidth", "command": "get_input", "inputName": "adiodvpe0_bandwidth"}, + "bandwidth": {"displayName": "bandwidth", "command": "get_input", "inputName": "pasqualevpe0_bandwidth"}, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, - "ASN": {"displayName": "ASN", "command": "get_input", "inputName": "2017488_adiodvpe0_ASN"}, + "ASN": {"displayName": "ASN", "command": "get_input", "inputName": "2017488_pasqualevpe0_ASN"}, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -944,7 +939,7 @@ class MockReduxStore<T> { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -952,14 +947,14 @@ class MockReduxStore<T> { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -969,7 +964,7 @@ class MockReduxStore<T> { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -983,82 +978,82 @@ class MockReduxStore<T> { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-488_ADIOD-vPE 0", + "modelCustomizationName": "2017-488_PASQUALE-vPE 0", "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV" + "vfModuleLabel": "PASQUALE_vRE_BV" }, "inputs": { - "adiodvpe0_bandwidth": { + "pasqualevpe0_bandwidth": { "type": "string", "description": "Requested VPE bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, "constraints": null, "required": true, "default": "10" }, - "2017488_adiodvpe0_vnf_instance_name": { + "2017488_pasqualevpe0_vnf_instance_name": { "type": "string", "description": "The hostname assigned to the vpe.", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, "constraints": null, "required": true, "default": "mtnj309me6" }, - "2017488_adiodvpe0_vnf_config_template_version": { + "2017488_pasqualevpe0_vnf_config_template_version": { "type": "string", "description": "VPE Software Version", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, "constraints": null, "required": true, "default": "17.2" }, - "2017488_adiodvpe0_AIC_CLLI": { + "2017488_pasqualevpe0_AIC_CLLI": { "type": "string", "description": "AIC Site CLLI", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, "constraints": null, "required": true, "default": "ATLMY8GA" }, - "adiodvpe0_bandwidth_units": { + "pasqualevpe0_bandwidth_units": { "type": "string", "description": "Units of bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, "constraints": null, @@ -1068,116 +1063,116 @@ class MockReduxStore<T> { }, "volumeGroupAllowed": true }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db", "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091", "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", "description": null, - "name": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "version": "5", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "ADIOD_base_vPE_BV" + "vfModuleLabel": "PASQUALE_base_vPE_BV" }, "inputs": {}, "volumeGroupAllowed": false }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV" + "vfModuleLabel": "PASQUALE_vPFE_BV" }, "inputs": {}, "volumeGroupAllowed": true } }, "volumeGroups": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV" + "vfModuleLabel": "PASQUALE_vRE_BV" }, "inputs": { - "adiodvpe0_bandwidth": { + "pasqualevpe0_bandwidth": { "type": "string", "description": "Requested VPE bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, "constraints": null, "required": true, "default": "10" }, - "2017488_adiodvpe0_vnf_instance_name": { + "2017488_pasqualevpe0_vnf_instance_name": { "type": "string", "description": "The hostname assigned to the vpe.", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, "constraints": null, "required": true, "default": "mtnj309me6" }, - "2017488_adiodvpe0_vnf_config_template_version": { + "2017488_pasqualevpe0_vnf_config_template_version": { "type": "string", "description": "VPE Software Version", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, "constraints": null, "required": true, "default": "17.2" }, - "2017488_adiodvpe0_AIC_CLLI": { + "2017488_pasqualevpe0_AIC_CLLI": { "type": "string", "description": "AIC Site CLLI", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, "constraints": null, "required": true, "default": "ATLMY8GA" }, - "adiodvpe0_bandwidth_units": { + "pasqualevpe0_bandwidth_units": { "type": "string", "description": "Units of bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, "constraints": null, @@ -1186,19 +1181,19 @@ class MockReduxStore<T> { } } }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV" + "vfModuleLabel": "PASQUALE_vPFE_BV" }, "inputs": {} } @@ -1282,81 +1277,81 @@ class MockReduxStore<T> { "modelCustomizationName": "ExtVL 0" } }, - "collectionResource": {}, + "collectionResources": {}, "configurations": {}, "fabricConfigurations": {}, "serviceProxies": {}, "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV" + "vfModuleLabel": "PASQUALE_vRE_BV" }, "inputs": { - "adiodvpe0_bandwidth": { + "pasqualevpe0_bandwidth": { "type": "string", "description": "Requested VPE bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, "constraints": null, "required": true, "default": "10" }, - "2017488_adiodvpe0_vnf_instance_name": { + "2017488_pasqualevpe0_vnf_instance_name": { "type": "string", "description": "The hostname assigned to the vpe.", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, "constraints": null, "required": true, "default": "mtnj309me6" }, - "2017488_adiodvpe0_vnf_config_template_version": { + "2017488_pasqualevpe0_vnf_config_template_version": { "type": "string", "description": "VPE Software Version", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, "constraints": null, "required": true, "default": "17.2" }, - "2017488_adiodvpe0_AIC_CLLI": { + "2017488_pasqualevpe0_AIC_CLLI": { "type": "string", "description": "AIC Site CLLI", "entry_schema": null, - "inputProperties": {"sourceType": "HEAT", "vfModuleLabel": "ADIOD_vRE_BV", "paramName": "AIC_CLLI"}, + "inputProperties": {"sourceType": "HEAT", "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI"}, "constraints": null, "required": true, "default": "ATLMY8GA" }, - "adiodvpe0_bandwidth_units": { + "pasqualevpe0_bandwidth_units": { "type": "string", "description": "Units of bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, "constraints": null, @@ -1366,112 +1361,112 @@ class MockReduxStore<T> { }, "volumeGroupAllowed": true }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db", "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091", "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", "description": null, - "name": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "version": "5", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "ADIOD_base_vPE_BV" + "vfModuleLabel": "PASQUALE_base_vPE_BV" }, "inputs": {}, "volumeGroupAllowed": false }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV" + "vfModuleLabel": "PASQUALE_vPFE_BV" }, "inputs": {}, "volumeGroupAllowed": true } }, "volumeGroups": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV" + "vfModuleLabel": "PASQUALE_vRE_BV" }, "inputs": { - "adiodvpe0_bandwidth": { + "pasqualevpe0_bandwidth": { "type": "string", "description": "Requested VPE bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, "constraints": null, "required": true, "default": "10" }, - "2017488_adiodvpe0_vnf_instance_name": { + "2017488_pasqualevpe0_vnf_instance_name": { "type": "string", "description": "The hostname assigned to the vpe.", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, "constraints": null, "required": true, "default": "mtnj309me6" }, - "2017488_adiodvpe0_vnf_config_template_version": { + "2017488_pasqualevpe0_vnf_config_template_version": { "type": "string", "description": "VPE Software Version", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, "constraints": null, "required": true, "default": "17.2" }, - "2017488_adiodvpe0_AIC_CLLI": { + "2017488_pasqualevpe0_AIC_CLLI": { "type": "string", "description": "AIC Site CLLI", "entry_schema": null, - "inputProperties": {"sourceType": "HEAT", "vfModuleLabel": "ADIOD_vRE_BV", "paramName": "AIC_CLLI"}, + "inputProperties": {"sourceType": "HEAT", "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI"}, "constraints": null, "required": true, "default": "ATLMY8GA" }, - "adiodvpe0_bandwidth_units": { + "pasqualevpe0_bandwidth_units": { "type": "string", "description": "Units of bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, "constraints": null, @@ -1480,19 +1475,19 @@ class MockReduxStore<T> { } } }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV" + "vfModuleLabel": "PASQUALE_vPFE_BV" }, "inputs": {} } @@ -1503,21 +1498,21 @@ class MockReduxStore<T> { "serviceInstance": { "6e59c5de-f052-46fa-aa7e-2fca9d674c44": { "vnfs": { - "VF_vMee 0": { + "VF_vGeraldine 0": { "rollbackOnFailure": "true", "vfModules": { - "vf_vmee0..VfVmee..base_vmme..module-0": { - "vf_vmee0..VfVmee..base_vmme..module-0vmvzo": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0vmvzo": { "isMissingData": false, "sdncPreReload": null, "modelInfo": { "modelType": "VFmodule", "modelInvariantId": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "modelVersionId": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", - "modelName": "VfVmee..base_vmme..module-0", + "modelName": "VfVgeraldine..base_vflorence..module-0", "modelVersion": "2", "modelCustomizationId": "f8c040f1-7e51-4a11-aca8-acf256cfd861", - "modelCustomizationName": "VfVmee..base_vmme..module-0" + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0" }, "instanceParams": [{}], "trackById": "wmtm6sy2uj" @@ -1525,8 +1520,8 @@ class MockReduxStore<T> { } }, "isMissingData": true, - "originalName": "VF_vMee 0", - "vnfStoreKey": "VF_vMee 0", + "originalName": "VF_vGeraldine 0", + "vnfStoreKey": "VF_vGeraldine 0", "trackById": "p3wk448m5do", "uuid": "d6557200-ecf2-4641-8094-5393ae3aae60", "productFamilyId": "36b4733a-53f4-4cc8-8ff0-9172e5fc4b8e", @@ -1538,9 +1533,9 @@ class MockReduxStore<T> { "modelType": "VF", "modelInvariantId": "4160458e-f648-4b30-a176-43881ffffe9e", "modelVersionId": "6e59c5de-f052-46fa-aa7e-2fca9d674c44", - "modelName": "VF_vMee", + "modelName": "VF_vGeraldine", "modelVersion": "2.0", - "modelCustomizationName": "VF_vMee 0" + "modelCustomizationName": "VF_vGeraldine 0" } } }, @@ -1658,39 +1653,39 @@ class MockReduxStore<T> { } }, "vnfs": { - "2017-488_ADIOD-vPE 0": { + "2017-488_PASQUALE-vPE 0": { "rollbackOnFailure": "true", "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1sgoqi": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1sgoqi": { "instanceName": "yoav", "volumeGroupName": "123", "modelInfo": { "modelInvariantId": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "modelVersionId": "25284168-24bb-4698-8cb4-3f509146eca5", - "modelName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "modelVersion": "6", "modelCustomizationId": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "uuid": "25284168-24bb-4698-8cb4-3f509146eca5" }, "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "isMissingData": false, "instanceParams": [{ - "adiodvpe0_bandwidth": "10", - "2017488_adiodvpe0_vnf_instance_name": "mtnj309me6", - "2017488_adiodvpe0_vnf_config_template_version": "17.2", - "2017488_adiodvpe0_AIC_CLLI": "ATLMY8GA", - "adiodvpe0_bandwidth_units": "Gbps" + "pasqualevpe0_bandwidth": "10", + "2017488_pasqualevpe0_vnf_instance_name": "mtnj309me6", + "2017488_pasqualevpe0_vnf_config_template_version": "17.2", + "2017488_pasqualevpe0_AIC_CLLI": "ATLMY8GA", + "pasqualevpe0_bandwidth_units": "Gbps" }] } } }, "isMissingData": false, - "originalName": "2017-488_ADIOD-vPE 0", - "vnfStoreKey": "2017-488_ADIOD-vPE 0", + "originalName": "2017-488_PASQUALE-vPE 0", + "vnfStoreKey": "2017-488_PASQUALE-vPE 0", "trackById": "o65b26t2thj", - "instanceName": "2017488_ADIODvPE", + "instanceName": "2017488_PASQUALEvPE", "productFamilyId": "ebc3bc3d-62fd-4a3f-a037-f619df4ff034", "lcpCloudRegionId": "hvf6", "tenantId": "bae71557c5bb4d5aac6743a4e5f1d054", @@ -1700,16 +1695,16 @@ class MockReduxStore<T> { "modelInfo": { "modelInvariantId": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", "modelVersionId": "69e09f68-8b63-4cc9-b9ff-860960b5db09", - "modelName": "2017-488_ADIOD-vPE", + "modelName": "2017-488_PASQUALE-vPE", "modelVersion": "5.0", "modelCustomizationId": "1da7b585-5e61-4993-b95e-8e6606c81e45", - "modelCustomizationName": "2017-488_ADIOD-vPE 0", + "modelCustomizationName": "2017-488_PASQUALE-vPE 0", "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09" }, "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09" } }, - "instanceParams": [{"2017488_adiodvpe0_ASN": "AV_vPE"}], + "instanceParams": [{"2017488_pasqualevpe0_ASN": "AV_vPE"}], "validationCounter": 0, "existingNames": {"123": "", "instancename": "", "yoav": "", "extvl": ""}, "existingVNFCounterMap": {"69e09f68-8b63-4cc9-b9ff-860960b5db09": 1}, @@ -1719,7 +1714,7 @@ class MockReduxStore<T> { "subscriptionServiceType": "TYLER SILVIA", "owningEntityId": "d61e6f2d-12fa-4cc2-91df-7c244011d6fc", "productFamilyId": "17cc1042-527b-11e6-beb8-9e71128cae77", - "lcpCloudRegionId": "JANET25", + "lcpCloudRegionId": "AAIAIC25", "tenantId": "092eb9e8e4b7412e8787dd091bc58e86", "aicZoneId": "JAG1", "projectName": null, @@ -1750,12 +1745,12 @@ class MockReduxStore<T> { }, "lcpRegionsAndTenants": { "lcpRegionList": [{ - "id": "JANET25", - "name": "JANET25", + "id": "AAIAIC25", + "name": "AAIAIC25", "isPermitted": true }, {"id": "hvf6", "name": "hvf6", "isPermitted": true}], "lcpRegionsTenantsMap": { - "JANET25": [{ + "AAIAIC25": [{ "id": "092eb9e8e4b7412e8787dd091bc58e86", "name": "USP-SIP-IC-24335-T-01", "isPermitted": true @@ -1765,23 +1760,123 @@ class MockReduxStore<T> { "name": "AIN Web Tool-15-D-testalexandria", "isPermitted": true }, { - "id": "d0a3e3f2964542259d155a81c41aadc3", - "name": "test-hvf6-09", + "id": "229bcdc6eaeb4ca59d55221141d01f8e", + "name": "AIN Web Tool-15-D-STTest2", + "isPermitted": true + }, { + "id": "1178612d2b394be4834ad77f567c0af2", + "name": "AIN Web Tool-15-D-SSPtestcustome", + "isPermitted": true + }, { + "id": "19c5ade915eb461e8af52fb2fd8cd1f2", + "name": "AIN Web Tool-15-D-UncheckedEcopm", + "isPermitted": true + }, { + "id": "de007636e25249238447264a988a927b", + "name": "AIN Web Tool-15-D-dfsdf", + "isPermitted": true + }, { + "id": "62f29b3613634ca6a3065cbe0e020c44", + "name": "AIN/SMS-16-D-Multiservices1", + "isPermitted": true + }, { + "id": "649289e30d3244e0b48098114d63c2aa", + "name": "AIN Web Tool-15-D-SSPST66", + "isPermitted": true + }, { + "id": "3f21eeea6c2c486bba31dab816c05a32", + "name": "AIN Web Tool-15-D-ASSPST47", + "isPermitted": true + }, { + "id": "f60ce21d3ee6427586cff0d22b03b773", + "name": "CESAR-100-D-sspjg67246", + "isPermitted": true + }, { + "id": "8774659e425f479895ae091bb5d46560", + "name": "CESAR-100-D-sspjg68359", + "isPermitted": true + }, { + "id": "624eb554b0d147c19ff8885341760481", + "name": "AINWebTool-15-D-iftach", + "isPermitted": true + }, { + "id": "214f55f5fc414c678059c383b03e4962", + "name": "CESAR-100-D-sspjg612401", + "isPermitted": true + }, { + "id": "c90666c291664841bb98e4d981ff1db5", + "name": "CESAR-100-D-sspjg621340", + "isPermitted": true + }, { + "id": "ce5b6bc5c7b348e1bf4b91ac9a174278", + "name": "sspjg621351cloned", + "isPermitted": true + }, { + "id": "b386b768a3f24c8e953abbe0b3488c02", + "name": "AINWebTool-15-D-eteancomp", + "isPermitted": true + }, { + "id": "dc6c4dbfd225474e9deaadd34968646c", + "name": "AINWebTool-15-T-SPFET", + "isPermitted": true + }, { + "id": "02cb5030e9914aa4be120bd9ed1e19eb", + "name": "AINWebTool-15-X-eeweww", + "isPermitted": true + }, { + "id": "f2f3830e4c984d45bcd00e1a04158a79", + "name": "CESAR-100-D-spjg61909", + "isPermitted": true + }, { + "id": "05b91bd5137f4929878edd965755c06d", + "name": "CESAR-100-D-sspjg621512cloned", + "isPermitted": true + }, { + "id": "7002fbe8482d4a989ddf445b1ce336e0", + "name": "AINWebTool-15-X-vdr", + "isPermitted": true + }, { + "id": "4008522be43741dcb1f5422022a2aa0b", + "name": "AINWebTool-15-D-ssasa", + "isPermitted": true + }, { + "id": "f44e2e96a1b6476abfda2fa407b00169", + "name": "AINWebTool-15-D-PFNPT", + "isPermitted": true + }, { + "id": "b69a52bec8a84669a37a1e8b72708be7", + "name": "AINWebTool-15-X-vdre", + "isPermitted": true + }, { + "id": "fac7d9fd56154caeb9332202dcf2969f", + "name": "AINWebTool-15-X-NONPODECOMP", + "isPermitted": true + }, { + "id": "2d34d8396e194eb49969fd61ffbff961", + "name": "DN5242-Nov16-T5", + "isPermitted": true + }, { + "id": "cb42a77ff45b48a8b8deb83bb64acc74", + "name": "ro-T11", "isPermitted": true }, { "id": "fa45ca53c80b492fa8be5477cd84fc2b", "name": "ro-T112", "isPermitted": true }, { - "id": "cbb99fe4ada84631b7baf046b6fd2044", - "name": "DN5242-Nov16-T3", + "id": "4914ab0ab3a743e58f0eefdacc1dde77", + "name": "DN5242-Nov21-T1", + "isPermitted": true + }, { + "id": "d0a3e3f2964542259d155a81c41aadc3", + "name": "test-hvf6-09", "isPermitted": true - }] + }, {"id": "cbb99fe4ada84631b7baf046b6fd2044", "name": "DN5242-Nov16-T3", "isPermitted": true}] } }, "productFamilies": [{ "id": "ebc3bc3d-62fd-4a3f-a037-f619df4ff034", - "name": "SCOTTIE", + "name": "ERICA", "isPermitted": true }, { "id": "17cc1042-527b-11e6-beb8-9e71128cae77", @@ -1797,7 +1892,7 @@ class MockReduxStore<T> { "isPermitted": true }, {"id": "vTerrance", "name": "vTerrance", "isPermitted": true}, { "id": "323d69d9-2efe-4r45-ay0a-89ea7ard4e6f", - "name": "vSCP", + "name": "vEsmeralda", "isPermitted": true }, { "id": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", @@ -1820,7 +1915,7 @@ class MockReduxStore<T> { "name": "TYLER SILVIA", "isPermitted": true }, {"id": "b6a3f28c-eebf-494c-a900-055cc7c874ce", "name": "VROUTER", "isPermitted": true}, { - "id": "Cisneros", + "id": "vMuriel", "name": "vMuriel", "isPermitted": true }, { @@ -1835,7 +1930,7 @@ class MockReduxStore<T> { "id": "vSalvatore", "name": "vSalvatore", "isPermitted": true - }, {"id": "d7bb0a21-66f2-4e6d-87d9-9ef3ced63ae4", "name": "Josefina", "isPermitted": true}, { + }, {"id": "d7bb0a21-66f2-4e6d-87d9-9ef3ced63ae4", "name": "JOSEFINA", "isPermitted": true}, { "id": "vHubbard", "name": "vHubbard", "isPermitted": true @@ -1855,21 +1950,21 @@ class MockReduxStore<T> { "isPermitted": false }, {"id": "5", "name": "Kennedy", "isPermitted": false}, { "id": "6", - "name": "vSEGW", + "name": "vPorfirio", "isPermitted": false }, {"id": "7", "name": "vVM", "isPermitted": false}, { "id": "8", "name": "vOTA", "isPermitted": false - }, {"id": "9", "name": "vMME", "isPermitted": false}, { + }, {"id": "9", "name": "vFLORENCE", "isPermitted": false}, { "id": "10", "name": "vMNS", "isPermitted": false - }, {"id": "11", "name": "vSCP", "isPermitted": false}, { + }, {"id": "11", "name": "vEsmeralda", "isPermitted": false}, { "id": "12", "name": "VPMS", "isPermitted": false - }, {"id": "13", "name": "vMMSC", "isPermitted": false}, { + }, {"id": "13", "name": "vWINIFRED", "isPermitted": false}, { "id": "14", "name": "SSD", "isPermitted": false @@ -1883,28 +1978,199 @@ class MockReduxStore<T> { "isPermitted": false }] }, - "aicZones": [ - { - "id": "NFT1", - "name": "NFTJSSSS-NFT1" - }, - { - "id": "JAG1", - "name": "YUDFJULP-JAG1" - }, - { - "id": "YYY1", - "name": "UUUAIAAI-YYY1" - }, - { - "id": "AVT1", - "name": "AVTRFLHD-AVT1" - }, - { - "id": "ATL34", - "name": "ATLSANAI-ATL34" - } - ], + "aicZones": [{"id": "NFT1", "name": "NFTJSSSS-NFT1"}, {"id": "JAG1", "name": "YUDFJULP-JAG1"}, { + "id": "YYY1", + "name": "UUUAIAAI-YYY1" + }, {"id": "BAN1", "name": "VSDKYUTP-BAN1"}, {"id": "DKJ1", "name": "DKJSJDKA-DKJ1"}, { + "id": "MCS1", + "name": "ASACMAMS-MCS1" + }, {"id": "UIO1", "name": "uioclli1-UIO1"}, {"id": "RAJ1", "name": "YGBIJNLQ-RAJ1"}, { + "id": "OPA1", + "name": "opaclli1-OPA1" + }, {"id": "SDE1", "name": "ZXCVBNMA-SDE1"}, {"id": "VEN2", "name": "FGHJUHIL-VEN2"}, { + "id": "ORL1", + "name": "ORLDFLMA-ORL1" + }, {"id": "JAD1", "name": "JADECLLI-JAD1"}, {"id": "ZXL1", "name": "LWLWCANN-ZXL1"}, { + "id": "CKL1", + "name": "CLKSKCKK-CKL1" + }, {"id": "SDF1", "name": "sdfclli1-SDF1"}, {"id": "RAD1", "name": "RADICAL1-RAD1"}, { + "id": "KIT1", + "name": "BHYJFGLN-KIT1" + }, {"id": "REL1", "name": "INGERFGT-REL1"}, {"id": "JNL1", "name": "CJALSDAC-JNL1"}, { + "id": "OLK1", + "name": "OLKOLKLS-OLK1" + }, {"id": "CHI1", "name": "CHILLIWE-CHI1"}, {"id": "UUU4", "name": "UUUAAAUU-UUU4"}, { + "id": "TUF1", + "name": "TUFCLLI1-TUF1" + }, {"id": "KJN1", "name": "CKALDKSA-KJN1"}, {"id": "SAM1", "name": "SNDGCA64-SAN1"}, { + "id": "SCK1", + "name": "SCKSCKSK-SCK1" + }, {"id": "HJH1", "name": "AOEEQQQD-HJH1"}, {"id": "HGD1", "name": "SDFQWHGD-HGD1"}, { + "id": "KOR1", + "name": "HYFLNBVT-KOR1" + }, {"id": "ATL43", "name": "AICLOCID-ATL43"}, {"id": "ATL54", "name": "AICFTAAI-ATL54"}, { + "id": "ATL66", + "name": "CLLIAAII-ATL66" + }, {"id": "VEL1", "name": "BNMLKUIK-VEL1"}, {"id": "ICC1", "name": "SANJITAT-ICC1"}, { + "id": "MNT11", + "name": "WSXEFBTH-MNT11" + }, {"id": "DEF2", "name": "WSBHGTYL-DEF2"}, {"id": "MAD11", "name": "SDFQWGKL-MAD11"}, { + "id": "OLG1", + "name": "OLHOLHOL-OLG1" + }, {"id": "GAR1", "name": "NGFVSJKO-GAR1"}, {"id": "SAN22", "name": "GNVLSCTL-SAN22"}, { + "id": "HRG1", + "name": "HRGHRGGS-HRG1" + }, {"id": "JCS1", "name": "JCSJSCJS-JCS1"}, {"id": "DHA12", "name": "WSXEDECF-DHA12"}, { + "id": "HJE1", + "name": "AOEEWWWD-HJE1" + }, {"id": "NCA1", "name": "NCANCANN-NCA1"}, {"id": "IOP1", "name": "iopclli1-IOP1"}, { + "id": "RTY1", + "name": "rtyclli1-RTY1" + }, {"id": "KAP1", "name": "HIOUYTRQ-KAP1"}, {"id": "ZEN1", "name": "ZENCLLI1-ZEN1"}, { + "id": "HKA1", + "name": "JAKHLASS-HKA1" + }, {"id": "CQK1", "name": "CQKSCAKK-CQK1"}, {"id": "SAI1", "name": "UBEKQLPD-SAI1"}, { + "id": "ERT1", + "name": "ertclli1-ERT1" + }, {"id": "IBB1", "name": "PLMKOIJU-IBB1"}, {"id": "TIR2", "name": "PLKINHYI-TIR2"}, { + "id": "HSD1", + "name": "CHASKCDS-HSD1" + }, {"id": "SLF78", "name": "SDCTLFN1-SLF78"}, {"id": "SEE78", "name": "SDCTEEE4-SEE78"}, { + "id": "SAN13", + "name": "TOKYJPFA-SAN13" + }, {"id": "SAA78", "name": "SDCTAAA1-SAA78"}, {"id": "LUC1", "name": "ATLDFGYC-LUC1"}, { + "id": "AMD13", + "name": "MEMATLAN-AMD13" + }, {"id": "TOR1", "name": "TOROONXN-TOR1"}, {"id": "QWE1", "name": "QWECLLI1-QWE1"}, { + "id": "ZOG1", + "name": "ZOGASTRO-ZOG1" + }, {"id": "CAL33", "name": "CALIFORN-CAL33"}, {"id": "SHH78", "name": "SDIT1HHH-SHH78"}, { + "id": "DSA1", + "name": "LKJHGFDS-DSA1" + }, {"id": "CLG1", "name": "CLGRABAD-CLG1"}, {"id": "BNA1", "name": "BNARAGBK-BNA1"}, { + "id": "ATL84", + "name": "CANTTCOC-ATL84" + }, {"id": "APP1", "name": "WBHGTYUI-APP1"}, {"id": "RJN1", "name": "RJNRBZAW-RJN1"}, { + "id": "EHH78", + "name": "SDCSHHH5-EHH78" + }, {"id": "mac10", "name": "PKGTESTF-mac10"}, {"id": "SXB78", "name": "SDCTGXB1-SXB78"}, { + "id": "SAX78", + "name": "SDCTAXG1-SAX78" + }, {"id": "SYD1", "name": "SYDNAUBV-SYD1"}, {"id": "TOK1", "name": "TOKYJPFA-TOK1"}, { + "id": "KGM2", + "name": "KGMTNC20-KGM2" + }, {"id": "DCC1b", "name": "POIUYTGH-DCC1b"}, {"id": "SKK78", "name": "SDCTKKK1-SKK78"}, { + "id": "SGG78", + "name": "SDCTGGG1-SGG78" + }, {"id": "SJJ78", "name": "SDCTJJJ1-SJJ78"}, {"id": "SBX78", "name": "SDCTBXG1-SBX78"}, { + "id": "LAG1", + "name": "LARGIZON-LAG1" + }, {"id": "IAA1", "name": "QAZXSWED-IAA1"}, {"id": "POI1", "name": "PLMNJKIU-POI1"}, { + "id": "LAG1a", + "name": "LARGIZON-LAG1a" + }, {"id": "PBL1", "name": "PBLAPBAI-PBL1"}, {"id": "LAG45", "name": "LARGIZON-LAG1a"}, { + "id": "MAR1", + "name": "MNBVCXZM-MAR1" + }, {"id": "HST70", "name": "HSTNTX70-HST70"}, {"id": "DCC1a", "name": "POIUYTGH-DCC1a"}, { + "id": "TOL1", + "name": "TOLDOH21-TOL1" + }, {"id": "LON1", "name": "LONEENCO-LON1"}, {"id": "SJU78", "name": "SDIT1JUB-SJU78"}, { + "id": "STN27", + "name": "HSTNTX01-STN27" + }, {"id": "SSW56", "name": "ss8126GT-SSW56"}, {"id": "SBB78", "name": "SDIT1BBB-SBB78"}, { + "id": "DCC3", + "name": "POIUYTGH-DCC3" + }, {"id": "GNV1", "name": "GNVLSCTL-GNV1"}, {"id": "WAS1", "name": "WASHDCSW-WAS1"}, { + "id": "TOY1", + "name": "TORYONNZ-TOY1" + }, {"id": "STT1", "name": "STTLWA02-STT1"}, {"id": "STG1", "name": "STTGGE62-STG1"}, { + "id": "SLL78", + "name": "SDCTLLL1-SLL78" + }, {"id": "SBU78", "name": "SDIT1BUB-SBU78"}, {"id": "ATL2", "name": "ATLNGANW-ATL2"}, { + "id": "BOT1", + "name": "BOTHWAKY-BOT1" + }, {"id": "SNG1", "name": "SNGPSIAU-SNG1"}, {"id": "NYC1", "name": "NYCMNY54-NYC1"}, { + "id": "LAG1b", + "name": "LARGIZON-LAG1b" + }, {"id": "AMD15", "name": "AMDFAA01-AMD15"}, {"id": "SNA1", "name": "SNANTXCA-SNA1"}, { + "id": "PLT1", + "name": "PLTNCA60-PLT1" + }, {"id": "TLP1", "name": "TLPNXM18-TLP1"}, {"id": "SDD81", "name": "SAIT1DD6-SDD81"}, { + "id": "DCC1", + "name": "POIUYTGH-DCC1" + }, {"id": "DCC2", "name": "POIUYTGH-DCC2"}, {"id": "OKC1", "name": "OKCBOK55-OKC1"}, { + "id": "PAR1", + "name": "PARSFRCG-PAR1" + }, {"id": "TES36", "name": "ABCEETES-TES36"}, {"id": "COM1", "name": "PLMKOPIU-COM1"}, { + "id": "ANI1", + "name": "ATLNGTRE-ANI1" + }, {"id": "SDG78", "name": "SDIT1BDG-SDG78"}, {"id": "mac20", "name": "PKGTESTF-mac20"}, { + "id": "DSF45", + "name": "DSFBG123-DSF45" + }, {"id": "HST25", "name": "HSTNTX01-HST25"}, {"id": "AMD18", "name": "AUDIMA01-AMD18"}, { + "id": "SAA80", + "name": "SAIT9AA3-SAA80" + }, {"id": "SSA56", "name": "SSIT2AA7-SSA56"}, {"id": "SDD82", "name": "SAIT1DD9-SDD82"}, { + "id": "JCV1", + "name": "JCVLFLBW-JCV1" + }, {"id": "SUL2", "name": "WERTYUJK-SUL2"}, {"id": "PUR1", "name": "purelyde-PUR1"}, { + "id": "FDE55", + "name": "FDERT555-FDE55" + }, {"id": "SITE", "name": "LONEENCO-SITE"}, {"id": "ATL1", "name": "ATLNGAMA-ATL1"}, { + "id": "JUL1", + "name": "ZXCVBNMM-JUL1" + }, {"id": "TAT34", "name": "TESAAISB-TAT34"}, {"id": "XCP12", "name": "CHKGH123-XCP12"}, { + "id": "RAI1", + "name": "poiuytre-RAI1" + }, {"id": "HPO1", "name": "ATLNGAUP-HPO1"}, {"id": "KJF12", "name": "KJFDH123-KJF12"}, { + "id": "SCC80", + "name": "SAIT9CC3-SCC80" + }, {"id": "SAA12", "name": "SAIT9AF8-SAA12"}, {"id": "SAA14", "name": "SAIT1AA9-SAA14"}, { + "id": "ATL35", + "name": "TTESSAAI-ATL35" + }, {"id": "CWY1", "name": "CWYMOWBS-CWY1"}, {"id": "ATL76", "name": "TELEPAAI-ATL76"}, { + "id": "DSL12", + "name": "DSLFK242-DSL12" + }, {"id": "ATL53", "name": "AAIATLTE-ATL53"}, {"id": "SAA11", "name": "SAIT9AA2-SAA11"}, { + "id": "ATL62", + "name": "TESSASCH-ATL62" + }, {"id": "AUG1", "name": "ASDFGHJK-AUG1"}, {"id": "POI22", "name": "POIUY123-POI22"}, { + "id": "SAA13", + "name": "SAIT1AA9-SAA13" + }, {"id": "BHY17", "name": "BHYTFRF3-BHY17"}, {"id": "LIS1", "name": "HOSTPROF-LIS1"}, { + "id": "SIP1", + "name": "ZXCVBNMK-SIP1" + }, {"id": "ATL99", "name": "TEESTAAI-ATL43"}, {"id": "ATL64", "name": "FORLOAAJ-ATL64"}, { + "id": "TAT33", + "name": "TESAAISA-TAT33" + }, {"id": "RAD10", "name": "INDIPUNE-RAD10"}, {"id": "RTW5", "name": "BHYTFRY4-RTW5"}, { + "id": "JGS1", + "name": "KSJKKKKK-JGS1" + }, {"id": "ATL98", "name": "TEESTAAI-ATL43"}, {"id": "WAN1", "name": "LEIWANGW-WAN1"}, { + "id": "ATL44", + "name": "ATLSANAB-ATL44" + }, {"id": "RTD2", "name": "BHYTFRk4-RTD2"}, {"id": "NIR1", "name": "ORFLMANA-NIR1"}, { + "id": "ATL75", + "name": "SANAAIRE-ATL75" + }, {"id": "NUM1", "name": "QWERTYUI-NUM1"}, {"id": "hvf32", "name": "MDTWNJ21-hvf32"}, { + "id": "RTZ4", + "name": "BHYTFRZ6-RTZ4" + }, {"id": "ATL56", "name": "ATLSANAC-ATL56"}, {"id": "AMS1", "name": "AMSTNLBW-AMS1"}, { + "id": "RCT1", + "name": "AMSTERNL-RCT1" + }, {"id": "JAN1", "name": "ORFLMATT-JAN1"}, {"id": "ABC14", "name": "TESAAISA-ABC14"}, { + "id": "TAT37", + "name": "TESAAISD-TAT37" + }, {"id": "MIC54", "name": "MICHIGAN-MIC54"}, {"id": "ABC11", "name": "ATLSANAI-ABC11"}, { + "id": "AMF11", + "name": "AMDOCS01-AMF11" + }, {"id": "ATL63", "name": "ATLSANEW-ATL63"}, {"id": "ABC12", "name": "ATLSECIA-ABC12"}, { + "id": "hvf20", + "name": "MDTWNJ21-hvf20" + }, {"id": "ABC15", "name": "AAITESAN-ABC15"}, {"id": "AVT1", "name": "AVTRFLHD-AVT1"}, { + "id": "ATL34", + "name": "ATLSANAI-ATL34" + }], "categoryParameters": { "owningEntityList": [{ "id": "aaa1", diff --git a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/network/network.popup.service.ts b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/network/network.popup.service.ts index 7f32360f5..a352e770f 100644 --- a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/network/network.popup.service.ts +++ b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/network/network.popup.service.ts @@ -89,13 +89,13 @@ export class NetworkPopupService implements GenericPopupInterface { new ModelInformationItem("Invariant UUID", "invariantUuid", [this.model.invariantUuid], Constants.ServicePopup.TOOLTIP_INVARIANT_UUID, true), new ModelInformationItem("Service type", "serviceType", [this.serviceModel.serviceType]), new ModelInformationItem("Service role", "serviceRole", [this.serviceModel.serviceRole]), - new ModelInformationItem("Network roles", "network-role", this.model.roles, "", false) + new ModelInformationItem("Network roles", "role", this.model.roles, "", false) ]; }); } getControls(serviceId: string, networkName: string, networkStoreKey: string, isUpdateMode: boolean) { - if (this._store.getState().service.serviceHierarchy[serviceId].service.instantiationType === 'Macro') { + if (this._store.getState().service.serviceHierarchy[serviceId].service.vidNotions.instantiationType === 'Macro') { return this._networkControlGenerator.getMacroFormControls(serviceId, networkStoreKey, networkName, isUpdateMode); } else { return this._networkControlGenerator.getAlaCarteFormControls(serviceId, networkStoreKey, networkName, isUpdateMode); diff --git a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/service/service.popup.service.spec.ts b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/service/service.popup.service.spec.ts index 5e9492b59..3ca3c05b4 100644 --- a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/service/service.popup.service.spec.ts +++ b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/service/service.popup.service.spec.ts @@ -28,17 +28,12 @@ class MockReduxStore<T> { "FLAG_NETWORK_TO_ASYNC_INSTANTIATION": false, "FLAG_SHOW_ASSIGNMENTS": true, "FLAG_FABRIC_CONFIGURATION_ASSIGNMENTS": true, - "FLAG_UNASSIGN_SERVICE": true, "FLAG_SHOW_VERIFY_SERVICE": false, - "FLAG_COLLECTION_RESOURCE_SUPPORT": true, - "FLAG_DUPLICATE_VNF": true, "FLAG_SERVICE_MODEL_CACHE": true, "FLAG_ADVANCED_PORTS_FILTER": true, "CREATE_INSTANCE_TEST": false, "FLAG_SETTING_DEFAULTS_IN_DRAWING_BOARD": false, "FLAG_REGION_ID_FROM_REMOTE": true, - "FLAG_ASYNC_INSTANTIATION": true, - "FLAG_ASYNC_JOBS": true, "EMPTY_DRAWING_BOARD_TEST": false, "FLAG_ADD_MSO_TESTAPI_FIELD": true }, @@ -60,7 +55,7 @@ class MockReduxStore<T> { "serviceEcompNaming": "false", "instantiationType": "Macro", "inputs": { - "2017488_adiodvpe0_ASN_1": { + "2017488_pasqualevpe0_ASN_1": { "type": "string", "description": "AV/PE", "entry_schema": null, @@ -69,7 +64,7 @@ class MockReduxStore<T> { "required": true, "default": "AV_vPE" }, - "2017488_adiodvpe0_ASN_2": { + "2017488_pasqualevpe0_ASN_2": { "type": "number", "description": "AV/PE", "entry_schema": null, @@ -78,7 +73,7 @@ class MockReduxStore<T> { "required": true, "default": 2 }, - "2017488_adiodvpe0_ASN_3": { + "2017488_pasqualevpe0_ASN_3": { "type": "string", "description": "AV/PE", "entry_schema": null, @@ -87,7 +82,7 @@ class MockReduxStore<T> { "required": false, "default": "AV_vPE" }, - "2017488_adiodvpe0_ASN_4": { + "2017488_pasqualevpe0_ASN_4": { "type": "string", "description": "AV/PE", "entry_schema": null, @@ -99,11 +94,11 @@ class MockReduxStore<T> { } }, "vnfs": { - "VF_vMee 0": { + "VF_vGeraldine 0": { "uuid": "d6557200-ecf2-4641-8094-5393ae3aae60", "invariantUuid": "4160458e-f648-4b30-a176-43881ffffe9e", - "description": "VSP_vMee", - "name": "VF_vMee", + "description": "VSP_vGeraldine", + "name": "VF_vGeraldine", "version": "2.0", "customizationUuid": "91415b44-753d-494c-926a-456a9172bbb9", "inputs": {}, @@ -274,74 +269,74 @@ class MockReduxStore<T> { "sctp-b-egress-dst_end_port": "65535.0" }, "type": "VF", - "modelCustomizationName": "VF_vMee 0", + "modelCustomizationName": "VF_vGeraldine 0", "vfModules": { - "vf_vmee0..VfVmee..vmme_vlc..module-1": { + "vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1": { "uuid": "522159d5-d6e0-4c2a-aa44-5a542a12a830", "invariantUuid": "98a7c88b-b577-476a-90e4-e25a5871e02b", "customizationUuid": "55b1be94-671a-403e-a26c-667e9c47d091", "description": null, - "name": "VfVmee..vmme_vlc..module-1", + "name": "VfVgeraldine..vflorence_vlc..module-1", "version": "2", - "modelCustomizationName": "VfVmee..vmme_vlc..module-1", + "modelCustomizationName": "VfVgeraldine..vflorence_vlc..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_vlc" + "vfModuleLabel": "vflorence_vlc" }, "inputs": {}, "volumeGroupAllowed": true }, - "vf_vmee0..VfVmee..vmme_gpb..module-2": { + "vf_vgeraldine0..VfVgeraldine..vflorence_gpb..module-2": { "uuid": "41708296-e443-4c71-953f-d9a010f059e1", "invariantUuid": "1cca90b8-3490-495e-87da-3f3e4c57d5b9", "customizationUuid": "6add59e0-7fe1-4bc4-af48-f8812422ae7c", "description": null, - "name": "VfVmee..vmme_gpb..module-2", + "name": "VfVgeraldine..vflorence_gpb..module-2", "version": "2", - "modelCustomizationName": "VfVmee..vmme_gpb..module-2", + "modelCustomizationName": "VfVgeraldine..vflorence_gpb..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_gpb" + "vfModuleLabel": "vflorence_gpb" }, "inputs": {}, "volumeGroupAllowed": false }, - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {}, "volumeGroupAllowed": true } }, "volumeGroups": { - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {} } @@ -370,7 +365,7 @@ class MockReduxStore<T> { "modelCustomizationName": "ExtVL 0" } }, - "collectionResource": {}, + "collectionResources": {}, "configurations": { "Port Mirroring Configuration By Policy 0": { "uuid": "b4398538-e89d-4f13-b33d-ca323434ba50", @@ -391,72 +386,72 @@ class MockReduxStore<T> { }, "serviceProxies": {}, "vfModules": { - "vf_vmee0..VfVmee..vmme_vlc..module-1": { + "vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1": { "uuid": "522159d5-d6e0-4c2a-aa44-5a542a12a830", "invariantUuid": "98a7c88b-b577-476a-90e4-e25a5871e02b", "customizationUuid": "55b1be94-671a-403e-a26c-667e9c47d091", "description": null, - "name": "VfVmee..vmme_vlc..module-1", + "name": "VfVgeraldine..vflorence_vlc..module-1", "version": "2", - "modelCustomizationName": "VfVmee..vmme_vlc..module-1", + "modelCustomizationName": "VfVgeraldine..vflorence_vlc..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_vlc" + "vfModuleLabel": "vflorence_vlc" }, "inputs": {}, "volumeGroupAllowed": true }, - "vf_vmee0..VfVmee..vmme_gpb..module-2": { + "vf_vgeraldine0..VfVgeraldine..vflorence_gpb..module-2": { "uuid": "41708296-e443-4c71-953f-d9a010f059e1", "invariantUuid": "1cca90b8-3490-495e-87da-3f3e4c57d5b9", "customizationUuid": "6add59e0-7fe1-4bc4-af48-f8812422ae7c", "description": null, - "name": "VfVmee..vmme_gpb..module-2", + "name": "VfVgeraldine..vflorence_gpb..module-2", "version": "2", - "modelCustomizationName": "VfVmee..vmme_gpb..module-2", + "modelCustomizationName": "VfVgeraldine..vflorence_gpb..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_gpb" + "vfModuleLabel": "vflorence_gpb" }, "inputs": {}, "volumeGroupAllowed": false }, - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {}, "volumeGroupAllowed": true } }, "volumeGroups": { - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {} } @@ -477,7 +472,7 @@ class MockReduxStore<T> { "serviceEcompNaming": "false", "instantiationType": "A-La-Carte", "inputs": { - "2017488_adiodvpe0_ASN_1": { + "2017488_pasqualevpe0_ASN_1": { "type": "string", "description": "AV/PE", "entry_schema": null, @@ -486,7 +481,7 @@ class MockReduxStore<T> { "required": true, "default": "AV_vPE" }, - "2017488_adiodvpe0_ASN_2": { + "2017488_pasqualevpe0_ASN_2": { "type": "number", "description": "AV/PE", "entry_schema": null, @@ -495,7 +490,7 @@ class MockReduxStore<T> { "required": true, "default": 2 }, - "2017488_adiodvpe0_ASN_3": { + "2017488_pasqualevpe0_ASN_3": { "type": "string", "description": "AV/PE", "entry_schema": null, @@ -504,7 +499,7 @@ class MockReduxStore<T> { "required": false, "default": "AV_vPE" }, - "2017488_adiodvpe0_ASN_4": { + "2017488_pasqualevpe0_ASN_4": { "type": "string", "description": "AV/PE", "entry_schema": null, @@ -516,11 +511,11 @@ class MockReduxStore<T> { } }, "vnfs": { - "2017-388_ADIOD-vPE 1": { + "2017-388_PASQUALE-vPE 1": { "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413", "invariantUuid": "00beb8f9-6d39-452f-816d-c709b9cbb87d", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-388_ADIOD-vPE", + "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", + "name": "2017-388_PASQUALE-vPE", "version": "1.0", "customizationUuid": "280dec31-f16d-488b-9668-4aae55d6648a", "inputs": { @@ -583,29 +578,29 @@ class MockReduxStore<T> { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, - "bandwidth": {"displayName": "bandwidth", "command": "get_input", "inputName": "adiodvpe0_bandwidth"}, + "bandwidth": {"displayName": "bandwidth", "command": "get_input", "inputName": "pasqualevpe0_bandwidth"}, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, - "ASN": {"displayName": "ASN", "command": "get_input", "inputName": "2017488_adiodvpe0_ASN"}, + "ASN": {"displayName": "ASN", "command": "get_input", "inputName": "2017488_pasqualevpe0_ASN"}, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -650,7 +645,7 @@ class MockReduxStore<T> { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -658,14 +653,14 @@ class MockReduxStore<T> { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -675,7 +670,7 @@ class MockReduxStore<T> { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -689,16 +684,16 @@ class MockReduxStore<T> { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-388_ADIOD-vPE 1", + "modelCustomizationName": "2017-388_PASQUALE-vPE 1", "vfModules": {}, "volumeGroups": {}, "vfcInstanceGroups": {} }, - "2017-388_ADIOD-vPE 0": { + "2017-388_PASQUALE-vPE 0": { "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168", "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-388_ADIOD-vPE", + "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", + "name": "2017-388_PASQUALE-vPE", "version": "4.0", "customizationUuid": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c", "inputs": { @@ -761,29 +756,29 @@ class MockReduxStore<T> { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, - "bandwidth": {"displayName": "bandwidth", "command": "get_input", "inputName": "adiodvpe0_bandwidth"}, + "bandwidth": {"displayName": "bandwidth", "command": "get_input", "inputName": "pasqualevpe0_bandwidth"}, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, - "ASN": {"displayName": "ASN", "command": "get_input", "inputName": "2017488_adiodvpe0_ASN"}, + "ASN": {"displayName": "ASN", "command": "get_input", "inputName": "2017488_pasqualevpe0_ASN"}, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -829,7 +824,7 @@ class MockReduxStore<T> { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -837,14 +832,14 @@ class MockReduxStore<T> { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -854,7 +849,7 @@ class MockReduxStore<T> { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -868,16 +863,16 @@ class MockReduxStore<T> { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-388_ADIOD-vPE 0", + "modelCustomizationName": "2017-388_PASQUALE-vPE 0", "vfModules": {}, "volumeGroups": {}, "vfcInstanceGroups": {} }, - "2017-488_ADIOD-vPE 0": { + "2017-488_PASQUALE-vPE 0": { "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09", "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-488_ADIOD-vPE", + "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", + "name": "2017-488_PASQUALE-vPE", "version": "5.0", "customizationUuid": "1da7b585-5e61-4993-b95e-8e6606c81e45", "inputs": { @@ -940,29 +935,29 @@ class MockReduxStore<T> { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, - "bandwidth": {"displayName": "bandwidth", "command": "get_input", "inputName": "adiodvpe0_bandwidth"}, + "bandwidth": {"displayName": "bandwidth", "command": "get_input", "inputName": "pasqualevpe0_bandwidth"}, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, - "ASN": {"displayName": "ASN", "command": "get_input", "inputName": "2017488_adiodvpe0_ASN"}, + "ASN": {"displayName": "ASN", "command": "get_input", "inputName": "2017488_pasqualevpe0_ASN"}, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -1009,7 +1004,7 @@ class MockReduxStore<T> { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -1017,14 +1012,14 @@ class MockReduxStore<T> { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -1034,7 +1029,7 @@ class MockReduxStore<T> { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -1048,82 +1043,82 @@ class MockReduxStore<T> { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-488_ADIOD-vPE 0", + "modelCustomizationName": "2017-488_PASQUALE-vPE 0", "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV" + "vfModuleLabel": "PASQUALE_vRE_BV" }, "inputs": { - "adiodvpe0_bandwidth": { + "pasqualevpe0_bandwidth": { "type": "string", "description": "Requested VPE bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, "constraints": null, "required": true, "default": "10" }, - "2017488_adiodvpe0_vnf_instance_name": { + "2017488_pasqualevpe0_vnf_instance_name": { "type": "string", "description": "The hostname assigned to the vpe.", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, "constraints": null, "required": true, "default": "mtnj309me6" }, - "2017488_adiodvpe0_vnf_config_template_version": { + "2017488_pasqualevpe0_vnf_config_template_version": { "type": "string", "description": "VPE Software Version", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, "constraints": null, "required": true, "default": "17.2" }, - "2017488_adiodvpe0_AIC_CLLI": { + "2017488_pasqualevpe0_AIC_CLLI": { "type": "string", "description": "AIC Site CLLI", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, "constraints": null, "required": true, "default": "ATLMY8GA" }, - "adiodvpe0_bandwidth_units": { + "pasqualevpe0_bandwidth_units": { "type": "string", "description": "Units of bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, "constraints": null, @@ -1133,116 +1128,116 @@ class MockReduxStore<T> { }, "volumeGroupAllowed": true }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db", "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091", "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", "description": null, - "name": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "version": "5", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "ADIOD_base_vPE_BV" + "vfModuleLabel": "PASQUALE_base_vPE_BV" }, "inputs": {}, "volumeGroupAllowed": false }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV" + "vfModuleLabel": "PASQUALE_vPFE_BV" }, "inputs": {}, "volumeGroupAllowed": true } }, "volumeGroups": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV" + "vfModuleLabel": "PASQUALE_vRE_BV" }, "inputs": { - "adiodvpe0_bandwidth": { + "pasqualevpe0_bandwidth": { "type": "string", "description": "Requested VPE bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, "constraints": null, "required": true, "default": "10" }, - "2017488_adiodvpe0_vnf_instance_name": { + "2017488_pasqualevpe0_vnf_instance_name": { "type": "string", "description": "The hostname assigned to the vpe.", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, "constraints": null, "required": true, "default": "mtnj309me6" }, - "2017488_adiodvpe0_vnf_config_template_version": { + "2017488_pasqualevpe0_vnf_config_template_version": { "type": "string", "description": "VPE Software Version", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, "constraints": null, "required": true, "default": "17.2" }, - "2017488_adiodvpe0_AIC_CLLI": { + "2017488_pasqualevpe0_AIC_CLLI": { "type": "string", "description": "AIC Site CLLI", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, "constraints": null, "required": true, "default": "ATLMY8GA" }, - "adiodvpe0_bandwidth_units": { + "pasqualevpe0_bandwidth_units": { "type": "string", "description": "Units of bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, "constraints": null, @@ -1251,19 +1246,19 @@ class MockReduxStore<T> { } } }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV" + "vfModuleLabel": "PASQUALE_vPFE_BV" }, "inputs": {} } @@ -1349,81 +1344,81 @@ class MockReduxStore<T> { "modelCustomizationName": "ExtVL 0" } }, - "collectionResource": {}, + "collectionResources": {}, "configurations": {}, "fabricConfigurations": {}, "serviceProxies": {}, "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV" + "vfModuleLabel": "PASQUALE_vRE_BV" }, "inputs": { - "adiodvpe0_bandwidth": { + "pasqualevpe0_bandwidth": { "type": "string", "description": "Requested VPE bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, "constraints": null, "required": true, "default": "10" }, - "2017488_adiodvpe0_vnf_instance_name": { + "2017488_pasqualevpe0_vnf_instance_name": { "type": "string", "description": "The hostname assigned to the vpe.", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, "constraints": null, "required": true, "default": "mtnj309me6" }, - "2017488_adiodvpe0_vnf_config_template_version": { + "2017488_pasqualevpe0_vnf_config_template_version": { "type": "string", "description": "VPE Software Version", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, "constraints": null, "required": true, "default": "17.2" }, - "2017488_adiodvpe0_AIC_CLLI": { + "2017488_pasqualevpe0_AIC_CLLI": { "type": "string", "description": "AIC Site CLLI", "entry_schema": null, - "inputProperties": {"sourceType": "HEAT", "vfModuleLabel": "ADIOD_vRE_BV", "paramName": "AIC_CLLI"}, + "inputProperties": {"sourceType": "HEAT", "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI"}, "constraints": null, "required": true, "default": "ATLMY8GA" }, - "adiodvpe0_bandwidth_units": { + "pasqualevpe0_bandwidth_units": { "type": "string", "description": "Units of bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, "constraints": null, @@ -1433,112 +1428,112 @@ class MockReduxStore<T> { }, "volumeGroupAllowed": true }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db", "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091", "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", "description": null, - "name": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "version": "5", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "ADIOD_base_vPE_BV" + "vfModuleLabel": "PASQUALE_base_vPE_BV" }, "inputs": {}, "volumeGroupAllowed": false }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV" + "vfModuleLabel": "PASQUALE_vPFE_BV" }, "inputs": {}, "volumeGroupAllowed": true } }, "volumeGroups": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV" + "vfModuleLabel": "PASQUALE_vRE_BV" }, "inputs": { - "adiodvpe0_bandwidth": { + "pasqualevpe0_bandwidth": { "type": "string", "description": "Requested VPE bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, "constraints": null, "required": true, "default": "10" }, - "2017488_adiodvpe0_vnf_instance_name": { + "2017488_pasqualevpe0_vnf_instance_name": { "type": "string", "description": "The hostname assigned to the vpe.", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, "constraints": null, "required": true, "default": "mtnj309me6" }, - "2017488_adiodvpe0_vnf_config_template_version": { + "2017488_pasqualevpe0_vnf_config_template_version": { "type": "string", "description": "VPE Software Version", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, "constraints": null, "required": true, "default": "17.2" }, - "2017488_adiodvpe0_AIC_CLLI": { + "2017488_pasqualevpe0_AIC_CLLI": { "type": "string", "description": "AIC Site CLLI", "entry_schema": null, - "inputProperties": {"sourceType": "HEAT", "vfModuleLabel": "ADIOD_vRE_BV", "paramName": "AIC_CLLI"}, + "inputProperties": {"sourceType": "HEAT", "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI"}, "constraints": null, "required": true, "default": "ATLMY8GA" }, - "adiodvpe0_bandwidth_units": { + "pasqualevpe0_bandwidth_units": { "type": "string", "description": "Units of bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, "constraints": null, @@ -1547,19 +1542,19 @@ class MockReduxStore<T> { } } }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV" + "vfModuleLabel": "PASQUALE_vPFE_BV" }, "inputs": {} } @@ -1570,21 +1565,21 @@ class MockReduxStore<T> { "serviceInstance": { "6e59c5de-f052-46fa-aa7e-2fca9d674c44": { "vnfs": { - "VF_vMee 0": { + "VF_vGeraldine 0": { "rollbackOnFailure": "true", "vfModules": { - "vf_vmee0..VfVmee..base_vmme..module-0": { - "vf_vmee0..VfVmee..base_vmme..module-0vmvzo": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0vmvzo": { "isMissingData": false, "sdncPreReload": null, "modelInfo": { "modelType": "VFmodule", "modelInvariantId": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "modelVersionId": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", - "modelName": "VfVmee..base_vmme..module-0", + "modelName": "VfVgeraldine..base_vflorence..module-0", "modelVersion": "2", "modelCustomizationId": "f8c040f1-7e51-4a11-aca8-acf256cfd861", - "modelCustomizationName": "VfVmee..base_vmme..module-0" + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0" }, "instanceParams": [{}], "trackById": "wmtm6sy2uj" @@ -1592,8 +1587,8 @@ class MockReduxStore<T> { } }, "isMissingData": true, - "originalName": "VF_vMee 0", - "vnfStoreKey": "VF_vMee 0", + "originalName": "VF_vGeraldine 0", + "vnfStoreKey": "VF_vGeraldine 0", "trackById": "p3wk448m5do", "uuid": "d6557200-ecf2-4641-8094-5393ae3aae60", "productFamilyId": "36b4733a-53f4-4cc8-8ff0-9172e5fc4b8e", @@ -1605,9 +1600,9 @@ class MockReduxStore<T> { "modelType": "VF", "modelInvariantId": "4160458e-f648-4b30-a176-43881ffffe9e", "modelVersionId": "6e59c5de-f052-46fa-aa7e-2fca9d674c44", - "modelName": "VF_vMee", + "modelName": "VF_vGeraldine", "modelVersion": "2.0", - "modelCustomizationName": "VF_vMee 0" + "modelCustomizationName": "VF_vGeraldine 0" } } }, @@ -1725,39 +1720,39 @@ class MockReduxStore<T> { } }, "vnfs": { - "2017-488_ADIOD-vPE 0": { + "2017-488_PASQUALE-vPE 0": { "rollbackOnFailure": "true", "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1sgoqi": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1sgoqi": { "instanceName": "yoav", "volumeGroupName": "123", "modelInfo": { "modelInvariantId": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "modelVersionId": "25284168-24bb-4698-8cb4-3f509146eca5", - "modelName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "modelVersion": "6", "modelCustomizationId": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "uuid": "25284168-24bb-4698-8cb4-3f509146eca5" }, "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "isMissingData": false, "instanceParams": [{ - "adiodvpe0_bandwidth": "10", - "2017488_adiodvpe0_vnf_instance_name": "mtnj309me6", - "2017488_adiodvpe0_vnf_config_template_version": "17.2", - "2017488_adiodvpe0_AIC_CLLI": "ATLMY8GA", - "adiodvpe0_bandwidth_units": "Gbps" + "pasqualevpe0_bandwidth": "10", + "2017488_pasqualevpe0_vnf_instance_name": "mtnj309me6", + "2017488_pasqualevpe0_vnf_config_template_version": "17.2", + "2017488_pasqualevpe0_AIC_CLLI": "ATLMY8GA", + "pasqualevpe0_bandwidth_units": "Gbps" }] } } }, "isMissingData": false, - "originalName": "2017-488_ADIOD-vPE 0", - "vnfStoreKey": "2017-488_ADIOD-vPE 0", + "originalName": "2017-488_PASQUALE-vPE 0", + "vnfStoreKey": "2017-488_PASQUALE-vPE 0", "trackById": "o65b26t2thj", - "instanceName": "2017488_ADIODvPE", + "instanceName": "2017488_PASQUALEvPE", "productFamilyId": "ebc3bc3d-62fd-4a3f-a037-f619df4ff034", "lcpCloudRegionId": "hvf6", "tenantId": "bae71557c5bb4d5aac6743a4e5f1d054", @@ -1767,16 +1762,16 @@ class MockReduxStore<T> { "modelInfo": { "modelInvariantId": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", "modelVersionId": "69e09f68-8b63-4cc9-b9ff-860960b5db09", - "modelName": "2017-488_ADIOD-vPE", + "modelName": "2017-488_PASQUALE-vPE", "modelVersion": "5.0", "modelCustomizationId": "1da7b585-5e61-4993-b95e-8e6606c81e45", - "modelCustomizationName": "2017-488_ADIOD-vPE 0", + "modelCustomizationName": "2017-488_PASQUALE-vPE 0", "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09" }, "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09" } }, - "instanceParams": [{"2017488_adiodvpe0_ASN": "AV_vPE"}], + "instanceParams": [{"2017488_pasqualevpe0_ASN": "AV_vPE"}], "validationCounter": 0, "existingNames": {"123": "", "instancename": "", "yoav": "", "extvl": ""}, "existingVNFCounterMap": {"69e09f68-8b63-4cc9-b9ff-860960b5db09": 1}, @@ -1786,7 +1781,7 @@ class MockReduxStore<T> { "subscriptionServiceType": "TYLER SILVIA", "owningEntityId": "d61e6f2d-12fa-4cc2-91df-7c244011d6fc", "productFamilyId": "17cc1042-527b-11e6-beb8-9e71128cae77", - "lcpCloudRegionId": "JANET25", + "lcpCloudRegionId": "AAIAIC25", "tenantId": "092eb9e8e4b7412e8787dd091bc58e86", "aicZoneId": "JAG1", "projectName": null, @@ -1817,12 +1812,12 @@ class MockReduxStore<T> { }, "lcpRegionsAndTenants": { "lcpRegionList": [{ - "id": "JANET25", - "name": "JANET25", + "id": "AAIAIC25", + "name": "AAIAIC25", "isPermitted": true }, {"id": "hvf6", "name": "hvf6", "isPermitted": true}], "lcpRegionsTenantsMap": { - "JANET25": [{ + "AAIAIC25": [{ "id": "092eb9e8e4b7412e8787dd091bc58e86", "name": "USP-SIP-IC-24335-T-01", "isPermitted": true @@ -1832,23 +1827,123 @@ class MockReduxStore<T> { "name": "AIN Web Tool-15-D-testalexandria", "isPermitted": true }, { - "id": "d0a3e3f2964542259d155a81c41aadc3", - "name": "test-hvf6-09", + "id": "229bcdc6eaeb4ca59d55221141d01f8e", + "name": "AIN Web Tool-15-D-STTest2", + "isPermitted": true + }, { + "id": "1178612d2b394be4834ad77f567c0af2", + "name": "AIN Web Tool-15-D-SSPtestcustome", + "isPermitted": true + }, { + "id": "19c5ade915eb461e8af52fb2fd8cd1f2", + "name": "AIN Web Tool-15-D-UncheckedEcopm", + "isPermitted": true + }, { + "id": "de007636e25249238447264a988a927b", + "name": "AIN Web Tool-15-D-dfsdf", + "isPermitted": true + }, { + "id": "62f29b3613634ca6a3065cbe0e020c44", + "name": "AIN/SMS-16-D-Multiservices1", + "isPermitted": true + }, { + "id": "649289e30d3244e0b48098114d63c2aa", + "name": "AIN Web Tool-15-D-SSPST66", + "isPermitted": true + }, { + "id": "3f21eeea6c2c486bba31dab816c05a32", + "name": "AIN Web Tool-15-D-ASSPST47", + "isPermitted": true + }, { + "id": "f60ce21d3ee6427586cff0d22b03b773", + "name": "CESAR-100-D-sspjg67246", + "isPermitted": true + }, { + "id": "8774659e425f479895ae091bb5d46560", + "name": "CESAR-100-D-sspjg68359", + "isPermitted": true + }, { + "id": "624eb554b0d147c19ff8885341760481", + "name": "AINWebTool-15-D-iftach", + "isPermitted": true + }, { + "id": "214f55f5fc414c678059c383b03e4962", + "name": "CESAR-100-D-sspjg612401", + "isPermitted": true + }, { + "id": "c90666c291664841bb98e4d981ff1db5", + "name": "CESAR-100-D-sspjg621340", + "isPermitted": true + }, { + "id": "ce5b6bc5c7b348e1bf4b91ac9a174278", + "name": "sspjg621351cloned", + "isPermitted": true + }, { + "id": "b386b768a3f24c8e953abbe0b3488c02", + "name": "AINWebTool-15-D-eteancomp", + "isPermitted": true + }, { + "id": "dc6c4dbfd225474e9deaadd34968646c", + "name": "AINWebTool-15-T-SPFET", + "isPermitted": true + }, { + "id": "02cb5030e9914aa4be120bd9ed1e19eb", + "name": "AINWebTool-15-X-eeweww", + "isPermitted": true + }, { + "id": "f2f3830e4c984d45bcd00e1a04158a79", + "name": "CESAR-100-D-spjg61909", + "isPermitted": true + }, { + "id": "05b91bd5137f4929878edd965755c06d", + "name": "CESAR-100-D-sspjg621512cloned", + "isPermitted": true + }, { + "id": "7002fbe8482d4a989ddf445b1ce336e0", + "name": "AINWebTool-15-X-vdr", + "isPermitted": true + }, { + "id": "4008522be43741dcb1f5422022a2aa0b", + "name": "AINWebTool-15-D-ssasa", + "isPermitted": true + }, { + "id": "f44e2e96a1b6476abfda2fa407b00169", + "name": "AINWebTool-15-D-PFNPT", + "isPermitted": true + }, { + "id": "b69a52bec8a84669a37a1e8b72708be7", + "name": "AINWebTool-15-X-vdre", + "isPermitted": true + }, { + "id": "fac7d9fd56154caeb9332202dcf2969f", + "name": "AINWebTool-15-X-NONPODECOMP", + "isPermitted": true + }, { + "id": "2d34d8396e194eb49969fd61ffbff961", + "name": "DN5242-Nov16-T5", + "isPermitted": true + }, { + "id": "cb42a77ff45b48a8b8deb83bb64acc74", + "name": "ro-T11", "isPermitted": true }, { "id": "fa45ca53c80b492fa8be5477cd84fc2b", "name": "ro-T112", "isPermitted": true }, { - "id": "cbb99fe4ada84631b7baf046b6fd2044", - "name": "DN5242-Nov16-T3", + "id": "4914ab0ab3a743e58f0eefdacc1dde77", + "name": "DN5242-Nov21-T1", + "isPermitted": true + }, { + "id": "d0a3e3f2964542259d155a81c41aadc3", + "name": "test-hvf6-09", "isPermitted": true - }] + }, {"id": "cbb99fe4ada84631b7baf046b6fd2044", "name": "DN5242-Nov16-T3", "isPermitted": true}] } }, "productFamilies": [{ "id": "ebc3bc3d-62fd-4a3f-a037-f619df4ff034", - "name": "SCOTTIE", + "name": "ERICA", "isPermitted": true }, { "id": "17cc1042-527b-11e6-beb8-9e71128cae77", @@ -1864,7 +1959,7 @@ class MockReduxStore<T> { "isPermitted": true }, {"id": "vTerrance", "name": "vTerrance", "isPermitted": true}, { "id": "323d69d9-2efe-4r45-ay0a-89ea7ard4e6f", - "name": "vSCP", + "name": "vEsmeralda", "isPermitted": true }, { "id": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", @@ -1887,7 +1982,7 @@ class MockReduxStore<T> { "name": "TYLER SILVIA", "isPermitted": true }, {"id": "b6a3f28c-eebf-494c-a900-055cc7c874ce", "name": "VROUTER", "isPermitted": true}, { - "id": "Cisneros", + "id": "vMuriel", "name": "vMuriel", "isPermitted": true }, { @@ -1902,7 +1997,7 @@ class MockReduxStore<T> { "id": "vSalvatore", "name": "vSalvatore", "isPermitted": true - }, {"id": "d7bb0a21-66f2-4e6d-87d9-9ef3ced63ae4", "name": "Josefina", "isPermitted": true}, { + }, {"id": "d7bb0a21-66f2-4e6d-87d9-9ef3ced63ae4", "name": "JOSEFINA", "isPermitted": true}, { "id": "vHubbard", "name": "vHubbard", "isPermitted": true @@ -1922,21 +2017,21 @@ class MockReduxStore<T> { "isPermitted": false }, {"id": "5", "name": "Kennedy", "isPermitted": false}, { "id": "6", - "name": "vSEGW", + "name": "vPorfirio", "isPermitted": false }, {"id": "7", "name": "vVM", "isPermitted": false}, { "id": "8", "name": "vOTA", "isPermitted": false - }, {"id": "9", "name": "vMME", "isPermitted": false}, { + }, {"id": "9", "name": "vFLORENCE", "isPermitted": false}, { "id": "10", "name": "vMNS", "isPermitted": false - }, {"id": "11", "name": "vSCP", "isPermitted": false}, { + }, {"id": "11", "name": "vEsmeralda", "isPermitted": false}, { "id": "12", "name": "VPMS", "isPermitted": false - }, {"id": "13", "name": "vMMSC", "isPermitted": false}, { + }, {"id": "13", "name": "vWINIFRED", "isPermitted": false}, { "id": "14", "name": "SSD", "isPermitted": false @@ -1950,28 +2045,199 @@ class MockReduxStore<T> { "isPermitted": false }] }, - "aicZones": [ - { - "id": "NFT1", - "name": "NFTJSSSS-NFT1" - }, - { - "id": "JAG1", - "name": "YUDFJULP-JAG1" - }, - { - "id": "YYY1", - "name": "UUUAIAAI-YYY1" - }, - { - "id": "AVT1", - "name": "AVTRFLHD-AVT1" - }, - { - "id": "ATL34", - "name": "ATLSANAI-ATL34" - } - ], + "aicZones": [{"id": "NFT1", "name": "NFTJSSSS-NFT1"}, {"id": "JAG1", "name": "YUDFJULP-JAG1"}, { + "id": "YYY1", + "name": "UUUAIAAI-YYY1" + }, {"id": "BAN1", "name": "VSDKYUTP-BAN1"}, {"id": "DKJ1", "name": "DKJSJDKA-DKJ1"}, { + "id": "MCS1", + "name": "ASACMAMS-MCS1" + }, {"id": "UIO1", "name": "uioclli1-UIO1"}, {"id": "RAJ1", "name": "YGBIJNLQ-RAJ1"}, { + "id": "OPA1", + "name": "opaclli1-OPA1" + }, {"id": "SDE1", "name": "ZXCVBNMA-SDE1"}, {"id": "VEN2", "name": "FGHJUHIL-VEN2"}, { + "id": "ORL1", + "name": "ORLDFLMA-ORL1" + }, {"id": "JAD1", "name": "JADECLLI-JAD1"}, {"id": "ZXL1", "name": "LWLWCANN-ZXL1"}, { + "id": "CKL1", + "name": "CLKSKCKK-CKL1" + }, {"id": "SDF1", "name": "sdfclli1-SDF1"}, {"id": "RAD1", "name": "RADICAL1-RAD1"}, { + "id": "KIT1", + "name": "BHYJFGLN-KIT1" + }, {"id": "REL1", "name": "INGERFGT-REL1"}, {"id": "JNL1", "name": "CJALSDAC-JNL1"}, { + "id": "OLK1", + "name": "OLKOLKLS-OLK1" + }, {"id": "CHI1", "name": "CHILLIWE-CHI1"}, {"id": "UUU4", "name": "UUUAAAUU-UUU4"}, { + "id": "TUF1", + "name": "TUFCLLI1-TUF1" + }, {"id": "KJN1", "name": "CKALDKSA-KJN1"}, {"id": "SAM1", "name": "SNDGCA64-SAN1"}, { + "id": "SCK1", + "name": "SCKSCKSK-SCK1" + }, {"id": "HJH1", "name": "AOEEQQQD-HJH1"}, {"id": "HGD1", "name": "SDFQWHGD-HGD1"}, { + "id": "KOR1", + "name": "HYFLNBVT-KOR1" + }, {"id": "ATL43", "name": "AICLOCID-ATL43"}, {"id": "ATL54", "name": "AICFTAAI-ATL54"}, { + "id": "ATL66", + "name": "CLLIAAII-ATL66" + }, {"id": "VEL1", "name": "BNMLKUIK-VEL1"}, {"id": "ICC1", "name": "SANJITAT-ICC1"}, { + "id": "MNT11", + "name": "WSXEFBTH-MNT11" + }, {"id": "DEF2", "name": "WSBHGTYL-DEF2"}, {"id": "MAD11", "name": "SDFQWGKL-MAD11"}, { + "id": "OLG1", + "name": "OLHOLHOL-OLG1" + }, {"id": "GAR1", "name": "NGFVSJKO-GAR1"}, {"id": "SAN22", "name": "GNVLSCTL-SAN22"}, { + "id": "HRG1", + "name": "HRGHRGGS-HRG1" + }, {"id": "JCS1", "name": "JCSJSCJS-JCS1"}, {"id": "DHA12", "name": "WSXEDECF-DHA12"}, { + "id": "HJE1", + "name": "AOEEWWWD-HJE1" + }, {"id": "NCA1", "name": "NCANCANN-NCA1"}, {"id": "IOP1", "name": "iopclli1-IOP1"}, { + "id": "RTY1", + "name": "rtyclli1-RTY1" + }, {"id": "KAP1", "name": "HIOUYTRQ-KAP1"}, {"id": "ZEN1", "name": "ZENCLLI1-ZEN1"}, { + "id": "HKA1", + "name": "JAKHLASS-HKA1" + }, {"id": "CQK1", "name": "CQKSCAKK-CQK1"}, {"id": "SAI1", "name": "UBEKQLPD-SAI1"}, { + "id": "ERT1", + "name": "ertclli1-ERT1" + }, {"id": "IBB1", "name": "PLMKOIJU-IBB1"}, {"id": "TIR2", "name": "PLKINHYI-TIR2"}, { + "id": "HSD1", + "name": "CHASKCDS-HSD1" + }, {"id": "SLF78", "name": "SDCTLFN1-SLF78"}, {"id": "SEE78", "name": "SDCTEEE4-SEE78"}, { + "id": "SAN13", + "name": "TOKYJPFA-SAN13" + }, {"id": "SAA78", "name": "SDCTAAA1-SAA78"}, {"id": "LUC1", "name": "ATLDFGYC-LUC1"}, { + "id": "AMD13", + "name": "MEMATLAN-AMD13" + }, {"id": "TOR1", "name": "TOROONXN-TOR1"}, {"id": "QWE1", "name": "QWECLLI1-QWE1"}, { + "id": "ZOG1", + "name": "ZOGASTRO-ZOG1" + }, {"id": "CAL33", "name": "CALIFORN-CAL33"}, {"id": "SHH78", "name": "SDIT1HHH-SHH78"}, { + "id": "DSA1", + "name": "LKJHGFDS-DSA1" + }, {"id": "CLG1", "name": "CLGRABAD-CLG1"}, {"id": "BNA1", "name": "BNARAGBK-BNA1"}, { + "id": "ATL84", + "name": "CANTTCOC-ATL84" + }, {"id": "APP1", "name": "WBHGTYUI-APP1"}, {"id": "RJN1", "name": "RJNRBZAW-RJN1"}, { + "id": "EHH78", + "name": "SDCSHHH5-EHH78" + }, {"id": "mac10", "name": "PKGTESTF-mac10"}, {"id": "SXB78", "name": "SDCTGXB1-SXB78"}, { + "id": "SAX78", + "name": "SDCTAXG1-SAX78" + }, {"id": "SYD1", "name": "SYDNAUBV-SYD1"}, {"id": "TOK1", "name": "TOKYJPFA-TOK1"}, { + "id": "KGM2", + "name": "KGMTNC20-KGM2" + }, {"id": "DCC1b", "name": "POIUYTGH-DCC1b"}, {"id": "SKK78", "name": "SDCTKKK1-SKK78"}, { + "id": "SGG78", + "name": "SDCTGGG1-SGG78" + }, {"id": "SJJ78", "name": "SDCTJJJ1-SJJ78"}, {"id": "SBX78", "name": "SDCTBXG1-SBX78"}, { + "id": "LAG1", + "name": "LARGIZON-LAG1" + }, {"id": "IAA1", "name": "QAZXSWED-IAA1"}, {"id": "POI1", "name": "PLMNJKIU-POI1"}, { + "id": "LAG1a", + "name": "LARGIZON-LAG1a" + }, {"id": "PBL1", "name": "PBLAPBAI-PBL1"}, {"id": "LAG45", "name": "LARGIZON-LAG1a"}, { + "id": "MAR1", + "name": "MNBVCXZM-MAR1" + }, {"id": "HST70", "name": "HSTNTX70-HST70"}, {"id": "DCC1a", "name": "POIUYTGH-DCC1a"}, { + "id": "TOL1", + "name": "TOLDOH21-TOL1" + }, {"id": "LON1", "name": "LONEENCO-LON1"}, {"id": "SJU78", "name": "SDIT1JUB-SJU78"}, { + "id": "STN27", + "name": "HSTNTX01-STN27" + }, {"id": "SSW56", "name": "ss8126GT-SSW56"}, {"id": "SBB78", "name": "SDIT1BBB-SBB78"}, { + "id": "DCC3", + "name": "POIUYTGH-DCC3" + }, {"id": "GNV1", "name": "GNVLSCTL-GNV1"}, {"id": "WAS1", "name": "WASHDCSW-WAS1"}, { + "id": "TOY1", + "name": "TORYONNZ-TOY1" + }, {"id": "STT1", "name": "STTLWA02-STT1"}, {"id": "STG1", "name": "STTGGE62-STG1"}, { + "id": "SLL78", + "name": "SDCTLLL1-SLL78" + }, {"id": "SBU78", "name": "SDIT1BUB-SBU78"}, {"id": "ATL2", "name": "ATLNGANW-ATL2"}, { + "id": "BOT1", + "name": "BOTHWAKY-BOT1" + }, {"id": "SNG1", "name": "SNGPSIAU-SNG1"}, {"id": "NYC1", "name": "NYCMNY54-NYC1"}, { + "id": "LAG1b", + "name": "LARGIZON-LAG1b" + }, {"id": "AMD15", "name": "AMDFAA01-AMD15"}, {"id": "SNA1", "name": "SNANTXCA-SNA1"}, { + "id": "PLT1", + "name": "PLTNCA60-PLT1" + }, {"id": "TLP1", "name": "TLPNXM18-TLP1"}, {"id": "SDD81", "name": "SAIT1DD6-SDD81"}, { + "id": "DCC1", + "name": "POIUYTGH-DCC1" + }, {"id": "DCC2", "name": "POIUYTGH-DCC2"}, {"id": "OKC1", "name": "OKCBOK55-OKC1"}, { + "id": "PAR1", + "name": "PARSFRCG-PAR1" + }, {"id": "TES36", "name": "ABCEETES-TES36"}, {"id": "COM1", "name": "PLMKOPIU-COM1"}, { + "id": "ANI1", + "name": "ATLNGTRE-ANI1" + }, {"id": "SDG78", "name": "SDIT1BDG-SDG78"}, {"id": "mac20", "name": "PKGTESTF-mac20"}, { + "id": "DSF45", + "name": "DSFBG123-DSF45" + }, {"id": "HST25", "name": "HSTNTX01-HST25"}, {"id": "AMD18", "name": "AUDIMA01-AMD18"}, { + "id": "SAA80", + "name": "SAIT9AA3-SAA80" + }, {"id": "SSA56", "name": "SSIT2AA7-SSA56"}, {"id": "SDD82", "name": "SAIT1DD9-SDD82"}, { + "id": "JCV1", + "name": "JCVLFLBW-JCV1" + }, {"id": "SUL2", "name": "WERTYUJK-SUL2"}, {"id": "PUR1", "name": "purelyde-PUR1"}, { + "id": "FDE55", + "name": "FDERT555-FDE55" + }, {"id": "SITE", "name": "LONEENCO-SITE"}, {"id": "ATL1", "name": "ATLNGAMA-ATL1"}, { + "id": "JUL1", + "name": "ZXCVBNMM-JUL1" + }, {"id": "TAT34", "name": "TESAAISB-TAT34"}, {"id": "XCP12", "name": "CHKGH123-XCP12"}, { + "id": "RAI1", + "name": "poiuytre-RAI1" + }, {"id": "HPO1", "name": "ATLNGAUP-HPO1"}, {"id": "KJF12", "name": "KJFDH123-KJF12"}, { + "id": "SCC80", + "name": "SAIT9CC3-SCC80" + }, {"id": "SAA12", "name": "SAIT9AF8-SAA12"}, {"id": "SAA14", "name": "SAIT1AA9-SAA14"}, { + "id": "ATL35", + "name": "TTESSAAI-ATL35" + }, {"id": "CWY1", "name": "CWYMOWBS-CWY1"}, {"id": "ATL76", "name": "TELEPAAI-ATL76"}, { + "id": "DSL12", + "name": "DSLFK242-DSL12" + }, {"id": "ATL53", "name": "AAIATLTE-ATL53"}, {"id": "SAA11", "name": "SAIT9AA2-SAA11"}, { + "id": "ATL62", + "name": "TESSASCH-ATL62" + }, {"id": "AUG1", "name": "ASDFGHJK-AUG1"}, {"id": "POI22", "name": "POIUY123-POI22"}, { + "id": "SAA13", + "name": "SAIT1AA9-SAA13" + }, {"id": "BHY17", "name": "BHYTFRF3-BHY17"}, {"id": "LIS1", "name": "HOSTPROF-LIS1"}, { + "id": "SIP1", + "name": "ZXCVBNMK-SIP1" + }, {"id": "ATL99", "name": "TEESTAAI-ATL43"}, {"id": "ATL64", "name": "FORLOAAJ-ATL64"}, { + "id": "TAT33", + "name": "TESAAISA-TAT33" + }, {"id": "RAD10", "name": "INDIPUNE-RAD10"}, {"id": "RTW5", "name": "BHYTFRY4-RTW5"}, { + "id": "JGS1", + "name": "KSJKKKKK-JGS1" + }, {"id": "ATL98", "name": "TEESTAAI-ATL43"}, {"id": "WAN1", "name": "LEIWANGW-WAN1"}, { + "id": "ATL44", + "name": "ATLSANAB-ATL44" + }, {"id": "RTD2", "name": "BHYTFRk4-RTD2"}, {"id": "NIR1", "name": "ORFLMANA-NIR1"}, { + "id": "ATL75", + "name": "SANAAIRE-ATL75" + }, {"id": "NUM1", "name": "QWERTYUI-NUM1"}, {"id": "hvf32", "name": "MDTWNJ21-hvf32"}, { + "id": "RTZ4", + "name": "BHYTFRZ6-RTZ4" + }, {"id": "ATL56", "name": "ATLSANAC-ATL56"}, {"id": "AMS1", "name": "AMSTNLBW-AMS1"}, { + "id": "RCT1", + "name": "AMSTERNL-RCT1" + }, {"id": "JAN1", "name": "ORFLMATT-JAN1"}, {"id": "ABC14", "name": "TESAAISA-ABC14"}, { + "id": "TAT37", + "name": "TESAAISD-TAT37" + }, {"id": "MIC54", "name": "MICHIGAN-MIC54"}, {"id": "ABC11", "name": "ATLSANAI-ABC11"}, { + "id": "AMF11", + "name": "AMDOCS01-AMF11" + }, {"id": "ATL63", "name": "ATLSANEW-ATL63"}, {"id": "ABC12", "name": "ATLSECIA-ABC12"}, { + "id": "hvf20", + "name": "MDTWNJ21-hvf20" + }, {"id": "ABC15", "name": "AAITESAN-ABC15"}, {"id": "AVT1", "name": "AVTRFLHD-AVT1"}, { + "id": "ATL34", + "name": "ATLSANAI-ATL34" + }], "categoryParameters": { "owningEntityList": [{ "id": "aaa1", @@ -2149,15 +2415,15 @@ describe('Service popup service', () => { const result: FormControlModel[] = service.getDynamicInputs('6b528779-44a3-4472-bdff-9cd15ec93450'); console.log(result); expect(result.length).toEqual(4); - expect(result[0].controlName).toEqual('2017488_adiodvpe0_ASN_1'); - expect(result[1].controlName).toEqual('2017488_adiodvpe0_ASN_2'); - expect(result[2].controlName).toEqual('2017488_adiodvpe0_ASN_3'); - expect(result[3].controlName).toEqual('2017488_adiodvpe0_ASN_4'); + expect(result[0].controlName).toEqual('2017488_pasqualevpe0_ASN_1'); + expect(result[1].controlName).toEqual('2017488_pasqualevpe0_ASN_2'); + expect(result[2].controlName).toEqual('2017488_pasqualevpe0_ASN_3'); + expect(result[3].controlName).toEqual('2017488_pasqualevpe0_ASN_4'); - expect(result[0].dataTestId).toEqual('2017488_adiodvpe0_ASN_1'); - expect(result[1].dataTestId).toEqual('2017488_adiodvpe0_ASN_2'); - expect(result[2].dataTestId).toEqual('2017488_adiodvpe0_ASN_3'); - expect(result[3].dataTestId).toEqual('2017488_adiodvpe0_ASN_4'); + expect(result[0].dataTestId).toEqual('2017488_pasqualevpe0_ASN_1'); + expect(result[1].dataTestId).toEqual('2017488_pasqualevpe0_ASN_2'); + expect(result[2].dataTestId).toEqual('2017488_pasqualevpe0_ASN_3'); + expect(result[3].dataTestId).toEqual('2017488_pasqualevpe0_ASN_4'); expect(result[0].validations.length).toEqual(1); expect(result[1].validations.length).toEqual(1); diff --git a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/service/service.popup.service.ts b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/service/service.popup.service.ts index dc83083cb..7694e6314 100644 --- a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/service/service.popup.service.ts +++ b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/service/service.popup.service.ts @@ -18,13 +18,9 @@ import {Constants} from "../../../../utils/constants"; import {ServiceInstance} from "../../../../models/serviceInstance"; import {ModelInfo} from "../../../../models/modelInfo"; import {FormControlModel} from "../../../../models/formControlModels/formControl.model"; -import { - ServiceActions, - createServiceInstance, - updateServiceInstance -} from "../../../../storeUtil/utils/service/service.actions"; -import {ServiceInstanceActions} from "../../../../models/serviceInstanceActions"; +import {createServiceInstance, updateServiceInstance} from "../../../../storeUtil/utils/service/service.actions"; import * as _ from 'lodash'; + @Injectable() export class ServicePopupService implements GenericPopupInterface { dynamicInputs: any; @@ -73,7 +69,7 @@ export class ServicePopupService implements GenericPopupInterface { getControls(serviceId: string) { - if(this._store.getState().service.serviceHierarchy[serviceId].service.instantiationType === 'Macro') { + if(this._store.getState().service.serviceHierarchy[serviceId].service.vidNotions.instantiationType === 'Macro') { return this._serviceControlGenerator.getMacroFormControls(serviceId, this.dynamicInputs); }else { return this._serviceControlGenerator.getAlaCartControls(serviceId, this.dynamicInputs); @@ -156,7 +152,7 @@ export class ServicePopupService implements GenericPopupInterface { storeServiceInstance = (formValues:any, servicesQty:number, dynamicInputs:any, serviceModel:ModelInfo, serviceDetails: any ) => { formValues.bulkSize = this.uuidData['bulkSize']; formValues.modelInfo = serviceModel; - let instantiationType = this._store.getState().service.serviceHierarchy[serviceModel.modelVersionId].service.instantiationType; + let instantiationType = this._store.getState().service.serviceHierarchy[serviceModel.modelVersionId].service.vidNotions.instantiationType; this.setIsALaCarte(formValues, instantiationType); this.setTestApi(formValues); Object.assign(formValues, serviceDetails); @@ -173,7 +169,7 @@ export class ServicePopupService implements GenericPopupInterface { }; setIsALaCarte = (formValues: any, instantiationType) => { - formValues.isALaCarte = instantiationType === 'A-La-Carte'; + formValues.isALaCarte = instantiationType === 'ALaCarte'; }; setTestApi = (formValues: any) =>{ diff --git a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModule/vfModule.popuop.service.spec.ts b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModule/vfModule.popuop.service.spec.ts index 66e12d457..24bbac51e 100644 --- a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModule/vfModule.popuop.service.spec.ts +++ b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModule/vfModule.popuop.service.spec.ts @@ -27,17 +27,12 @@ class MockReduxStore<T> { "FLAG_NETWORK_TO_ASYNC_INSTANTIATION": false, "FLAG_SHOW_ASSIGNMENTS": true, "FLAG_FABRIC_CONFIGURATION_ASSIGNMENTS": true, - "FLAG_UNASSIGN_SERVICE": true, "FLAG_SHOW_VERIFY_SERVICE": false, - "FLAG_COLLECTION_RESOURCE_SUPPORT": true, - "FLAG_DUPLICATE_VNF": true, "FLAG_SERVICE_MODEL_CACHE": true, "FLAG_ADVANCED_PORTS_FILTER": true, "CREATE_INSTANCE_TEST": false, "FLAG_SETTING_DEFAULTS_IN_DRAWING_BOARD": false, "FLAG_REGION_ID_FROM_REMOTE": true, - "FLAG_ASYNC_INSTANTIATION": true, - "FLAG_ASYNC_JOBS": true, "EMPTY_DRAWING_BOARD_TEST": false, "FLAG_ADD_MSO_TESTAPI_FIELD": true }, @@ -61,11 +56,11 @@ class MockReduxStore<T> { "inputs": {} }, "vnfs": { - "VF_vMee 0": { + "VF_vGeraldine 0": { "uuid": "d6557200-ecf2-4641-8094-5393ae3aae60", "invariantUuid": "4160458e-f648-4b30-a176-43881ffffe9e", - "description": "VSP_vMee", - "name": "VF_vMee", + "description": "VSP_vGeraldine", + "name": "VF_vGeraldine", "version": "2.0", "customizationUuid": "91415b44-753d-494c-926a-456a9172bbb9", "inputs": {}, @@ -236,74 +231,74 @@ class MockReduxStore<T> { "sctp-b-egress-dst_end_port": "65535.0" }, "type": "VF", - "modelCustomizationName": "VF_vMee 0", + "modelCustomizationName": "VF_vGeraldine 0", "vfModules": { - "vf_vmee0..VfVmee..vmme_vlc..module-1": { + "vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1": { "uuid": "522159d5-d6e0-4c2a-aa44-5a542a12a830", "invariantUuid": "98a7c88b-b577-476a-90e4-e25a5871e02b", "customizationUuid": "55b1be94-671a-403e-a26c-667e9c47d091", "description": null, - "name": "VfVmee..vmme_vlc..module-1", + "name": "VfVgeraldine..vflorence_vlc..module-1", "version": "2", - "modelCustomizationName": "VfVmee..vmme_vlc..module-1", + "modelCustomizationName": "VfVgeraldine..vflorence_vlc..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_vlc" + "vfModuleLabel": "vflorence_vlc" }, "inputs": {}, "volumeGroupAllowed": true }, - "vf_vmee0..VfVmee..vmme_gpb..module-2": { + "vf_vgeraldine0..VfVgeraldine..vflorence_gpb..module-2": { "uuid": "41708296-e443-4c71-953f-d9a010f059e1", "invariantUuid": "1cca90b8-3490-495e-87da-3f3e4c57d5b9", "customizationUuid": "6add59e0-7fe1-4bc4-af48-f8812422ae7c", "description": null, - "name": "VfVmee..vmme_gpb..module-2", + "name": "VfVgeraldine..vflorence_gpb..module-2", "version": "2", - "modelCustomizationName": "VfVmee..vmme_gpb..module-2", + "modelCustomizationName": "VfVgeraldine..vflorence_gpb..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_gpb" + "vfModuleLabel": "vflorence_gpb" }, "inputs": {}, "volumeGroupAllowed": false }, - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {}, "volumeGroupAllowed": true } }, "volumeGroups": { - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {} } @@ -332,7 +327,7 @@ class MockReduxStore<T> { "modelCustomizationName": "ExtVL 0" } }, - "collectionResource": {}, + "collectionResources": {}, "configurations": { "Port Mirroring Configuration By Policy 0": { "uuid": "b4398538-e89d-4f13-b33d-ca323434ba50", @@ -353,72 +348,72 @@ class MockReduxStore<T> { }, "serviceProxies": {}, "vfModules": { - "vf_vmee0..VfVmee..vmme_vlc..module-1": { + "vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1": { "uuid": "522159d5-d6e0-4c2a-aa44-5a542a12a830", "invariantUuid": "98a7c88b-b577-476a-90e4-e25a5871e02b", "customizationUuid": "55b1be94-671a-403e-a26c-667e9c47d091", "description": null, - "name": "VfVmee..vmme_vlc..module-1", + "name": "VfVgeraldine..vflorence_vlc..module-1", "version": "2", - "modelCustomizationName": "VfVmee..vmme_vlc..module-1", + "modelCustomizationName": "VfVgeraldine..vflorence_vlc..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_vlc" + "vfModuleLabel": "vflorence_vlc" }, "inputs": {}, "volumeGroupAllowed": true }, - "vf_vmee0..VfVmee..vmme_gpb..module-2": { + "vf_vgeraldine0..VfVgeraldine..vflorence_gpb..module-2": { "uuid": "41708296-e443-4c71-953f-d9a010f059e1", "invariantUuid": "1cca90b8-3490-495e-87da-3f3e4c57d5b9", "customizationUuid": "6add59e0-7fe1-4bc4-af48-f8812422ae7c", "description": null, - "name": "VfVmee..vmme_gpb..module-2", + "name": "VfVgeraldine..vflorence_gpb..module-2", "version": "2", - "modelCustomizationName": "VfVmee..vmme_gpb..module-2", + "modelCustomizationName": "VfVgeraldine..vflorence_gpb..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_gpb" + "vfModuleLabel": "vflorence_gpb" }, "inputs": {}, "volumeGroupAllowed": false }, - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {}, "volumeGroupAllowed": true } }, "volumeGroups": { - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {} } @@ -439,7 +434,7 @@ class MockReduxStore<T> { "serviceEcompNaming": "false", "instantiationType": "A-La-Carte", "inputs": { - "2017488_adiodvpe0_ASN": { + "2017488_pasqualevpe0_ASN": { "type": "string", "description": "AV/PE", "entry_schema": null, @@ -451,11 +446,11 @@ class MockReduxStore<T> { } }, "vnfs": { - "2017-388_ADIOD-vPE 1": { + "2017-388_PASQUALE-vPE 1": { "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413", "invariantUuid": "00beb8f9-6d39-452f-816d-c709b9cbb87d", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-388_ADIOD-vPE", + "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", + "name": "2017-388_PASQUALE-vPE", "version": "1.0", "customizationUuid": "280dec31-f16d-488b-9668-4aae55d6648a", "inputs": { @@ -518,29 +513,29 @@ class MockReduxStore<T> { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, - "bandwidth": {"displayName": "bandwidth", "command": "get_input", "inputName": "adiodvpe0_bandwidth"}, + "bandwidth": {"displayName": "bandwidth", "command": "get_input", "inputName": "pasqualevpe0_bandwidth"}, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, - "ASN": {"displayName": "ASN", "command": "get_input", "inputName": "2017488_adiodvpe0_ASN"}, + "ASN": {"displayName": "ASN", "command": "get_input", "inputName": "2017488_pasqualevpe0_ASN"}, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -585,7 +580,7 @@ class MockReduxStore<T> { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -593,14 +588,14 @@ class MockReduxStore<T> { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -610,7 +605,7 @@ class MockReduxStore<T> { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -624,16 +619,16 @@ class MockReduxStore<T> { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-388_ADIOD-vPE 1", + "modelCustomizationName": "2017-388_PASQUALE-vPE 1", "vfModules": {}, "volumeGroups": {}, "vfcInstanceGroups": {} }, - "2017-388_ADIOD-vPE 0": { + "2017-388_PASQUALE-vPE 0": { "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168", "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-388_ADIOD-vPE", + "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", + "name": "2017-388_PASQUALE-vPE", "version": "4.0", "customizationUuid": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c", "inputs": { @@ -696,29 +691,29 @@ class MockReduxStore<T> { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, - "bandwidth": {"displayName": "bandwidth", "command": "get_input", "inputName": "adiodvpe0_bandwidth"}, + "bandwidth": {"displayName": "bandwidth", "command": "get_input", "inputName": "pasqualevpe0_bandwidth"}, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, - "ASN": {"displayName": "ASN", "command": "get_input", "inputName": "2017488_adiodvpe0_ASN"}, + "ASN": {"displayName": "ASN", "command": "get_input", "inputName": "2017488_pasqualevpe0_ASN"}, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -764,7 +759,7 @@ class MockReduxStore<T> { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -772,14 +767,14 @@ class MockReduxStore<T> { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -789,7 +784,7 @@ class MockReduxStore<T> { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -803,16 +798,16 @@ class MockReduxStore<T> { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-388_ADIOD-vPE 0", + "modelCustomizationName": "2017-388_PASQUALE-vPE 0", "vfModules": {}, "volumeGroups": {}, "vfcInstanceGroups": {} }, - "2017-488_ADIOD-vPE 0": { + "2017-488_PASQUALE-vPE 0": { "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09", "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-488_ADIOD-vPE", + "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", + "name": "2017-488_PASQUALE-vPE", "version": "5.0", "customizationUuid": "1da7b585-5e61-4993-b95e-8e6606c81e45", "inputs": { @@ -875,29 +870,29 @@ class MockReduxStore<T> { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, - "bandwidth": {"displayName": "bandwidth", "command": "get_input", "inputName": "adiodvpe0_bandwidth"}, + "bandwidth": {"displayName": "bandwidth", "command": "get_input", "inputName": "pasqualevpe0_bandwidth"}, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, - "ASN": {"displayName": "ASN", "command": "get_input", "inputName": "2017488_adiodvpe0_ASN"}, + "ASN": {"displayName": "ASN", "command": "get_input", "inputName": "2017488_pasqualevpe0_ASN"}, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -944,7 +939,7 @@ class MockReduxStore<T> { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -952,14 +947,14 @@ class MockReduxStore<T> { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -969,7 +964,7 @@ class MockReduxStore<T> { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -983,82 +978,82 @@ class MockReduxStore<T> { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-488_ADIOD-vPE 0", + "modelCustomizationName": "2017-488_PASQUALE-vPE 0", "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV" + "vfModuleLabel": "PASQUALE_vRE_BV" }, "inputs": { - "adiodvpe0_bandwidth": { + "pasqualevpe0_bandwidth": { "type": "string", "description": "Requested VPE bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, "constraints": null, "required": true, "default": "10" }, - "2017488_adiodvpe0_vnf_instance_name": { + "2017488_pasqualevpe0_vnf_instance_name": { "type": "string", "description": "The hostname assigned to the vpe.", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, "constraints": null, "required": true, "default": "mtnj309me6" }, - "2017488_adiodvpe0_vnf_config_template_version": { + "2017488_pasqualevpe0_vnf_config_template_version": { "type": "string", "description": "VPE Software Version", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, "constraints": null, "required": true, "default": "17.2" }, - "2017488_adiodvpe0_AIC_CLLI": { + "2017488_pasqualevpe0_AIC_CLLI": { "type": "string", "description": "AIC Site CLLI", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, "constraints": null, "required": true, "default": "ATLMY8GA" }, - "adiodvpe0_bandwidth_units": { + "pasqualevpe0_bandwidth_units": { "type": "string", "description": "Units of bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, "constraints": null, @@ -1068,116 +1063,116 @@ class MockReduxStore<T> { }, "volumeGroupAllowed": true }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db", "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091", "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", "description": null, - "name": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "version": "5", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "ADIOD_base_vPE_BV" + "vfModuleLabel": "PASQUALE_base_vPE_BV" }, "inputs": {}, "volumeGroupAllowed": false }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV" + "vfModuleLabel": "PASQUALE_vPFE_BV" }, "inputs": {}, "volumeGroupAllowed": true } }, "volumeGroups": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV" + "vfModuleLabel": "PASQUALE_vRE_BV" }, "inputs": { - "adiodvpe0_bandwidth": { + "pasqualevpe0_bandwidth": { "type": "string", "description": "Requested VPE bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, "constraints": null, "required": true, "default": "10" }, - "2017488_adiodvpe0_vnf_instance_name": { + "2017488_pasqualevpe0_vnf_instance_name": { "type": "string", "description": "The hostname assigned to the vpe.", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, "constraints": null, "required": true, "default": "mtnj309me6" }, - "2017488_adiodvpe0_vnf_config_template_version": { + "2017488_pasqualevpe0_vnf_config_template_version": { "type": "string", "description": "VPE Software Version", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, "constraints": null, "required": true, "default": "17.2" }, - "2017488_adiodvpe0_AIC_CLLI": { + "2017488_pasqualevpe0_AIC_CLLI": { "type": "string", "description": "AIC Site CLLI", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, "constraints": null, "required": true, "default": "ATLMY8GA" }, - "adiodvpe0_bandwidth_units": { + "pasqualevpe0_bandwidth_units": { "type": "string", "description": "Units of bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, "constraints": null, @@ -1186,19 +1181,19 @@ class MockReduxStore<T> { } } }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV" + "vfModuleLabel": "PASQUALE_vPFE_BV" }, "inputs": {} } @@ -1284,81 +1279,81 @@ class MockReduxStore<T> { "modelCustomizationName": "ExtVL 0" } }, - "collectionResource": {}, + "collectionResources": {}, "configurations": {}, "fabricConfigurations": {}, "serviceProxies": {}, "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV" + "vfModuleLabel": "PASQUALE_vRE_BV" }, "inputs": { - "adiodvpe0_bandwidth": { + "pasqualevpe0_bandwidth": { "type": "string", "description": "Requested VPE bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, "constraints": null, "required": true, "default": "10" }, - "2017488_adiodvpe0_vnf_instance_name": { + "2017488_pasqualevpe0_vnf_instance_name": { "type": "string", "description": "The hostname assigned to the vpe.", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, "constraints": null, "required": true, "default": "mtnj309me6" }, - "2017488_adiodvpe0_vnf_config_template_version": { + "2017488_pasqualevpe0_vnf_config_template_version": { "type": "string", "description": "VPE Software Version", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, "constraints": null, "required": true, "default": "17.2" }, - "2017488_adiodvpe0_AIC_CLLI": { + "2017488_pasqualevpe0_AIC_CLLI": { "type": "string", "description": "AIC Site CLLI", "entry_schema": null, - "inputProperties": {"sourceType": "HEAT", "vfModuleLabel": "ADIOD_vRE_BV", "paramName": "AIC_CLLI"}, + "inputProperties": {"sourceType": "HEAT", "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI"}, "constraints": null, "required": true, "default": "ATLMY8GA" }, - "adiodvpe0_bandwidth_units": { + "pasqualevpe0_bandwidth_units": { "type": "string", "description": "Units of bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, "constraints": null, @@ -1368,112 +1363,112 @@ class MockReduxStore<T> { }, "volumeGroupAllowed": true }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db", "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091", "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", "description": null, - "name": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "version": "5", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "ADIOD_base_vPE_BV" + "vfModuleLabel": "PASQUALE_base_vPE_BV" }, "inputs": {}, "volumeGroupAllowed": false }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV" + "vfModuleLabel": "PASQUALE_vPFE_BV" }, "inputs": {}, "volumeGroupAllowed": true } }, "volumeGroups": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV" + "vfModuleLabel": "PASQUALE_vRE_BV" }, "inputs": { - "adiodvpe0_bandwidth": { + "pasqualevpe0_bandwidth": { "type": "string", "description": "Requested VPE bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, "constraints": null, "required": true, "default": "10" }, - "2017488_adiodvpe0_vnf_instance_name": { + "2017488_pasqualevpe0_vnf_instance_name": { "type": "string", "description": "The hostname assigned to the vpe.", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, "constraints": null, "required": true, "default": "mtnj309me6" }, - "2017488_adiodvpe0_vnf_config_template_version": { + "2017488_pasqualevpe0_vnf_config_template_version": { "type": "string", "description": "VPE Software Version", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, "constraints": null, "required": true, "default": "17.2" }, - "2017488_adiodvpe0_AIC_CLLI": { + "2017488_pasqualevpe0_AIC_CLLI": { "type": "string", "description": "AIC Site CLLI", "entry_schema": null, - "inputProperties": {"sourceType": "HEAT", "vfModuleLabel": "ADIOD_vRE_BV", "paramName": "AIC_CLLI"}, + "inputProperties": {"sourceType": "HEAT", "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI"}, "constraints": null, "required": true, "default": "ATLMY8GA" }, - "adiodvpe0_bandwidth_units": { + "pasqualevpe0_bandwidth_units": { "type": "string", "description": "Units of bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, "constraints": null, @@ -1482,19 +1477,19 @@ class MockReduxStore<T> { } } }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV" + "vfModuleLabel": "PASQUALE_vPFE_BV" }, "inputs": {} } @@ -1505,21 +1500,21 @@ class MockReduxStore<T> { "serviceInstance": { "6e59c5de-f052-46fa-aa7e-2fca9d674c44": { "vnfs": { - "VF_vMee 0": { + "VF_vGeraldine 0": { "rollbackOnFailure": "true", "vfModules": { - "vf_vmee0..VfVmee..base_vmme..module-0": { - "vf_vmee0..VfVmee..base_vmme..module-0vmvzo": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0vmvzo": { "isMissingData": false, "sdncPreReload": null, "modelInfo": { "modelType": "VFmodule", "modelInvariantId": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "modelVersionId": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", - "modelName": "VfVmee..base_vmme..module-0", + "modelName": "VfVgeraldine..base_vflorence..module-0", "modelVersion": "2", "modelCustomizationId": "f8c040f1-7e51-4a11-aca8-acf256cfd861", - "modelCustomizationName": "VfVmee..base_vmme..module-0" + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0" }, "instanceParams": [{}], "trackById": "wmtm6sy2uj" @@ -1527,8 +1522,8 @@ class MockReduxStore<T> { } }, "isMissingData": true, - "originalName": "VF_vMee 0", - "vnfStoreKey": "VF_vMee 0", + "originalName": "VF_vGeraldine 0", + "vnfStoreKey": "VF_vGeraldine 0", "trackById": "p3wk448m5do", "uuid": "d6557200-ecf2-4641-8094-5393ae3aae60", "productFamilyId": "36b4733a-53f4-4cc8-8ff0-9172e5fc4b8e", @@ -1540,9 +1535,9 @@ class MockReduxStore<T> { "modelType": "VF", "modelInvariantId": "4160458e-f648-4b30-a176-43881ffffe9e", "modelVersionId": "6e59c5de-f052-46fa-aa7e-2fca9d674c44", - "modelName": "VF_vMee", + "modelName": "VF_vGeraldine", "modelVersion": "2.0", - "modelCustomizationName": "VF_vMee 0" + "modelCustomizationName": "VF_vGeraldine 0" } } }, @@ -1660,39 +1655,39 @@ class MockReduxStore<T> { } }, "vnfs": { - "2017-488_ADIOD-vPE 0": { + "2017-488_PASQUALE-vPE 0": { "rollbackOnFailure": "true", "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1sgoqi": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1sgoqi": { "instanceName": "yoav", "volumeGroupName": "123", "modelInfo": { "modelInvariantId": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "modelVersionId": "25284168-24bb-4698-8cb4-3f509146eca5", - "modelName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "modelVersion": "6", "modelCustomizationId": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "uuid": "25284168-24bb-4698-8cb4-3f509146eca5" }, "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "isMissingData": false, "instanceParams": [{ - "adiodvpe0_bandwidth": "10", - "2017488_adiodvpe0_vnf_instance_name": "mtnj309me6", - "2017488_adiodvpe0_vnf_config_template_version": "17.2", - "2017488_adiodvpe0_AIC_CLLI": "ATLMY8GA", - "adiodvpe0_bandwidth_units": "Gbps" + "pasqualevpe0_bandwidth": "10", + "2017488_pasqualevpe0_vnf_instance_name": "mtnj309me6", + "2017488_pasqualevpe0_vnf_config_template_version": "17.2", + "2017488_pasqualevpe0_AIC_CLLI": "ATLMY8GA", + "pasqualevpe0_bandwidth_units": "Gbps" }] } } }, "isMissingData": false, - "originalName": "2017-488_ADIOD-vPE 0", - "vnfStoreKey": "2017-488_ADIOD-vPE 0", + "originalName": "2017-488_PASQUALE-vPE 0", + "vnfStoreKey": "2017-488_PASQUALE-vPE 0", "trackById": "o65b26t2thj", - "instanceName": "2017488_ADIODvPE", + "instanceName": "2017488_PASQUALEvPE", "productFamilyId": "ebc3bc3d-62fd-4a3f-a037-f619df4ff034", "lcpCloudRegionId": "hvf6", "tenantId": "bae71557c5bb4d5aac6743a4e5f1d054", @@ -1702,16 +1697,16 @@ class MockReduxStore<T> { "modelInfo": { "modelInvariantId": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", "modelVersionId": "69e09f68-8b63-4cc9-b9ff-860960b5db09", - "modelName": "2017-488_ADIOD-vPE", + "modelName": "2017-488_PASQUALE-vPE", "modelVersion": "5.0", "modelCustomizationId": "1da7b585-5e61-4993-b95e-8e6606c81e45", - "modelCustomizationName": "2017-488_ADIOD-vPE 0", + "modelCustomizationName": "2017-488_PASQUALE-vPE 0", "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09" }, "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09" } }, - "instanceParams": [{"2017488_adiodvpe0_ASN": "AV_vPE"}], + "instanceParams": [{"2017488_pasqualevpe0_ASN": "AV_vPE"}], "validationCounter": 0, "existingNames": {"123": "", "instancename": "", "yoav": "", "extvl": ""}, "existingVNFCounterMap": {"69e09f68-8b63-4cc9-b9ff-860960b5db09": 1}, @@ -1721,7 +1716,7 @@ class MockReduxStore<T> { "subscriptionServiceType": "TYLER SILVIA", "owningEntityId": "d61e6f2d-12fa-4cc2-91df-7c244011d6fc", "productFamilyId": "17cc1042-527b-11e6-beb8-9e71128cae77", - "lcpCloudRegionId": "JANET25", + "lcpCloudRegionId": "AAIAIC25", "tenantId": "092eb9e8e4b7412e8787dd091bc58e86", "aicZoneId": "JAG1", "projectName": null, @@ -1752,12 +1747,12 @@ class MockReduxStore<T> { }, "lcpRegionsAndTenants": { "lcpRegionList": [{ - "id": "JANET25", - "name": "JANET25", + "id": "AAIAIC25", + "name": "AAIAIC25", "isPermitted": true }, {"id": "hvf6", "name": "hvf6", "isPermitted": true}], "lcpRegionsTenantsMap": { - "JANET25": [{ + "AAIAIC25": [{ "id": "092eb9e8e4b7412e8787dd091bc58e86", "name": "USP-SIP-IC-24335-T-01", "isPermitted": true @@ -1767,23 +1762,123 @@ class MockReduxStore<T> { "name": "AIN Web Tool-15-D-testalexandria", "isPermitted": true }, { - "id": "d0a3e3f2964542259d155a81c41aadc3", - "name": "test-hvf6-09", + "id": "229bcdc6eaeb4ca59d55221141d01f8e", + "name": "AIN Web Tool-15-D-STTest2", + "isPermitted": true + }, { + "id": "1178612d2b394be4834ad77f567c0af2", + "name": "AIN Web Tool-15-D-SSPtestcustome", + "isPermitted": true + }, { + "id": "19c5ade915eb461e8af52fb2fd8cd1f2", + "name": "AIN Web Tool-15-D-UncheckedEcopm", + "isPermitted": true + }, { + "id": "de007636e25249238447264a988a927b", + "name": "AIN Web Tool-15-D-dfsdf", + "isPermitted": true + }, { + "id": "62f29b3613634ca6a3065cbe0e020c44", + "name": "AIN/SMS-16-D-Multiservices1", + "isPermitted": true + }, { + "id": "649289e30d3244e0b48098114d63c2aa", + "name": "AIN Web Tool-15-D-SSPST66", + "isPermitted": true + }, { + "id": "3f21eeea6c2c486bba31dab816c05a32", + "name": "AIN Web Tool-15-D-ASSPST47", + "isPermitted": true + }, { + "id": "f60ce21d3ee6427586cff0d22b03b773", + "name": "CESAR-100-D-sspjg67246", + "isPermitted": true + }, { + "id": "8774659e425f479895ae091bb5d46560", + "name": "CESAR-100-D-sspjg68359", + "isPermitted": true + }, { + "id": "624eb554b0d147c19ff8885341760481", + "name": "AINWebTool-15-D-iftach", + "isPermitted": true + }, { + "id": "214f55f5fc414c678059c383b03e4962", + "name": "CESAR-100-D-sspjg612401", + "isPermitted": true + }, { + "id": "c90666c291664841bb98e4d981ff1db5", + "name": "CESAR-100-D-sspjg621340", + "isPermitted": true + }, { + "id": "ce5b6bc5c7b348e1bf4b91ac9a174278", + "name": "sspjg621351cloned", + "isPermitted": true + }, { + "id": "b386b768a3f24c8e953abbe0b3488c02", + "name": "AINWebTool-15-D-eteancomp", + "isPermitted": true + }, { + "id": "dc6c4dbfd225474e9deaadd34968646c", + "name": "AINWebTool-15-T-SPFET", + "isPermitted": true + }, { + "id": "02cb5030e9914aa4be120bd9ed1e19eb", + "name": "AINWebTool-15-X-eeweww", + "isPermitted": true + }, { + "id": "f2f3830e4c984d45bcd00e1a04158a79", + "name": "CESAR-100-D-spjg61909", + "isPermitted": true + }, { + "id": "05b91bd5137f4929878edd965755c06d", + "name": "CESAR-100-D-sspjg621512cloned", + "isPermitted": true + }, { + "id": "7002fbe8482d4a989ddf445b1ce336e0", + "name": "AINWebTool-15-X-vdr", + "isPermitted": true + }, { + "id": "4008522be43741dcb1f5422022a2aa0b", + "name": "AINWebTool-15-D-ssasa", + "isPermitted": true + }, { + "id": "f44e2e96a1b6476abfda2fa407b00169", + "name": "AINWebTool-15-D-PFNPT", + "isPermitted": true + }, { + "id": "b69a52bec8a84669a37a1e8b72708be7", + "name": "AINWebTool-15-X-vdre", + "isPermitted": true + }, { + "id": "fac7d9fd56154caeb9332202dcf2969f", + "name": "AINWebTool-15-X-NONPODECOMP", + "isPermitted": true + }, { + "id": "2d34d8396e194eb49969fd61ffbff961", + "name": "DN5242-Nov16-T5", + "isPermitted": true + }, { + "id": "cb42a77ff45b48a8b8deb83bb64acc74", + "name": "ro-T11", "isPermitted": true }, { "id": "fa45ca53c80b492fa8be5477cd84fc2b", "name": "ro-T112", "isPermitted": true }, { - "id": "cbb99fe4ada84631b7baf046b6fd2044", - "name": "DN5242-Nov16-T3", + "id": "4914ab0ab3a743e58f0eefdacc1dde77", + "name": "DN5242-Nov21-T1", + "isPermitted": true + }, { + "id": "d0a3e3f2964542259d155a81c41aadc3", + "name": "test-hvf6-09", "isPermitted": true - }] + }, {"id": "cbb99fe4ada84631b7baf046b6fd2044", "name": "DN5242-Nov16-T3", "isPermitted": true}] } }, "productFamilies": [{ "id": "ebc3bc3d-62fd-4a3f-a037-f619df4ff034", - "name": "SCOTTIE", + "name": "ERICA", "isPermitted": true }, { "id": "17cc1042-527b-11e6-beb8-9e71128cae77", @@ -1799,7 +1894,7 @@ class MockReduxStore<T> { "isPermitted": true }, {"id": "vTerrance", "name": "vTerrance", "isPermitted": true}, { "id": "323d69d9-2efe-4r45-ay0a-89ea7ard4e6f", - "name": "vSCP", + "name": "vEsmeralda", "isPermitted": true }, { "id": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", @@ -1822,7 +1917,7 @@ class MockReduxStore<T> { "name": "TYLER SILVIA", "isPermitted": true }, {"id": "b6a3f28c-eebf-494c-a900-055cc7c874ce", "name": "VROUTER", "isPermitted": true}, { - "id": "Cisneros", + "id": "vMuriel", "name": "vMuriel", "isPermitted": true }, { @@ -1837,7 +1932,7 @@ class MockReduxStore<T> { "id": "vSalvatore", "name": "vSalvatore", "isPermitted": true - }, {"id": "d7bb0a21-66f2-4e6d-87d9-9ef3ced63ae4", "name": "Josefina", "isPermitted": true}, { + }, {"id": "d7bb0a21-66f2-4e6d-87d9-9ef3ced63ae4", "name": "JOSEFINA", "isPermitted": true}, { "id": "vHubbard", "name": "vHubbard", "isPermitted": true @@ -1857,21 +1952,21 @@ class MockReduxStore<T> { "isPermitted": false }, {"id": "5", "name": "Kennedy", "isPermitted": false}, { "id": "6", - "name": "vSEGW", + "name": "vPorfirio", "isPermitted": false }, {"id": "7", "name": "vVM", "isPermitted": false}, { "id": "8", "name": "vOTA", "isPermitted": false - }, {"id": "9", "name": "vMME", "isPermitted": false}, { + }, {"id": "9", "name": "vFLORENCE", "isPermitted": false}, { "id": "10", "name": "vMNS", "isPermitted": false - }, {"id": "11", "name": "vSCP", "isPermitted": false}, { + }, {"id": "11", "name": "vEsmeralda", "isPermitted": false}, { "id": "12", "name": "VPMS", "isPermitted": false - }, {"id": "13", "name": "vMMSC", "isPermitted": false}, { + }, {"id": "13", "name": "vWINIFRED", "isPermitted": false}, { "id": "14", "name": "SSD", "isPermitted": false @@ -1885,19 +1980,196 @@ class MockReduxStore<T> { "isPermitted": false }] }, - "aicZones": [{ - "id": "NFT1", - "name": "NFTJSSSS-NFT1" - }, { - "id": "JAG1", - "name": "YUDFJULP-JAG1" - }, { + "aicZones": [{"id": "NFT1", "name": "NFTJSSSS-NFT1"}, {"id": "JAG1", "name": "YUDFJULP-JAG1"}, { "id": "YYY1", "name": "UUUAIAAI-YYY1" - }, { - "id": "AVT1", - "name": "AVTRFLHD-AVT1" - }, { + }, {"id": "BAN1", "name": "VSDKYUTP-BAN1"}, {"id": "DKJ1", "name": "DKJSJDKA-DKJ1"}, { + "id": "MCS1", + "name": "ASACMAMS-MCS1" + }, {"id": "UIO1", "name": "uioclli1-UIO1"}, {"id": "RAJ1", "name": "YGBIJNLQ-RAJ1"}, { + "id": "OPA1", + "name": "opaclli1-OPA1" + }, {"id": "SDE1", "name": "ZXCVBNMA-SDE1"}, {"id": "VEN2", "name": "FGHJUHIL-VEN2"}, { + "id": "ORL1", + "name": "ORLDFLMA-ORL1" + }, {"id": "JAD1", "name": "JADECLLI-JAD1"}, {"id": "ZXL1", "name": "LWLWCANN-ZXL1"}, { + "id": "CKL1", + "name": "CLKSKCKK-CKL1" + }, {"id": "SDF1", "name": "sdfclli1-SDF1"}, {"id": "RAD1", "name": "RADICAL1-RAD1"}, { + "id": "KIT1", + "name": "BHYJFGLN-KIT1" + }, {"id": "REL1", "name": "INGERFGT-REL1"}, {"id": "JNL1", "name": "CJALSDAC-JNL1"}, { + "id": "OLK1", + "name": "OLKOLKLS-OLK1" + }, {"id": "CHI1", "name": "CHILLIWE-CHI1"}, {"id": "UUU4", "name": "UUUAAAUU-UUU4"}, { + "id": "TUF1", + "name": "TUFCLLI1-TUF1" + }, {"id": "KJN1", "name": "CKALDKSA-KJN1"}, {"id": "SAM1", "name": "SNDGCA64-SAN1"}, { + "id": "SCK1", + "name": "SCKSCKSK-SCK1" + }, {"id": "HJH1", "name": "AOEEQQQD-HJH1"}, {"id": "HGD1", "name": "SDFQWHGD-HGD1"}, { + "id": "KOR1", + "name": "HYFLNBVT-KOR1" + }, {"id": "ATL43", "name": "AICLOCID-ATL43"}, {"id": "ATL54", "name": "AICFTAAI-ATL54"}, { + "id": "ATL66", + "name": "CLLIAAII-ATL66" + }, {"id": "VEL1", "name": "BNMLKUIK-VEL1"}, {"id": "ICC1", "name": "SANJITAT-ICC1"}, { + "id": "MNT11", + "name": "WSXEFBTH-MNT11" + }, {"id": "DEF2", "name": "WSBHGTYL-DEF2"}, {"id": "MAD11", "name": "SDFQWGKL-MAD11"}, { + "id": "OLG1", + "name": "OLHOLHOL-OLG1" + }, {"id": "GAR1", "name": "NGFVSJKO-GAR1"}, {"id": "SAN22", "name": "GNVLSCTL-SAN22"}, { + "id": "HRG1", + "name": "HRGHRGGS-HRG1" + }, {"id": "JCS1", "name": "JCSJSCJS-JCS1"}, {"id": "DHA12", "name": "WSXEDECF-DHA12"}, { + "id": "HJE1", + "name": "AOEEWWWD-HJE1" + }, {"id": "NCA1", "name": "NCANCANN-NCA1"}, {"id": "IOP1", "name": "iopclli1-IOP1"}, { + "id": "RTY1", + "name": "rtyclli1-RTY1" + }, {"id": "KAP1", "name": "HIOUYTRQ-KAP1"}, {"id": "ZEN1", "name": "ZENCLLI1-ZEN1"}, { + "id": "HKA1", + "name": "JAKHLASS-HKA1" + }, {"id": "CQK1", "name": "CQKSCAKK-CQK1"}, {"id": "SAI1", "name": "UBEKQLPD-SAI1"}, { + "id": "ERT1", + "name": "ertclli1-ERT1" + }, {"id": "IBB1", "name": "PLMKOIJU-IBB1"}, {"id": "TIR2", "name": "PLKINHYI-TIR2"}, { + "id": "HSD1", + "name": "CHASKCDS-HSD1" + }, {"id": "SLF78", "name": "SDCTLFN1-SLF78"}, {"id": "SEE78", "name": "SDCTEEE4-SEE78"}, { + "id": "SAN13", + "name": "TOKYJPFA-SAN13" + }, {"id": "SAA78", "name": "SDCTAAA1-SAA78"}, {"id": "LUC1", "name": "ATLDFGYC-LUC1"}, { + "id": "AMD13", + "name": "MEMATLAN-AMD13" + }, {"id": "TOR1", "name": "TOROONXN-TOR1"}, {"id": "QWE1", "name": "QWECLLI1-QWE1"}, { + "id": "ZOG1", + "name": "ZOGASTRO-ZOG1" + }, {"id": "CAL33", "name": "CALIFORN-CAL33"}, {"id": "SHH78", "name": "SDIT1HHH-SHH78"}, { + "id": "DSA1", + "name": "LKJHGFDS-DSA1" + }, {"id": "CLG1", "name": "CLGRABAD-CLG1"}, {"id": "BNA1", "name": "BNARAGBK-BNA1"}, { + "id": "ATL84", + "name": "CANTTCOC-ATL84" + }, {"id": "APP1", "name": "WBHGTYUI-APP1"}, {"id": "RJN1", "name": "RJNRBZAW-RJN1"}, { + "id": "EHH78", + "name": "SDCSHHH5-EHH78" + }, {"id": "mac10", "name": "PKGTESTF-mac10"}, {"id": "SXB78", "name": "SDCTGXB1-SXB78"}, { + "id": "SAX78", + "name": "SDCTAXG1-SAX78" + }, {"id": "SYD1", "name": "SYDNAUBV-SYD1"}, {"id": "TOK1", "name": "TOKYJPFA-TOK1"}, { + "id": "KGM2", + "name": "KGMTNC20-KGM2" + }, {"id": "DCC1b", "name": "POIUYTGH-DCC1b"}, {"id": "SKK78", "name": "SDCTKKK1-SKK78"}, { + "id": "SGG78", + "name": "SDCTGGG1-SGG78" + }, {"id": "SJJ78", "name": "SDCTJJJ1-SJJ78"}, {"id": "SBX78", "name": "SDCTBXG1-SBX78"}, { + "id": "LAG1", + "name": "LARGIZON-LAG1" + }, {"id": "IAA1", "name": "QAZXSWED-IAA1"}, {"id": "POI1", "name": "PLMNJKIU-POI1"}, { + "id": "LAG1a", + "name": "LARGIZON-LAG1a" + }, {"id": "PBL1", "name": "PBLAPBAI-PBL1"}, {"id": "LAG45", "name": "LARGIZON-LAG1a"}, { + "id": "MAR1", + "name": "MNBVCXZM-MAR1" + }, {"id": "HST70", "name": "HSTNTX70-HST70"}, {"id": "DCC1a", "name": "POIUYTGH-DCC1a"}, { + "id": "TOL1", + "name": "TOLDOH21-TOL1" + }, {"id": "LON1", "name": "LONEENCO-LON1"}, {"id": "SJU78", "name": "SDIT1JUB-SJU78"}, { + "id": "STN27", + "name": "HSTNTX01-STN27" + }, {"id": "SSW56", "name": "ss8126GT-SSW56"}, {"id": "SBB78", "name": "SDIT1BBB-SBB78"}, { + "id": "DCC3", + "name": "POIUYTGH-DCC3" + }, {"id": "GNV1", "name": "GNVLSCTL-GNV1"}, {"id": "WAS1", "name": "WASHDCSW-WAS1"}, { + "id": "TOY1", + "name": "TORYONNZ-TOY1" + }, {"id": "STT1", "name": "STTLWA02-STT1"}, {"id": "STG1", "name": "STTGGE62-STG1"}, { + "id": "SLL78", + "name": "SDCTLLL1-SLL78" + }, {"id": "SBU78", "name": "SDIT1BUB-SBU78"}, {"id": "ATL2", "name": "ATLNGANW-ATL2"}, { + "id": "BOT1", + "name": "BOTHWAKY-BOT1" + }, {"id": "SNG1", "name": "SNGPSIAU-SNG1"}, {"id": "NYC1", "name": "NYCMNY54-NYC1"}, { + "id": "LAG1b", + "name": "LARGIZON-LAG1b" + }, {"id": "AMD15", "name": "AMDFAA01-AMD15"}, {"id": "SNA1", "name": "SNANTXCA-SNA1"}, { + "id": "PLT1", + "name": "PLTNCA60-PLT1" + }, {"id": "TLP1", "name": "TLPNXM18-TLP1"}, {"id": "SDD81", "name": "SAIT1DD6-SDD81"}, { + "id": "DCC1", + "name": "POIUYTGH-DCC1" + }, {"id": "DCC2", "name": "POIUYTGH-DCC2"}, {"id": "OKC1", "name": "OKCBOK55-OKC1"}, { + "id": "PAR1", + "name": "PARSFRCG-PAR1" + }, {"id": "TES36", "name": "ABCEETES-TES36"}, {"id": "COM1", "name": "PLMKOPIU-COM1"}, { + "id": "ANI1", + "name": "ATLNGTRE-ANI1" + }, {"id": "SDG78", "name": "SDIT1BDG-SDG78"}, {"id": "mac20", "name": "PKGTESTF-mac20"}, { + "id": "DSF45", + "name": "DSFBG123-DSF45" + }, {"id": "HST25", "name": "HSTNTX01-HST25"}, {"id": "AMD18", "name": "AUDIMA01-AMD18"}, { + "id": "SAA80", + "name": "SAIT9AA3-SAA80" + }, {"id": "SSA56", "name": "SSIT2AA7-SSA56"}, {"id": "SDD82", "name": "SAIT1DD9-SDD82"}, { + "id": "JCV1", + "name": "JCVLFLBW-JCV1" + }, {"id": "SUL2", "name": "WERTYUJK-SUL2"}, {"id": "PUR1", "name": "purelyde-PUR1"}, { + "id": "FDE55", + "name": "FDERT555-FDE55" + }, {"id": "SITE", "name": "LONEENCO-SITE"}, {"id": "ATL1", "name": "ATLNGAMA-ATL1"}, { + "id": "JUL1", + "name": "ZXCVBNMM-JUL1" + }, {"id": "TAT34", "name": "TESAAISB-TAT34"}, {"id": "XCP12", "name": "CHKGH123-XCP12"}, { + "id": "RAI1", + "name": "poiuytre-RAI1" + }, {"id": "HPO1", "name": "ATLNGAUP-HPO1"}, {"id": "KJF12", "name": "KJFDH123-KJF12"}, { + "id": "SCC80", + "name": "SAIT9CC3-SCC80" + }, {"id": "SAA12", "name": "SAIT9AF8-SAA12"}, {"id": "SAA14", "name": "SAIT1AA9-SAA14"}, { + "id": "ATL35", + "name": "TTESSAAI-ATL35" + }, {"id": "CWY1", "name": "CWYMOWBS-CWY1"}, {"id": "ATL76", "name": "TELEPAAI-ATL76"}, { + "id": "DSL12", + "name": "DSLFK242-DSL12" + }, {"id": "ATL53", "name": "AAIATLTE-ATL53"}, {"id": "SAA11", "name": "SAIT9AA2-SAA11"}, { + "id": "ATL62", + "name": "TESSASCH-ATL62" + }, {"id": "AUG1", "name": "ASDFGHJK-AUG1"}, {"id": "POI22", "name": "POIUY123-POI22"}, { + "id": "SAA13", + "name": "SAIT1AA9-SAA13" + }, {"id": "BHY17", "name": "BHYTFRF3-BHY17"}, {"id": "LIS1", "name": "HOSTPROF-LIS1"}, { + "id": "SIP1", + "name": "ZXCVBNMK-SIP1" + }, {"id": "ATL99", "name": "TEESTAAI-ATL43"}, {"id": "ATL64", "name": "FORLOAAJ-ATL64"}, { + "id": "TAT33", + "name": "TESAAISA-TAT33" + }, {"id": "RAD10", "name": "INDIPUNE-RAD10"}, {"id": "RTW5", "name": "BHYTFRY4-RTW5"}, { + "id": "JGS1", + "name": "KSJKKKKK-JGS1" + }, {"id": "ATL98", "name": "TEESTAAI-ATL43"}, {"id": "WAN1", "name": "LEIWANGW-WAN1"}, { + "id": "ATL44", + "name": "ATLSANAB-ATL44" + }, {"id": "RTD2", "name": "BHYTFRk4-RTD2"}, {"id": "NIR1", "name": "ORFLMANA-NIR1"}, { + "id": "ATL75", + "name": "SANAAIRE-ATL75" + }, {"id": "NUM1", "name": "QWERTYUI-NUM1"}, {"id": "hvf32", "name": "MDTWNJ21-hvf32"}, { + "id": "RTZ4", + "name": "BHYTFRZ6-RTZ4" + }, {"id": "ATL56", "name": "ATLSANAC-ATL56"}, {"id": "AMS1", "name": "AMSTNLBW-AMS1"}, { + "id": "RCT1", + "name": "AMSTERNL-RCT1" + }, {"id": "JAN1", "name": "ORFLMATT-JAN1"}, {"id": "ABC14", "name": "TESAAISA-ABC14"}, { + "id": "TAT37", + "name": "TESAAISD-TAT37" + }, {"id": "MIC54", "name": "MICHIGAN-MIC54"}, {"id": "ABC11", "name": "ATLSANAI-ABC11"}, { + "id": "AMF11", + "name": "AMDOCS01-AMF11" + }, {"id": "ATL63", "name": "ATLSANEW-ATL63"}, {"id": "ABC12", "name": "ATLSECIA-ABC12"}, { + "id": "hvf20", + "name": "MDTWNJ21-hvf20" + }, {"id": "ABC15", "name": "AAITESAN-ABC15"}, {"id": "AVT1", "name": "AVTRFLHD-AVT1"}, { "id": "ATL34", "name": "ATLSANAI-ATL34" }], @@ -2020,7 +2292,7 @@ describe('VFModule popup service', () => { test('getInstance should return new VfModuleInstance', () => { const serviceId : string = '6b528779-44a3-4472-bdff-9cd15ec93450'; const vnfStoreKey = null; - const vfModuleStoreKey = "VF_vMee 0"; + const vfModuleStoreKey = "VF_vGeraldine 0"; let VfModuleInstance ; VfModuleInstance = service.getInstance(serviceId, vnfStoreKey, vfModuleStoreKey); expect (VfModuleInstance).toBeDefined(); @@ -2039,7 +2311,7 @@ describe('VFModule popup service', () => { test('getModelInformation should update modelInformations', () => { const serviceId: string = '6b528779-44a3-4472-bdff-9cd15ec93450'; - const vfModuleModelName: string = '2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1'; + const vfModuleModelName: string = '2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1'; service.getModelInformation(serviceId, vfModuleModelName); expect(service.modelInformations.length).toEqual(15); @@ -2053,7 +2325,7 @@ describe('VFModule popup service', () => { expect(service.modelInformations[2].values).toEqual(['InstanceName']); expect(service.modelInformations[3].label).toEqual("Model Name"); - expect(service.modelInformations[3].values).toEqual(['2017488AdiodVpe..ADIOD_vRE_BV..module-1']); + expect(service.modelInformations[3].values).toEqual(['2017488PasqualeVpe..PASQUALE_vRE_BV..module-1']); expect(service.modelInformations[4].label).toEqual("Model version"); expect(service.modelInformations[4].values).toEqual(['6']); diff --git a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModule/vfModule.popuop.service.ts b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModule/vfModule.popuop.service.ts index 7563f1d2a..c7a71efc0 100644 --- a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModule/vfModule.popuop.service.ts +++ b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModule/vfModule.popuop.service.ts @@ -117,7 +117,7 @@ export class VfModulePopuopService implements GenericPopupInterface { } getControls(serviceId: string, vnfStoreKey: string, vfModuleStoreKey: string, isUpdateMode: boolean) { - if (this._store.getState().service.serviceHierarchy[serviceId].service.instantiationType === 'Macro') { + if (this._store.getState().service.serviceHierarchy[serviceId].service.vidNotions.instantiationType === 'Macro') { return this._vfModuleControlGenerator.getMacroFormControls(serviceId, vnfStoreKey, vfModuleStoreKey, this.uuidData, isUpdateMode); } else { return this._vfModuleControlGenerator.getAlaCarteFormControls(serviceId, vnfStoreKey, vfModuleStoreKey, this.uuidData, isUpdateMode); diff --git a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vnf/vnf.popup.service.spec.ts b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vnf/vnf.popup.service.spec.ts index 9a3e5970e..de7aa4e22 100644 --- a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vnf/vnf.popup.service.spec.ts +++ b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vnf/vnf.popup.service.spec.ts @@ -26,17 +26,12 @@ class MockReduxStore<T> { "FLAG_NETWORK_TO_ASYNC_INSTANTIATION": false, "FLAG_SHOW_ASSIGNMENTS": true, "FLAG_FABRIC_CONFIGURATION_ASSIGNMENTS": true, - "FLAG_UNASSIGN_SERVICE": true, "FLAG_SHOW_VERIFY_SERVICE": false, - "FLAG_COLLECTION_RESOURCE_SUPPORT": true, - "FLAG_DUPLICATE_VNF": true, "FLAG_SERVICE_MODEL_CACHE": true, "FLAG_ADVANCED_PORTS_FILTER": true, "CREATE_INSTANCE_TEST": false, "FLAG_SETTING_DEFAULTS_IN_DRAWING_BOARD": false, "FLAG_REGION_ID_FROM_REMOTE": true, - "FLAG_ASYNC_INSTANTIATION": true, - "FLAG_ASYNC_JOBS": true, "EMPTY_DRAWING_BOARD_TEST": false, "FLAG_ADD_MSO_TESTAPI_FIELD": true }, @@ -57,15 +52,18 @@ class MockReduxStore<T> { "description": "ComplexService", "serviceEcompNaming": "false", "instantiationType": "Macro", + "vidNotions": { + "instantiationType": "Macro" + }, "inputs": {} }, "vnfGroups" : {}, "vnfs": { - "VF_vMee 0": { + "VF_vGeraldine 0": { "uuid": "d6557200-ecf2-4641-8094-5393ae3aae60", "invariantUuid": "4160458e-f648-4b30-a176-43881ffffe9e", - "description": "VSP_vMee", - "name": "VF_vMee", + "description": "VSP_vGeraldine", + "name": "VF_vGeraldine", "version": "2.0", "customizationUuid": "91415b44-753d-494c-926a-456a9172bbb9", "inputs": {}, @@ -236,74 +234,74 @@ class MockReduxStore<T> { "sctp-b-egress-dst_end_port": "65535.0" }, "type": "VF", - "modelCustomizationName": "VF_vMee 0", + "modelCustomizationName": "VF_vGeraldine 0", "vfModules": { - "vf_vmee0..VfVmee..vmme_vlc..module-1": { + "vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1": { "uuid": "522159d5-d6e0-4c2a-aa44-5a542a12a830", "invariantUuid": "98a7c88b-b577-476a-90e4-e25a5871e02b", "customizationUuid": "55b1be94-671a-403e-a26c-667e9c47d091", "description": null, - "name": "VfVmee..vmme_vlc..module-1", + "name": "VfVgeraldine..vflorence_vlc..module-1", "version": "2", - "modelCustomizationName": "VfVmee..vmme_vlc..module-1", + "modelCustomizationName": "VfVgeraldine..vflorence_vlc..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_vlc" + "vfModuleLabel": "vflorence_vlc" }, "inputs": {}, "volumeGroupAllowed": true }, - "vf_vmee0..VfVmee..vmme_gpb..module-2": { + "vf_vgeraldine0..VfVgeraldine..vflorence_gpb..module-2": { "uuid": "41708296-e443-4c71-953f-d9a010f059e1", "invariantUuid": "1cca90b8-3490-495e-87da-3f3e4c57d5b9", "customizationUuid": "6add59e0-7fe1-4bc4-af48-f8812422ae7c", "description": null, - "name": "VfVmee..vmme_gpb..module-2", + "name": "VfVgeraldine..vflorence_gpb..module-2", "version": "2", - "modelCustomizationName": "VfVmee..vmme_gpb..module-2", + "modelCustomizationName": "VfVgeraldine..vflorence_gpb..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_gpb" + "vfModuleLabel": "vflorence_gpb" }, "inputs": {}, "volumeGroupAllowed": false }, - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {}, "volumeGroupAllowed": true } }, "volumeGroups": { - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {} } @@ -332,7 +330,7 @@ class MockReduxStore<T> { "modelCustomizationName": "ExtVL 0" } }, - "collectionResource": {}, + "collectionResources": {}, "configurations": { "Port Mirroring Configuration By Policy 0": { "uuid": "b4398538-e89d-4f13-b33d-ca323434ba50", @@ -353,72 +351,72 @@ class MockReduxStore<T> { }, "serviceProxies": {}, "vfModules": { - "vf_vmee0..VfVmee..vmme_vlc..module-1": { + "vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1": { "uuid": "522159d5-d6e0-4c2a-aa44-5a542a12a830", "invariantUuid": "98a7c88b-b577-476a-90e4-e25a5871e02b", "customizationUuid": "55b1be94-671a-403e-a26c-667e9c47d091", "description": null, - "name": "VfVmee..vmme_vlc..module-1", + "name": "VfVgeraldine..vflorence_vlc..module-1", "version": "2", - "modelCustomizationName": "VfVmee..vmme_vlc..module-1", + "modelCustomizationName": "VfVgeraldine..vflorence_vlc..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_vlc" + "vfModuleLabel": "vflorence_vlc" }, "inputs": {}, "volumeGroupAllowed": true }, - "vf_vmee0..VfVmee..vmme_gpb..module-2": { + "vf_vgeraldine0..VfVgeraldine..vflorence_gpb..module-2": { "uuid": "41708296-e443-4c71-953f-d9a010f059e1", "invariantUuid": "1cca90b8-3490-495e-87da-3f3e4c57d5b9", "customizationUuid": "6add59e0-7fe1-4bc4-af48-f8812422ae7c", "description": null, - "name": "VfVmee..vmme_gpb..module-2", + "name": "VfVgeraldine..vflorence_gpb..module-2", "version": "2", - "modelCustomizationName": "VfVmee..vmme_gpb..module-2", + "modelCustomizationName": "VfVgeraldine..vflorence_gpb..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_gpb" + "vfModuleLabel": "vflorence_gpb" }, "inputs": {}, "volumeGroupAllowed": false }, - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {}, "volumeGroupAllowed": true } }, "volumeGroups": { - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {} } @@ -438,8 +436,11 @@ class MockReduxStore<T> { "description": "", "serviceEcompNaming": "false", "instantiationType": "A-La-Carte", + "vidNotions": { + "instantiationType": "ALaCarte" + }, "inputs": { - "2017488_adiodvpe0_ASN": { + "2017488_pasqualevpe0_ASN": { "type": "string", "description": "AV/PE", "entry_schema": null, @@ -451,11 +452,11 @@ class MockReduxStore<T> { } }, "vnfs": { - "2017-388_ADIOD-vPE 1": { + "2017-388_PASQUALE-vPE 1": { "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413", "invariantUuid": "00beb8f9-6d39-452f-816d-c709b9cbb87d", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-388_ADIOD-vPE", + "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", + "name": "2017-388_PASQUALE-vPE", "version": "1.0", "customizationUuid": "280dec31-f16d-488b-9668-4aae55d6648a", "inputs": { @@ -518,38 +519,38 @@ class MockReduxStore<T> { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, "bandwidth": { "displayName": "bandwidth", "command": "get_input", - "inputName": "adiodvpe0_bandwidth" + "inputName": "pasqualevpe0_bandwidth" }, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, "ASN": { "displayName": "ASN", "command": "get_input", - "inputName": "2017488_adiodvpe0_ASN" + "inputName": "2017488_pasqualevpe0_ASN" }, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "max_instances": 5, "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -594,7 +595,7 @@ class MockReduxStore<T> { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -602,14 +603,14 @@ class MockReduxStore<T> { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -619,7 +620,7 @@ class MockReduxStore<T> { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -633,16 +634,16 @@ class MockReduxStore<T> { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-388_ADIOD-vPE 1", + "modelCustomizationName": "2017-388_PASQUALE-vPE 1", "vfModules": {}, "volumeGroups": {}, "vfcInstanceGroups": {} }, - "2017-388_ADIOD-vPE 0": { + "2017-388_PASQUALE-vPE 0": { "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168", "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-388_ADIOD-vPE", + "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", + "name": "2017-388_PASQUALE-vPE", "version": "4.0", "customizationUuid": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c", "inputs": { @@ -705,37 +706,37 @@ class MockReduxStore<T> { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, "bandwidth": { "displayName": "bandwidth", "command": "get_input", - "inputName": "adiodvpe0_bandwidth" + "inputName": "pasqualevpe0_bandwidth" }, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, "ASN": { "displayName": "ASN", "command": "get_input", - "inputName": "2017488_adiodvpe0_ASN" + "inputName": "2017488_pasqualevpe0_ASN" }, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -781,7 +782,7 @@ class MockReduxStore<T> { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -789,14 +790,14 @@ class MockReduxStore<T> { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -806,7 +807,7 @@ class MockReduxStore<T> { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -820,16 +821,16 @@ class MockReduxStore<T> { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-388_ADIOD-vPE 0", + "modelCustomizationName": "2017-388_PASQUALE-vPE 0", "vfModules": {}, "volumeGroups": {}, "vfcInstanceGroups": {} }, - "2017-488_ADIOD-vPE 0": { + "2017-488_PASQUALE-vPE 0": { "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09", "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-488_ADIOD-vPE", + "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", + "name": "2017-488_PASQUALE-vPE", "version": "5.0", "customizationUuid": "1da7b585-5e61-4993-b95e-8e6606c81e45", "inputs": { @@ -892,37 +893,37 @@ class MockReduxStore<T> { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, "bandwidth": { "displayName": "bandwidth", "command": "get_input", - "inputName": "adiodvpe0_bandwidth" + "inputName": "pasqualevpe0_bandwidth" }, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, "ASN": { "displayName": "ASN", "command": "get_input", - "inputName": "2017488_adiodvpe0_ASN" + "inputName": "2017488_pasqualevpe0_ASN" }, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -969,7 +970,7 @@ class MockReduxStore<T> { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -977,14 +978,14 @@ class MockReduxStore<T> { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -994,7 +995,7 @@ class MockReduxStore<T> { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -1008,82 +1009,82 @@ class MockReduxStore<T> { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", - "modelCustomizationName": "2017-488_ADIOD-vPE 0", + "modelCustomizationName": "2017-488_PASQUALE-vPE 0", "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV" + "vfModuleLabel": "PASQUALE_vRE_BV" }, "inputs": { - "adiodvpe0_bandwidth": { + "pasqualevpe0_bandwidth": { "type": "string", "description": "Requested VPE bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, "constraints": null, "required": true, "default": "10" }, - "2017488_adiodvpe0_vnf_instance_name": { + "2017488_pasqualevpe0_vnf_instance_name": { "type": "string", "description": "The hostname assigned to the vpe.", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, "constraints": null, "required": true, "default": "mtnj309me6" }, - "2017488_adiodvpe0_vnf_config_template_version": { + "2017488_pasqualevpe0_vnf_config_template_version": { "type": "string", "description": "VPE Software Version", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, "constraints": null, "required": true, "default": "17.2" }, - "2017488_adiodvpe0_AIC_CLLI": { + "2017488_pasqualevpe0_AIC_CLLI": { "type": "string", "description": "AIC Site CLLI", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, "constraints": null, "required": true, "default": "ATLMY8GA" }, - "adiodvpe0_bandwidth_units": { + "pasqualevpe0_bandwidth_units": { "type": "string", "description": "Units of bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, "constraints": null, @@ -1093,116 +1094,116 @@ class MockReduxStore<T> { }, "volumeGroupAllowed": true }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db", "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091", "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", "description": null, - "name": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "version": "5", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "ADIOD_base_vPE_BV" + "vfModuleLabel": "PASQUALE_base_vPE_BV" }, "inputs": {}, "volumeGroupAllowed": false }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV" + "vfModuleLabel": "PASQUALE_vPFE_BV" }, "inputs": {}, "volumeGroupAllowed": true } }, "volumeGroups": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV" + "vfModuleLabel": "PASQUALE_vRE_BV" }, "inputs": { - "adiodvpe0_bandwidth": { + "pasqualevpe0_bandwidth": { "type": "string", "description": "Requested VPE bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, "constraints": null, "required": true, "default": "10" }, - "2017488_adiodvpe0_vnf_instance_name": { + "2017488_pasqualevpe0_vnf_instance_name": { "type": "string", "description": "The hostname assigned to the vpe.", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, "constraints": null, "required": true, "default": "mtnj309me6" }, - "2017488_adiodvpe0_vnf_config_template_version": { + "2017488_pasqualevpe0_vnf_config_template_version": { "type": "string", "description": "VPE Software Version", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, "constraints": null, "required": true, "default": "17.2" }, - "2017488_adiodvpe0_AIC_CLLI": { + "2017488_pasqualevpe0_AIC_CLLI": { "type": "string", "description": "AIC Site CLLI", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, "constraints": null, "required": true, "default": "ATLMY8GA" }, - "adiodvpe0_bandwidth_units": { + "pasqualevpe0_bandwidth_units": { "type": "string", "description": "Units of bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, "constraints": null, @@ -1211,19 +1212,19 @@ class MockReduxStore<T> { } } }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV" + "vfModuleLabel": "PASQUALE_vPFE_BV" }, "inputs": {} } @@ -1310,85 +1311,85 @@ class MockReduxStore<T> { "modelCustomizationName": "ExtVL 0" } }, - "collectionResource": {}, + "collectionResources": {}, "configurations": {}, "fabricConfigurations": {}, "serviceProxies": {}, "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV" + "vfModuleLabel": "PASQUALE_vRE_BV" }, "inputs": { - "adiodvpe0_bandwidth": { + "pasqualevpe0_bandwidth": { "type": "string", "description": "Requested VPE bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, "constraints": null, "required": true, "default": "10" }, - "2017488_adiodvpe0_vnf_instance_name": { + "2017488_pasqualevpe0_vnf_instance_name": { "type": "string", "description": "The hostname assigned to the vpe.", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, "constraints": null, "required": true, "default": "mtnj309me6" }, - "2017488_adiodvpe0_vnf_config_template_version": { + "2017488_pasqualevpe0_vnf_config_template_version": { "type": "string", "description": "VPE Software Version", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, "constraints": null, "required": true, "default": "17.2" }, - "2017488_adiodvpe0_AIC_CLLI": { + "2017488_pasqualevpe0_AIC_CLLI": { "type": "string", "description": "AIC Site CLLI", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, "constraints": null, "required": true, "default": "ATLMY8GA" }, - "adiodvpe0_bandwidth_units": { + "pasqualevpe0_bandwidth_units": { "type": "string", "description": "Units of bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, "constraints": null, @@ -1398,116 +1399,116 @@ class MockReduxStore<T> { }, "volumeGroupAllowed": true }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db", "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091", "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", "description": null, - "name": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "version": "5", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "ADIOD_base_vPE_BV" + "vfModuleLabel": "PASQUALE_base_vPE_BV" }, "inputs": {}, "volumeGroupAllowed": false }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV" + "vfModuleLabel": "PASQUALE_vPFE_BV" }, "inputs": {}, "volumeGroupAllowed": true } }, "volumeGroups": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV" + "vfModuleLabel": "PASQUALE_vRE_BV" }, "inputs": { - "adiodvpe0_bandwidth": { + "pasqualevpe0_bandwidth": { "type": "string", "description": "Requested VPE bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, "constraints": null, "required": true, "default": "10" }, - "2017488_adiodvpe0_vnf_instance_name": { + "2017488_pasqualevpe0_vnf_instance_name": { "type": "string", "description": "The hostname assigned to the vpe.", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, "constraints": null, "required": true, "default": "mtnj309me6" }, - "2017488_adiodvpe0_vnf_config_template_version": { + "2017488_pasqualevpe0_vnf_config_template_version": { "type": "string", "description": "VPE Software Version", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, "constraints": null, "required": true, "default": "17.2" }, - "2017488_adiodvpe0_AIC_CLLI": { + "2017488_pasqualevpe0_AIC_CLLI": { "type": "string", "description": "AIC Site CLLI", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, "constraints": null, "required": true, "default": "ATLMY8GA" }, - "adiodvpe0_bandwidth_units": { + "pasqualevpe0_bandwidth_units": { "type": "string", "description": "Units of bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, "constraints": null, @@ -1516,19 +1517,19 @@ class MockReduxStore<T> { } } }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV" + "vfModuleLabel": "PASQUALE_vPFE_BV" }, "inputs": {} } @@ -1539,21 +1540,21 @@ class MockReduxStore<T> { "serviceInstance": { "6e59c5de-f052-46fa-aa7e-2fca9d674c44": { "vnfs": { - "VF_vMee 0": { + "VF_vGeraldine 0": { "rollbackOnFailure": "true", "vfModules": { - "vf_vmee0..VfVmee..base_vmme..module-0": { - "vf_vmee0..VfVmee..base_vmme..module-0vmvzo": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0vmvzo": { "isMissingData": false, "sdncPreReload": null, "modelInfo": { "modelType": "VFmodule", "modelInvariantId": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "modelVersionId": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", - "modelName": "VfVmee..base_vmme..module-0", + "modelName": "VfVgeraldine..base_vflorence..module-0", "modelVersion": "2", "modelCustomizationId": "f8c040f1-7e51-4a11-aca8-acf256cfd861", - "modelCustomizationName": "VfVmee..base_vmme..module-0" + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0" }, "instanceParams": [ {} @@ -1563,8 +1564,8 @@ class MockReduxStore<T> { } }, "isMissingData": true, - "originalName": "VF_vMee 0", - "vnfStoreKey": "VF_vMee 0", + "originalName": "VF_vGeraldine 0", + "vnfStoreKey": "VF_vGeraldine 0", "trackById": "p3wk448m5do", "uuid": "d6557200-ecf2-4641-8094-5393ae3aae60", "productFamilyId": "36b4733a-53f4-4cc8-8ff0-9172e5fc4b8e", @@ -1576,9 +1577,9 @@ class MockReduxStore<T> { "modelType": "VF", "modelInvariantId": "4160458e-f648-4b30-a176-43881ffffe9e", "modelVersionId": "6e59c5de-f052-46fa-aa7e-2fca9d674c44", - "modelName": "VF_vMee", + "modelName": "VF_vGeraldine", "modelVersion": "2.0", - "modelCustomizationName": "VF_vMee 0" + "modelCustomizationName": "VF_vGeraldine 0" } } }, @@ -1708,41 +1709,41 @@ class MockReduxStore<T> { } }, "vnfs": { - "2017-488_ADIOD-vPE 0": { + "2017-488_PASQUALE-vPE 0": { "rollbackOnFailure": "true", "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1sgoqi": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1sgoqi": { "instanceName": "yoav", "volumeGroupName": "123", "modelInfo": { "modelInvariantId": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "modelVersionId": "25284168-24bb-4698-8cb4-3f509146eca5", - "modelName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "modelVersion": "6", "modelCustomizationId": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "uuid": "25284168-24bb-4698-8cb4-3f509146eca5" }, "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "isMissingData": false, "instanceParams": [ { - "adiodvpe0_bandwidth": "10", - "2017488_adiodvpe0_vnf_instance_name": "mtnj309me6", - "2017488_adiodvpe0_vnf_config_template_version": "17.2", - "2017488_adiodvpe0_AIC_CLLI": "ATLMY8GA", - "adiodvpe0_bandwidth_units": "Gbps" + "pasqualevpe0_bandwidth": "10", + "2017488_pasqualevpe0_vnf_instance_name": "mtnj309me6", + "2017488_pasqualevpe0_vnf_config_template_version": "17.2", + "2017488_pasqualevpe0_AIC_CLLI": "ATLMY8GA", + "pasqualevpe0_bandwidth_units": "Gbps" } ] } } }, "isMissingData": false, - "originalName": "2017-488_ADIOD-vPE 0", - "vnfStoreKey": "2017-488_ADIOD-vPE 0", + "originalName": "2017-488_PASQUALE-vPE 0", + "vnfStoreKey": "2017-488_PASQUALE-vPE 0", "trackById": "o65b26t2thj", - "instanceName": "2017488_ADIODvPE", + "instanceName": "2017488_PASQUALEvPE", "productFamilyId": "ebc3bc3d-62fd-4a3f-a037-f619df4ff034", "lcpCloudRegionId": "hvf6", "tenantId": "bae71557c5bb4d5aac6743a4e5f1d054", @@ -1754,10 +1755,10 @@ class MockReduxStore<T> { "modelInfo": { "modelInvariantId": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", "modelVersionId": "69e09f68-8b63-4cc9-b9ff-860960b5db09", - "modelName": "2017-488_ADIOD-vPE", + "modelName": "2017-488_PASQUALE-vPE", "modelVersion": "5.0", "modelCustomizationId": "1da7b585-5e61-4993-b95e-8e6606c81e45", - "modelCustomizationName": "2017-488_ADIOD-vPE 0", + "modelCustomizationName": "2017-488_PASQUALE-vPE 0", "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09" }, "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09" @@ -1765,7 +1766,7 @@ class MockReduxStore<T> { }, "instanceParams": [ { - "2017488_adiodvpe0_ASN": "AV_vPE" + "2017488_pasqualevpe0_ASN": "AV_vPE" } ], "validationCounter": 0, @@ -1786,7 +1787,7 @@ class MockReduxStore<T> { "subscriptionServiceType": "TYLER SILVIA", "owningEntityId": "d61e6f2d-12fa-4cc2-91df-7c244011d6fc", "productFamilyId": "17cc1042-527b-11e6-beb8-9e71128cae77", - "lcpCloudRegionId": "JANET25", + "lcpCloudRegionId": "AAIAIC25", "tenantId": "092eb9e8e4b7412e8787dd091bc58e86", "aicZoneId": "JAG1", "projectName": null, @@ -1818,8 +1819,8 @@ class MockReduxStore<T> { "lcpRegionsAndTenants": { "lcpRegionList": [ { - "id": "JANET25", - "name": "JANET25", + "id": "AAIAIC25", + "name": "AAIAIC25", "isPermitted": true }, { @@ -1829,7 +1830,7 @@ class MockReduxStore<T> { } ], "lcpRegionsTenantsMap": { - "JANET25": [ + "AAIAIC25": [ { "id": "092eb9e8e4b7412e8787dd091bc58e86", "name": "USP-SIP-IC-24335-T-01", @@ -1843,8 +1844,128 @@ class MockReduxStore<T> { "isPermitted": true }, { - "id": "d0a3e3f2964542259d155a81c41aadc3", - "name": "test-hvf6-09", + "id": "229bcdc6eaeb4ca59d55221141d01f8e", + "name": "AIN Web Tool-15-D-STTest2", + "isPermitted": true + }, + { + "id": "1178612d2b394be4834ad77f567c0af2", + "name": "AIN Web Tool-15-D-SSPtestcustome", + "isPermitted": true + }, + { + "id": "19c5ade915eb461e8af52fb2fd8cd1f2", + "name": "AIN Web Tool-15-D-UncheckedEcopm", + "isPermitted": true + }, + { + "id": "de007636e25249238447264a988a927b", + "name": "AIN Web Tool-15-D-dfsdf", + "isPermitted": true + }, + { + "id": "62f29b3613634ca6a3065cbe0e020c44", + "name": "AIN/SMS-16-D-Multiservices1", + "isPermitted": true + }, + { + "id": "649289e30d3244e0b48098114d63c2aa", + "name": "AIN Web Tool-15-D-SSPST66", + "isPermitted": true + }, + { + "id": "3f21eeea6c2c486bba31dab816c05a32", + "name": "AIN Web Tool-15-D-ASSPST47", + "isPermitted": true + }, + { + "id": "f60ce21d3ee6427586cff0d22b03b773", + "name": "CESAR-100-D-sspjg67246", + "isPermitted": true + }, + { + "id": "8774659e425f479895ae091bb5d46560", + "name": "CESAR-100-D-sspjg68359", + "isPermitted": true + }, + { + "id": "624eb554b0d147c19ff8885341760481", + "name": "AINWebTool-15-D-iftach", + "isPermitted": true + }, + { + "id": "214f55f5fc414c678059c383b03e4962", + "name": "CESAR-100-D-sspjg612401", + "isPermitted": true + }, + { + "id": "c90666c291664841bb98e4d981ff1db5", + "name": "CESAR-100-D-sspjg621340", + "isPermitted": true + }, + { + "id": "ce5b6bc5c7b348e1bf4b91ac9a174278", + "name": "sspjg621351cloned", + "isPermitted": true + }, + { + "id": "b386b768a3f24c8e953abbe0b3488c02", + "name": "AINWebTool-15-D-eteancomp", + "isPermitted": true + }, + { + "id": "dc6c4dbfd225474e9deaadd34968646c", + "name": "AINWebTool-15-T-SPFET", + "isPermitted": true + }, + { + "id": "02cb5030e9914aa4be120bd9ed1e19eb", + "name": "AINWebTool-15-X-eeweww", + "isPermitted": true + }, + { + "id": "f2f3830e4c984d45bcd00e1a04158a79", + "name": "CESAR-100-D-spjg61909", + "isPermitted": true + }, + { + "id": "05b91bd5137f4929878edd965755c06d", + "name": "CESAR-100-D-sspjg621512cloned", + "isPermitted": true + }, + { + "id": "7002fbe8482d4a989ddf445b1ce336e0", + "name": "AINWebTool-15-X-vdr", + "isPermitted": true + }, + { + "id": "4008522be43741dcb1f5422022a2aa0b", + "name": "AINWebTool-15-D-ssasa", + "isPermitted": true + }, + { + "id": "f44e2e96a1b6476abfda2fa407b00169", + "name": "AINWebTool-15-D-PFNPT", + "isPermitted": true + }, + { + "id": "b69a52bec8a84669a37a1e8b72708be7", + "name": "AINWebTool-15-X-vdre", + "isPermitted": true + }, + { + "id": "fac7d9fd56154caeb9332202dcf2969f", + "name": "AINWebTool-15-X-NONPODECOMP", + "isPermitted": true + }, + { + "id": "2d34d8396e194eb49969fd61ffbff961", + "name": "DN5242-Nov16-T5", + "isPermitted": true + }, + { + "id": "cb42a77ff45b48a8b8deb83bb64acc74", + "name": "ro-T11", "isPermitted": true }, { @@ -1853,6 +1974,16 @@ class MockReduxStore<T> { "isPermitted": true }, { + "id": "4914ab0ab3a743e58f0eefdacc1dde77", + "name": "DN5242-Nov21-T1", + "isPermitted": true + }, + { + "id": "d0a3e3f2964542259d155a81c41aadc3", + "name": "test-hvf6-09", + "isPermitted": true + }, + { "id": "cbb99fe4ada84631b7baf046b6fd2044", "name": "DN5242-Nov16-T3", "isPermitted": true @@ -1863,7 +1994,7 @@ class MockReduxStore<T> { "productFamilies": [ { "id": "ebc3bc3d-62fd-4a3f-a037-f619df4ff034", - "name": "SCOTTIE", + "name": "ERICA", "isPermitted": true }, { @@ -1888,7 +2019,7 @@ class MockReduxStore<T> { }, { "id": "323d69d9-2efe-4r45-ay0a-89ea7ard4e6f", - "name": "vSCP", + "name": "vEsmeralda", "isPermitted": true }, { @@ -1932,7 +2063,7 @@ class MockReduxStore<T> { "isPermitted": true }, { - "id": "Cisneros", + "id": "vMuriel", "name": "vMuriel", "isPermitted": true }, @@ -1958,7 +2089,7 @@ class MockReduxStore<T> { }, { "id": "d7bb0a21-66f2-4e6d-87d9-9ef3ced63ae4", - "name": "Josefina", + "name": "JOSEFINA", "isPermitted": true }, { @@ -2006,7 +2137,7 @@ class MockReduxStore<T> { }, { "id": "6", - "name": "vSEGW", + "name": "vPorfirio", "isPermitted": false }, { @@ -2021,7 +2152,7 @@ class MockReduxStore<T> { }, { "id": "9", - "name": "vMME", + "name": "vFLORENCE", "isPermitted": false }, { @@ -2031,7 +2162,7 @@ class MockReduxStore<T> { }, { "id": "11", - "name": "vSCP", + "name": "vEsmeralda", "isPermitted": false }, { @@ -2041,7 +2172,7 @@ class MockReduxStore<T> { }, { "id": "13", - "name": "vMMSC", + "name": "vWINIFRED", "isPermitted": false }, { @@ -2085,6 +2216,754 @@ class MockReduxStore<T> { "name": "UUUAIAAI-YYY1" }, { + "id": "BAN1", + "name": "VSDKYUTP-BAN1" + }, + { + "id": "DKJ1", + "name": "DKJSJDKA-DKJ1" + }, + { + "id": "MCS1", + "name": "ASACMAMS-MCS1" + }, + { + "id": "UIO1", + "name": "uioclli1-UIO1" + }, + { + "id": "RAJ1", + "name": "YGBIJNLQ-RAJ1" + }, + { + "id": "OPA1", + "name": "opaclli1-OPA1" + }, + { + "id": "SDE1", + "name": "ZXCVBNMA-SDE1" + }, + { + "id": "VEN2", + "name": "FGHJUHIL-VEN2" + }, + { + "id": "ORL1", + "name": "ORLDFLMA-ORL1" + }, + { + "id": "JAD1", + "name": "JADECLLI-JAD1" + }, + { + "id": "ZXL1", + "name": "LWLWCANN-ZXL1" + }, + { + "id": "CKL1", + "name": "CLKSKCKK-CKL1" + }, + { + "id": "SDF1", + "name": "sdfclli1-SDF1" + }, + { + "id": "RAD1", + "name": "RADICAL1-RAD1" + }, + { + "id": "KIT1", + "name": "BHYJFGLN-KIT1" + }, + { + "id": "REL1", + "name": "INGERFGT-REL1" + }, + { + "id": "JNL1", + "name": "CJALSDAC-JNL1" + }, + { + "id": "OLK1", + "name": "OLKOLKLS-OLK1" + }, + { + "id": "CHI1", + "name": "CHILLIWE-CHI1" + }, + { + "id": "UUU4", + "name": "UUUAAAUU-UUU4" + }, + { + "id": "TUF1", + "name": "TUFCLLI1-TUF1" + }, + { + "id": "KJN1", + "name": "CKALDKSA-KJN1" + }, + { + "id": "SAM1", + "name": "SNDGCA64-SAN1" + }, + { + "id": "SCK1", + "name": "SCKSCKSK-SCK1" + }, + { + "id": "HJH1", + "name": "AOEEQQQD-HJH1" + }, + { + "id": "HGD1", + "name": "SDFQWHGD-HGD1" + }, + { + "id": "KOR1", + "name": "HYFLNBVT-KOR1" + }, + { + "id": "ATL43", + "name": "AICLOCID-ATL43" + }, + { + "id": "ATL54", + "name": "AICFTAAI-ATL54" + }, + { + "id": "ATL66", + "name": "CLLIAAII-ATL66" + }, + { + "id": "VEL1", + "name": "BNMLKUIK-VEL1" + }, + { + "id": "ICC1", + "name": "SANJITAT-ICC1" + }, + { + "id": "MNT11", + "name": "WSXEFBTH-MNT11" + }, + { + "id": "DEF2", + "name": "WSBHGTYL-DEF2" + }, + { + "id": "MAD11", + "name": "SDFQWGKL-MAD11" + }, + { + "id": "OLG1", + "name": "OLHOLHOL-OLG1" + }, + { + "id": "GAR1", + "name": "NGFVSJKO-GAR1" + }, + { + "id": "SAN22", + "name": "GNVLSCTL-SAN22" + }, + { + "id": "HRG1", + "name": "HRGHRGGS-HRG1" + }, + { + "id": "JCS1", + "name": "JCSJSCJS-JCS1" + }, + { + "id": "DHA12", + "name": "WSXEDECF-DHA12" + }, + { + "id": "HJE1", + "name": "AOEEWWWD-HJE1" + }, + { + "id": "NCA1", + "name": "NCANCANN-NCA1" + }, + { + "id": "IOP1", + "name": "iopclli1-IOP1" + }, + { + "id": "RTY1", + "name": "rtyclli1-RTY1" + }, + { + "id": "KAP1", + "name": "HIOUYTRQ-KAP1" + }, + { + "id": "ZEN1", + "name": "ZENCLLI1-ZEN1" + }, + { + "id": "HKA1", + "name": "JAKHLASS-HKA1" + }, + { + "id": "CQK1", + "name": "CQKSCAKK-CQK1" + }, + { + "id": "SAI1", + "name": "UBEKQLPD-SAI1" + }, + { + "id": "ERT1", + "name": "ertclli1-ERT1" + }, + { + "id": "IBB1", + "name": "PLMKOIJU-IBB1" + }, + { + "id": "TIR2", + "name": "PLKINHYI-TIR2" + }, + { + "id": "HSD1", + "name": "CHASKCDS-HSD1" + }, + { + "id": "SLF78", + "name": "SDCTLFN1-SLF78" + }, + { + "id": "SEE78", + "name": "SDCTEEE4-SEE78" + }, + { + "id": "SAN13", + "name": "TOKYJPFA-SAN13" + }, + { + "id": "SAA78", + "name": "SDCTAAA1-SAA78" + }, + { + "id": "LUC1", + "name": "ATLDFGYC-LUC1" + }, + { + "id": "AMD13", + "name": "MEMATLAN-AMD13" + }, + { + "id": "TOR1", + "name": "TOROONXN-TOR1" + }, + { + "id": "QWE1", + "name": "QWECLLI1-QWE1" + }, + { + "id": "ZOG1", + "name": "ZOGASTRO-ZOG1" + }, + { + "id": "CAL33", + "name": "CALIFORN-CAL33" + }, + { + "id": "SHH78", + "name": "SDIT1HHH-SHH78" + }, + { + "id": "DSA1", + "name": "LKJHGFDS-DSA1" + }, + { + "id": "CLG1", + "name": "CLGRABAD-CLG1" + }, + { + "id": "BNA1", + "name": "BNARAGBK-BNA1" + }, + { + "id": "ATL84", + "name": "CANTTCOC-ATL84" + }, + { + "id": "APP1", + "name": "WBHGTYUI-APP1" + }, + { + "id": "RJN1", + "name": "RJNRBZAW-RJN1" + }, + { + "id": "EHH78", + "name": "SDCSHHH5-EHH78" + }, + { + "id": "mac10", + "name": "PKGTESTF-mac10" + }, + { + "id": "SXB78", + "name": "SDCTGXB1-SXB78" + }, + { + "id": "SAX78", + "name": "SDCTAXG1-SAX78" + }, + { + "id": "SYD1", + "name": "SYDNAUBV-SYD1" + }, + { + "id": "TOK1", + "name": "TOKYJPFA-TOK1" + }, + { + "id": "KGM2", + "name": "KGMTNC20-KGM2" + }, + { + "id": "DCC1b", + "name": "POIUYTGH-DCC1b" + }, + { + "id": "SKK78", + "name": "SDCTKKK1-SKK78" + }, + { + "id": "SGG78", + "name": "SDCTGGG1-SGG78" + }, + { + "id": "SJJ78", + "name": "SDCTJJJ1-SJJ78" + }, + { + "id": "SBX78", + "name": "SDCTBXG1-SBX78" + }, + { + "id": "LAG1", + "name": "LARGIZON-LAG1" + }, + { + "id": "IAA1", + "name": "QAZXSWED-IAA1" + }, + { + "id": "POI1", + "name": "PLMNJKIU-POI1" + }, + { + "id": "LAG1a", + "name": "LARGIZON-LAG1a" + }, + { + "id": "PBL1", + "name": "PBLAPBAI-PBL1" + }, + { + "id": "LAG45", + "name": "LARGIZON-LAG1a" + }, + { + "id": "MAR1", + "name": "MNBVCXZM-MAR1" + }, + { + "id": "HST70", + "name": "HSTNTX70-HST70" + }, + { + "id": "DCC1a", + "name": "POIUYTGH-DCC1a" + }, + { + "id": "TOL1", + "name": "TOLDOH21-TOL1" + }, + { + "id": "LON1", + "name": "LONEENCO-LON1" + }, + { + "id": "SJU78", + "name": "SDIT1JUB-SJU78" + }, + { + "id": "STN27", + "name": "HSTNTX01-STN27" + }, + { + "id": "SSW56", + "name": "ss8126GT-SSW56" + }, + { + "id": "SBB78", + "name": "SDIT1BBB-SBB78" + }, + { + "id": "DCC3", + "name": "POIUYTGH-DCC3" + }, + { + "id": "GNV1", + "name": "GNVLSCTL-GNV1" + }, + { + "id": "WAS1", + "name": "WASHDCSW-WAS1" + }, + { + "id": "TOY1", + "name": "TORYONNZ-TOY1" + }, + { + "id": "STT1", + "name": "STTLWA02-STT1" + }, + { + "id": "STG1", + "name": "STTGGE62-STG1" + }, + { + "id": "SLL78", + "name": "SDCTLLL1-SLL78" + }, + { + "id": "SBU78", + "name": "SDIT1BUB-SBU78" + }, + { + "id": "ATL2", + "name": "ATLNGANW-ATL2" + }, + { + "id": "BOT1", + "name": "BOTHWAKY-BOT1" + }, + { + "id": "SNG1", + "name": "SNGPSIAU-SNG1" + }, + { + "id": "NYC1", + "name": "NYCMNY54-NYC1" + }, + { + "id": "LAG1b", + "name": "LARGIZON-LAG1b" + }, + { + "id": "AMD15", + "name": "AMDFAA01-AMD15" + }, + { + "id": "SNA1", + "name": "SNANTXCA-SNA1" + }, + { + "id": "PLT1", + "name": "PLTNCA60-PLT1" + }, + { + "id": "TLP1", + "name": "TLPNXM18-TLP1" + }, + { + "id": "SDD81", + "name": "SAIT1DD6-SDD81" + }, + { + "id": "DCC1", + "name": "POIUYTGH-DCC1" + }, + { + "id": "DCC2", + "name": "POIUYTGH-DCC2" + }, + { + "id": "OKC1", + "name": "OKCBOK55-OKC1" + }, + { + "id": "PAR1", + "name": "PARSFRCG-PAR1" + }, + { + "id": "TES36", + "name": "ABCEETES-TES36" + }, + { + "id": "COM1", + "name": "PLMKOPIU-COM1" + }, + { + "id": "ANI1", + "name": "ATLNGTRE-ANI1" + }, + { + "id": "SDG78", + "name": "SDIT1BDG-SDG78" + }, + { + "id": "mac20", + "name": "PKGTESTF-mac20" + }, + { + "id": "DSF45", + "name": "DSFBG123-DSF45" + }, + { + "id": "HST25", + "name": "HSTNTX01-HST25" + }, + { + "id": "AMD18", + "name": "AUDIMA01-AMD18" + }, + { + "id": "SAA80", + "name": "SAIT9AA3-SAA80" + }, + { + "id": "SSA56", + "name": "SSIT2AA7-SSA56" + }, + { + "id": "SDD82", + "name": "SAIT1DD9-SDD82" + }, + { + "id": "JCV1", + "name": "JCVLFLBW-JCV1" + }, + { + "id": "SUL2", + "name": "WERTYUJK-SUL2" + }, + { + "id": "PUR1", + "name": "purelyde-PUR1" + }, + { + "id": "FDE55", + "name": "FDERT555-FDE55" + }, + { + "id": "SITE", + "name": "LONEENCO-SITE" + }, + { + "id": "ATL1", + "name": "ATLNGAMA-ATL1" + }, + { + "id": "JUL1", + "name": "ZXCVBNMM-JUL1" + }, + { + "id": "TAT34", + "name": "TESAAISB-TAT34" + }, + { + "id": "XCP12", + "name": "CHKGH123-XCP12" + }, + { + "id": "RAI1", + "name": "poiuytre-RAI1" + }, + { + "id": "HPO1", + "name": "ATLNGAUP-HPO1" + }, + { + "id": "KJF12", + "name": "KJFDH123-KJF12" + }, + { + "id": "SCC80", + "name": "SAIT9CC3-SCC80" + }, + { + "id": "SAA12", + "name": "SAIT9AF8-SAA12" + }, + { + "id": "SAA14", + "name": "SAIT1AA9-SAA14" + }, + { + "id": "ATL35", + "name": "TTESSAAI-ATL35" + }, + { + "id": "CWY1", + "name": "CWYMOWBS-CWY1" + }, + { + "id": "ATL76", + "name": "TELEPAAI-ATL76" + }, + { + "id": "DSL12", + "name": "DSLFK242-DSL12" + }, + { + "id": "ATL53", + "name": "AAIATLTE-ATL53" + }, + { + "id": "SAA11", + "name": "SAIT9AA2-SAA11" + }, + { + "id": "ATL62", + "name": "TESSASCH-ATL62" + }, + { + "id": "AUG1", + "name": "ASDFGHJK-AUG1" + }, + { + "id": "POI22", + "name": "POIUY123-POI22" + }, + { + "id": "SAA13", + "name": "SAIT1AA9-SAA13" + }, + { + "id": "BHY17", + "name": "BHYTFRF3-BHY17" + }, + { + "id": "LIS1", + "name": "HOSTPROF-LIS1" + }, + { + "id": "SIP1", + "name": "ZXCVBNMK-SIP1" + }, + { + "id": "ATL99", + "name": "TEESTAAI-ATL43" + }, + { + "id": "ATL64", + "name": "FORLOAAJ-ATL64" + }, + { + "id": "TAT33", + "name": "TESAAISA-TAT33" + }, + { + "id": "RAD10", + "name": "INDIPUNE-RAD10" + }, + { + "id": "RTW5", + "name": "BHYTFRY4-RTW5" + }, + { + "id": "JGS1", + "name": "KSJKKKKK-JGS1" + }, + { + "id": "ATL98", + "name": "TEESTAAI-ATL43" + }, + { + "id": "WAN1", + "name": "LEIWANGW-WAN1" + }, + { + "id": "ATL44", + "name": "ATLSANAB-ATL44" + }, + { + "id": "RTD2", + "name": "BHYTFRk4-RTD2" + }, + { + "id": "NIR1", + "name": "ORFLMANA-NIR1" + }, + { + "id": "ATL75", + "name": "SANAAIRE-ATL75" + }, + { + "id": "NUM1", + "name": "QWERTYUI-NUM1" + }, + { + "id": "hvf32", + "name": "MDTWNJ21-hvf32" + }, + { + "id": "RTZ4", + "name": "BHYTFRZ6-RTZ4" + }, + { + "id": "ATL56", + "name": "ATLSANAC-ATL56" + }, + { + "id": "AMS1", + "name": "AMSTNLBW-AMS1" + }, + { + "id": "RCT1", + "name": "AMSTERNL-RCT1" + }, + { + "id": "JAN1", + "name": "ORFLMATT-JAN1" + }, + { + "id": "ABC14", + "name": "TESAAISA-ABC14" + }, + { + "id": "TAT37", + "name": "TESAAISD-TAT37" + }, + { + "id": "MIC54", + "name": "MICHIGAN-MIC54" + }, + { + "id": "ABC11", + "name": "ATLSANAI-ABC11" + }, + { + "id": "AMF11", + "name": "AMDOCS01-AMF11" + }, + { + "id": "ATL63", + "name": "ATLSANEW-ATL63" + }, + { + "id": "ABC12", + "name": "ATLSECIA-ABC12" + }, + { + "id": "hvf20", + "name": "MDTWNJ21-hvf20" + }, + { + "id": "ABC15", + "name": "AAITESAN-ABC15" + }, + { "id": "AVT1", "name": "AVTRFLHD-AVT1" }, @@ -2278,7 +3157,7 @@ describe('vnf new popup service', () => { test('getModelInformation vnf should update modelInformations', () => { const serviceId: string = '6b528779-44a3-4472-bdff-9cd15ec93450'; - const vnfModelName: string = '2017-388_ADIOD-vPE 1'; + const vnfModelName: string = '2017-388_PASQUALE-vPE 1'; service.getModelInformation(serviceId, vnfModelName); expect(service.modelInformations.length).toEqual(14); expect(service.modelInformations[0].label).toEqual("Subscriber Name"); @@ -2291,13 +3170,13 @@ describe('vnf new popup service', () => { expect(service.modelInformations[2].values).toEqual(['InstanceName']); expect(service.modelInformations[3].label).toEqual("Model Name"); - expect(service.modelInformations[3].values).toEqual(['2017-388_ADIOD-vPE']); + expect(service.modelInformations[3].values).toEqual(['2017-388_PASQUALE-vPE']); expect(service.modelInformations[4].label).toEqual("Model version"); expect(service.modelInformations[4].values).toEqual(['1.0']); expect(service.modelInformations[5].label).toEqual("Description"); - expect(service.modelInformations[5].values).toEqual(['Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM']); + expect(service.modelInformations[5].values).toEqual(['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']); expect(service.modelInformations[6].label).toEqual("Category"); expect(service.modelInformations[6].values).toEqual([undefined]); @@ -2327,34 +3206,34 @@ describe('vnf new popup service', () => { test('getSubLeftTitle new vnf popup should return service model name', () => { service.uuidData = { serviceId: '6e59c5de-f052-46fa-aa7e-2fca9d674c44', - modelName: 'VF_vMee 0' + modelName: 'VF_vGeraldine 0' }; - expect(service.getSubLeftTitle()).toBe('VNF MODEL: VF_vMee'); + expect(service.getSubLeftTitle()).toBe('VNF MODEL: VF_vGeraldine'); }); test('getInstance with empty storekey should be created', () => { const serviceId: string = '6e59c5de-f052-46fa-aa7e-2fca9d674c44'; - const vnfModelName: string = '2017-388_ADIOD-vPE 1'; + const vnfModelName: string = '2017-388_PASQUALE-vPE 1'; const newInstance = service.getInstance(serviceId, vnfModelName, null); expect(newInstance).toBeDefined(); }); test('getInstance with not empty storekey should return vnfStoreKey', () => { const serviceId: string = '6b528779-44a3-4472-bdff-9cd15ec93450'; - const vnfModelName: string = '2017-388_ADIOD-vPE 1'; - const vnfStoreKey: string = '2017-488_ADIOD-vPE 0'; + const vnfModelName: string = '2017-388_PASQUALE-vPE 1'; + const vnfStoreKey: string = '2017-488_PASQUALE-vPE 0'; const newInstance = service.getInstance(serviceId, vnfModelName, vnfStoreKey); - expect(newInstance.vnfStoreKey).toEqual('2017-488_ADIOD-vPE 0'); + expect(newInstance.vnfStoreKey).toEqual('2017-488_PASQUALE-vPE 0'); }); test('getGenericFormPopupDetails returns the FormPopupDetails object', () => { const serviceId: string = '6e59c5de-f052-46fa-aa7e-2fca9d674c44'; - const vnfModelName: string = 'VF_vMee 0'; - const vnfStoreKey: string = 'VF_vMee 0'; + const vnfModelName: string = 'VF_vGeraldine 0'; + const vnfStoreKey: string = 'VF_vGeraldine 0'; let uuidData: UUIDData = <any>{ serviceId: "6e59c5de-f052-46fa-aa7e-2fca9d674c44", - modelName: "VF_vMee 0", - vnfStoreKey: "VF_vMee 0" + modelName: "VF_vGeraldine 0", + vnfStoreKey: "VF_vGeraldine 0" }; const formPopupDetailsObject = service.getGenericFormPopupDetails(serviceId, vnfModelName, vnfStoreKey, null, uuidData, true); expect(formPopupDetailsObject).toBeDefined(); diff --git a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vnf/vnf.popup.service.ts b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vnf/vnf.popup.service.ts index 8969e3c15..b23f74530 100644 --- a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vnf/vnf.popup.service.ts +++ b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vnf/vnf.popup.service.ts @@ -64,7 +64,7 @@ export class VnfPopupService implements GenericPopupInterface{ } getControls(serviceId: string, modelName: string, vnfStoreKey: string){ - if(this._store.getState().service.serviceHierarchy[serviceId].service.instantiationType === 'Macro') { + if(this._store.getState().service.serviceHierarchy[serviceId].service.vidNotions.instantiationType === 'Macro') { return this._vnfControlGenerator.getMacroFormControls(serviceId, vnfStoreKey, modelName); } else { return this._vnfControlGenerator.getAlaCarteFormControls(serviceId, vnfStoreKey, modelName); diff --git a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vnfGroup/vnfGroup.popup.service.spec.ts b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vnfGroup/vnfGroup.popup.service.spec.ts index 5e2d12186..00f979014 100644 --- a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vnfGroup/vnfGroup.popup.service.spec.ts +++ b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vnfGroup/vnfGroup.popup.service.spec.ts @@ -26,17 +26,12 @@ class MockReduxStore<T> { "FLAG_NETWORK_TO_ASYNC_INSTANTIATION": false, "FLAG_SHOW_ASSIGNMENTS": true, "FLAG_FABRIC_CONFIGURATION_ASSIGNMENTS": true, - "FLAG_UNASSIGN_SERVICE": true, "FLAG_SHOW_VERIFY_SERVICE": false, - "FLAG_COLLECTION_RESOURCE_SUPPORT": true, - "FLAG_DUPLICATE_VNF": true, "FLAG_SERVICE_MODEL_CACHE": true, "FLAG_ADVANCED_PORTS_FILTER": true, "CREATE_INSTANCE_TEST": false, "FLAG_SETTING_DEFAULTS_IN_DRAWING_BOARD": false, "FLAG_REGION_ID_FROM_REMOTE": true, - "FLAG_ASYNC_INSTANTIATION": true, - "FLAG_ASYNC_JOBS": true, "EMPTY_DRAWING_BOARD_TEST": false, "FLAG_ADD_MSO_TESTAPI_FIELD": true }, @@ -57,14 +52,17 @@ class MockReduxStore<T> { "description": "ComplexService", "serviceEcompNaming": "false", "instantiationType": "Macro", + "vidNotions": { + "instantiationType": "Macro" + }, "inputs": {} }, "vnfGroups": { - "VF_vMee 0": { + "VF_vGeraldine 0": { "uuid": "d6557200-ecf2-4641-8094-5393ae3aae60", "invariantUuid": "4160458e-f648-4b30-a176-43881ffffe9e", - "description": "VSP_vMee", - "name": "VF_vMee", + "description": "VSP_vGeraldine", + "name": "VF_vGeraldine", "version": "2.0", "customizationUuid": "91415b44-753d-494c-926a-456a9172bbb9", "inputs": {}, @@ -235,74 +233,74 @@ class MockReduxStore<T> { "sctp-b-egress-dst_end_port": "65535.0" }, "type": "VnfGroup", - "modelCustomizationName": "VF_vMee 0", + "modelCustomizationName": "VF_vGeraldine 0", "vfModules": { - "vf_vmee0..VfVmee..vmme_vlc..module-1": { + "vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1": { "uuid": "522159d5-d6e0-4c2a-aa44-5a542a12a830", "invariantUuid": "98a7c88b-b577-476a-90e4-e25a5871e02b", "customizationUuid": "55b1be94-671a-403e-a26c-667e9c47d091", "description": null, - "name": "VfVmee..vmme_vlc..module-1", + "name": "VfVgeraldine..vflorence_vlc..module-1", "version": "2", - "modelCustomizationName": "VfVmee..vmme_vlc..module-1", + "modelCustomizationName": "VfVgeraldine..vflorence_vlc..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_vlc" + "vfModuleLabel": "vflorence_vlc" }, "inputs": {}, "volumeGroupAllowed": true }, - "vf_vmee0..VfVmee..vmme_gpb..module-2": { + "vf_vgeraldine0..VfVgeraldine..vflorence_gpb..module-2": { "uuid": "41708296-e443-4c71-953f-d9a010f059e1", "invariantUuid": "1cca90b8-3490-495e-87da-3f3e4c57d5b9", "customizationUuid": "6add59e0-7fe1-4bc4-af48-f8812422ae7c", "description": null, - "name": "VfVmee..vmme_gpb..module-2", + "name": "VfVgeraldine..vflorence_gpb..module-2", "version": "2", - "modelCustomizationName": "VfVmee..vmme_gpb..module-2", + "modelCustomizationName": "VfVgeraldine..vflorence_gpb..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_gpb" + "vfModuleLabel": "vflorence_gpb" }, "inputs": {}, "volumeGroupAllowed": false }, - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {}, "volumeGroupAllowed": true } }, "volumeGroups": { - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {} } @@ -331,7 +329,7 @@ class MockReduxStore<T> { "modelCustomizationName": "ExtVL 0" } }, - "collectionResource": {}, + "collectionResources": {}, "configurations": { "Port Mirroring Configuration By Policy 0": { "uuid": "b4398538-e89d-4f13-b33d-ca323434ba50", @@ -352,72 +350,72 @@ class MockReduxStore<T> { }, "serviceProxies": {}, "vfModules": { - "vf_vmee0..VfVmee..vmme_vlc..module-1": { + "vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1": { "uuid": "522159d5-d6e0-4c2a-aa44-5a542a12a830", "invariantUuid": "98a7c88b-b577-476a-90e4-e25a5871e02b", "customizationUuid": "55b1be94-671a-403e-a26c-667e9c47d091", "description": null, - "name": "VfVmee..vmme_vlc..module-1", + "name": "VfVgeraldine..vflorence_vlc..module-1", "version": "2", - "modelCustomizationName": "VfVmee..vmme_vlc..module-1", + "modelCustomizationName": "VfVgeraldine..vflorence_vlc..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_vlc" + "vfModuleLabel": "vflorence_vlc" }, "inputs": {}, "volumeGroupAllowed": true }, - "vf_vmee0..VfVmee..vmme_gpb..module-2": { + "vf_vgeraldine0..VfVgeraldine..vflorence_gpb..module-2": { "uuid": "41708296-e443-4c71-953f-d9a010f059e1", "invariantUuid": "1cca90b8-3490-495e-87da-3f3e4c57d5b9", "customizationUuid": "6add59e0-7fe1-4bc4-af48-f8812422ae7c", "description": null, - "name": "VfVmee..vmme_gpb..module-2", + "name": "VfVgeraldine..vflorence_gpb..module-2", "version": "2", - "modelCustomizationName": "VfVmee..vmme_gpb..module-2", + "modelCustomizationName": "VfVgeraldine..vflorence_gpb..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "vmme_gpb" + "vfModuleLabel": "vflorence_gpb" }, "inputs": {}, "volumeGroupAllowed": false }, - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {}, "volumeGroupAllowed": true } }, "volumeGroups": { - "vf_vmee0..VfVmee..base_vmme..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", "description": null, - "name": "VfVmee..base_vmme..module-0", + "name": "VfVgeraldine..base_vflorence..module-0", "version": "2", - "modelCustomizationName": "VfVmee..base_vmme..module-0", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "base_vmme" + "vfModuleLabel": "base_vflorence" }, "inputs": {} } @@ -437,8 +435,11 @@ class MockReduxStore<T> { "description": "", "serviceEcompNaming": "false", "instantiationType": "A-La-Carte", + "vidNotions": { + "instantiationType": "ALaCarte" + }, "inputs": { - "2017488_adiodvpe0_ASN": { + "2017488_pasqualevpe0_ASN": { "type": "string", "description": "AV/PE", "entry_schema": null, @@ -450,11 +451,11 @@ class MockReduxStore<T> { } }, "vnfGroups": { - "2017-388_ADIOD-vPE 1": { + "2017-388_PASQUALE-vPE 1": { "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413", "invariantUuid": "00beb8f9-6d39-452f-816d-c709b9cbb87d", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-388_ADIOD-vPE", + "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", + "name": "2017-388_PASQUALE-vPE", "version": "1.0", "customizationUuid": "280dec31-f16d-488b-9668-4aae55d6648a", "inputs": { @@ -517,38 +518,38 @@ class MockReduxStore<T> { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, "bandwidth": { "displayName": "bandwidth", "command": "get_input", - "inputName": "adiodvpe0_bandwidth" + "inputName": "pasqualevpe0_bandwidth" }, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, "ASN": { "displayName": "ASN", "command": "get_input", - "inputName": "2017488_adiodvpe0_ASN" + "inputName": "2017488_pasqualevpe0_ASN" }, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "max_instances": 5, "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -593,7 +594,7 @@ class MockReduxStore<T> { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -601,14 +602,14 @@ class MockReduxStore<T> { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -618,7 +619,7 @@ class MockReduxStore<T> { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -632,16 +633,16 @@ class MockReduxStore<T> { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VnfGroup", - "modelCustomizationName": "2017-388_ADIOD-vPE 1", + "modelCustomizationName": "2017-388_PASQUALE-vPE 1", "vfModules": {}, "volumeGroups": {}, "vfcInstanceGroups": {} }, - "2017-388_ADIOD-vPE 0": { + "2017-388_PASQUALE-vPE 0": { "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168", "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-388_ADIOD-vPE", + "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", + "name": "2017-388_PASQUALE-vPE", "version": "4.0", "customizationUuid": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c", "inputs": { @@ -704,37 +705,37 @@ class MockReduxStore<T> { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, "bandwidth": { "displayName": "bandwidth", "command": "get_input", - "inputName": "adiodvpe0_bandwidth" + "inputName": "pasqualevpe0_bandwidth" }, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, "ASN": { "displayName": "ASN", "command": "get_input", - "inputName": "2017488_adiodvpe0_ASN" + "inputName": "2017488_pasqualevpe0_ASN" }, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -780,7 +781,7 @@ class MockReduxStore<T> { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -788,14 +789,14 @@ class MockReduxStore<T> { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -805,7 +806,7 @@ class MockReduxStore<T> { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -819,16 +820,16 @@ class MockReduxStore<T> { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VnfGroup", - "modelCustomizationName": "2017-388_ADIOD-vPE 0", + "modelCustomizationName": "2017-388_PASQUALE-vPE 0", "vfModules": {}, "volumeGroups": {}, "vfcInstanceGroups": {} }, - "2017-488_ADIOD-vPE 0": { + "2017-488_PASQUALE-vPE 0": { "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09", "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", - "description": "Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-488_ADIOD-vPE", + "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", + "name": "2017-488_PASQUALE-vPE", "version": "5.0", "customizationUuid": "1da7b585-5e61-4993-b95e-8e6606c81e45", "inputs": { @@ -891,37 +892,37 @@ class MockReduxStore<T> { "vnf_config_template_version": { "displayName": "vnf_config_template_version", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_config_template_version" + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" }, "bandwidth_units": { "displayName": "bandwidth_units", "command": "get_input", - "inputName": "adiodvpe0_bandwidth_units" + "inputName": "pasqualevpe0_bandwidth_units" }, "bandwidth": { "displayName": "bandwidth", "command": "get_input", - "inputName": "adiodvpe0_bandwidth" + "inputName": "pasqualevpe0_bandwidth" }, "AIC_CLLI": { "displayName": "AIC_CLLI", "command": "get_input", - "inputName": "2017488_adiodvpe0_AIC_CLLI" + "inputName": "2017488_pasqualevpe0_AIC_CLLI" }, "ASN": { "displayName": "ASN", "command": "get_input", - "inputName": "2017488_adiodvpe0_ASN" + "inputName": "2017488_pasqualevpe0_ASN" }, "vnf_instance_name": { "displayName": "vnf_instance_name", "command": "get_input", - "inputName": "2017488_adiodvpe0_vnf_instance_name" + "inputName": "2017488_pasqualevpe0_vnf_instance_name" } }, "properties": { "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_adiodvpe0_vnf_config_template_version", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", @@ -968,7 +969,7 @@ class MockReduxStore<T> { "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_adiodvpe0_AIC_CLLI", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", @@ -976,14 +977,14 @@ class MockReduxStore<T> { "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:adiodvpe0_bandwidth_units", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_adiodvpe0_ASN", + "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:adiodvpe0_bandwidth", + "bandwidth": "get_input:pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", @@ -993,7 +994,7 @@ class MockReduxStore<T> { "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_adiodvpe0_vnf_instance_name", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", @@ -1007,82 +1008,82 @@ class MockReduxStore<T> { "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VnfGroup", - "modelCustomizationName": "2017-488_ADIOD-vPE 0", + "modelCustomizationName": "2017-488_PASQUALE-vPE 0", "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV" + "vfModuleLabel": "PASQUALE_vRE_BV" }, "inputs": { - "adiodvpe0_bandwidth": { + "pasqualevpe0_bandwidth": { "type": "string", "description": "Requested VPE bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, "constraints": null, "required": true, "default": "10" }, - "2017488_adiodvpe0_vnf_instance_name": { + "2017488_pasqualevpe0_vnf_instance_name": { "type": "string", "description": "The hostname assigned to the vpe.", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, "constraints": null, "required": true, "default": "mtnj309me6" }, - "2017488_adiodvpe0_vnf_config_template_version": { + "2017488_pasqualevpe0_vnf_config_template_version": { "type": "string", "description": "VPE Software Version", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, "constraints": null, "required": true, "default": "17.2" }, - "2017488_adiodvpe0_AIC_CLLI": { + "2017488_pasqualevpe0_AIC_CLLI": { "type": "string", "description": "AIC Site CLLI", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, "constraints": null, "required": true, "default": "ATLMY8GA" }, - "adiodvpe0_bandwidth_units": { + "pasqualevpe0_bandwidth_units": { "type": "string", "description": "Units of bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, "constraints": null, @@ -1092,116 +1093,116 @@ class MockReduxStore<T> { }, "volumeGroupAllowed": true }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db", "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091", "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", "description": null, - "name": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "version": "5", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "ADIOD_base_vPE_BV" + "vfModuleLabel": "PASQUALE_base_vPE_BV" }, "inputs": {}, "volumeGroupAllowed": false }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV" + "vfModuleLabel": "PASQUALE_vPFE_BV" }, "inputs": {}, "volumeGroupAllowed": true } }, "volumeGroups": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV" + "vfModuleLabel": "PASQUALE_vRE_BV" }, "inputs": { - "adiodvpe0_bandwidth": { + "pasqualevpe0_bandwidth": { "type": "string", "description": "Requested VPE bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, "constraints": null, "required": true, "default": "10" }, - "2017488_adiodvpe0_vnf_instance_name": { + "2017488_pasqualevpe0_vnf_instance_name": { "type": "string", "description": "The hostname assigned to the vpe.", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, "constraints": null, "required": true, "default": "mtnj309me6" }, - "2017488_adiodvpe0_vnf_config_template_version": { + "2017488_pasqualevpe0_vnf_config_template_version": { "type": "string", "description": "VPE Software Version", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, "constraints": null, "required": true, "default": "17.2" }, - "2017488_adiodvpe0_AIC_CLLI": { + "2017488_pasqualevpe0_AIC_CLLI": { "type": "string", "description": "AIC Site CLLI", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, "constraints": null, "required": true, "default": "ATLMY8GA" }, - "adiodvpe0_bandwidth_units": { + "pasqualevpe0_bandwidth_units": { "type": "string", "description": "Units of bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, "constraints": null, @@ -1210,19 +1211,19 @@ class MockReduxStore<T> { } } }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV" + "vfModuleLabel": "PASQUALE_vPFE_BV" }, "inputs": {} } @@ -1308,85 +1309,85 @@ class MockReduxStore<T> { "modelCustomizationName": "ExtVL 0" } }, - "collectionResource": {}, + "collectionResources": {}, "configurations": {}, "fabricConfigurations": {}, "serviceProxies": {}, "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV" + "vfModuleLabel": "PASQUALE_vRE_BV" }, "inputs": { - "adiodvpe0_bandwidth": { + "pasqualevpe0_bandwidth": { "type": "string", "description": "Requested VPE bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, "constraints": null, "required": true, "default": "10" }, - "2017488_adiodvpe0_vnf_instance_name": { + "2017488_pasqualevpe0_vnf_instance_name": { "type": "string", "description": "The hostname assigned to the vpe.", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, "constraints": null, "required": true, "default": "mtnj309me6" }, - "2017488_adiodvpe0_vnf_config_template_version": { + "2017488_pasqualevpe0_vnf_config_template_version": { "type": "string", "description": "VPE Software Version", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, "constraints": null, "required": true, "default": "17.2" }, - "2017488_adiodvpe0_AIC_CLLI": { + "2017488_pasqualevpe0_AIC_CLLI": { "type": "string", "description": "AIC Site CLLI", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, "constraints": null, "required": true, "default": "ATLMY8GA" }, - "adiodvpe0_bandwidth_units": { + "pasqualevpe0_bandwidth_units": { "type": "string", "description": "Units of bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, "constraints": null, @@ -1396,116 +1397,116 @@ class MockReduxStore<T> { }, "volumeGroupAllowed": true }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db", "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091", "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", "description": null, - "name": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "version": "5", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, - "vfModuleLabel": "ADIOD_base_vPE_BV" + "vfModuleLabel": "PASQUALE_base_vPE_BV" }, "inputs": {}, "volumeGroupAllowed": false }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV" + "vfModuleLabel": "PASQUALE_vPFE_BV" }, "inputs": {}, "volumeGroupAllowed": true } }, "volumeGroups": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, - "name": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vRE_BV" + "vfModuleLabel": "PASQUALE_vRE_BV" }, "inputs": { - "adiodvpe0_bandwidth": { + "pasqualevpe0_bandwidth": { "type": "string", "description": "Requested VPE bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth" }, "constraints": null, "required": true, "default": "10" }, - "2017488_adiodvpe0_vnf_instance_name": { + "2017488_pasqualevpe0_vnf_instance_name": { "type": "string", "description": "The hostname assigned to the vpe.", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_instance_name" }, "constraints": null, "required": true, "default": "mtnj309me6" }, - "2017488_adiodvpe0_vnf_config_template_version": { + "2017488_pasqualevpe0_vnf_config_template_version": { "type": "string", "description": "VPE Software Version", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "vnf_config_template_version" }, "constraints": null, "required": true, "default": "17.2" }, - "2017488_adiodvpe0_AIC_CLLI": { + "2017488_pasqualevpe0_AIC_CLLI": { "type": "string", "description": "AIC Site CLLI", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI" }, "constraints": null, "required": true, "default": "ATLMY8GA" }, - "adiodvpe0_bandwidth_units": { + "pasqualevpe0_bandwidth_units": { "type": "string", "description": "Units of bandwidth", "entry_schema": null, "inputProperties": { "sourceType": "HEAT", - "vfModuleLabel": "ADIOD_vRE_BV", + "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "bandwidth_units" }, "constraints": null, @@ -1514,19 +1515,19 @@ class MockReduxStore<T> { } } }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, - "name": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vPFE_BV..module-2", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, - "vfModuleLabel": "ADIOD_vPFE_BV" + "vfModuleLabel": "PASQUALE_vPFE_BV" }, "inputs": {} } @@ -1537,21 +1538,21 @@ class MockReduxStore<T> { "serviceInstance": { "6e59c5de-f052-46fa-aa7e-2fca9d674c44": { "vnfGroups": { - "VF_vMee 0": { + "VF_vGeraldine 0": { "rollbackOnFailure": "true", "vfModules": { - "vf_vmee0..VfVmee..base_vmme..module-0": { - "vf_vmee0..VfVmee..base_vmme..module-0vmvzo": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0vmvzo": { "isMissingData": false, "sdncPreReload": null, "modelInfo": { "modelType": "VFmodule", "modelInvariantId": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", "modelVersionId": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", - "modelName": "VfVmee..base_vmme..module-0", + "modelName": "VfVgeraldine..base_vflorence..module-0", "modelVersion": "2", "modelCustomizationId": "f8c040f1-7e51-4a11-aca8-acf256cfd861", - "modelCustomizationName": "VfVmee..base_vmme..module-0" + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0" }, "instanceParams": [ {} @@ -1561,8 +1562,8 @@ class MockReduxStore<T> { } }, "isMissingData": true, - "originalName": "VF_vMee 0", - "vnfGroupStoreKey": "VF_vMee 0", + "originalName": "VF_vGeraldine 0", + "vnfGroupStoreKey": "VF_vGeraldine 0", "trackById": "p3wk448m5do", "uuid": "d6557200-ecf2-4641-8094-5393ae3aae60", "productFamilyId": "36b4733a-53f4-4cc8-8ff0-9172e5fc4b8e", @@ -1574,9 +1575,9 @@ class MockReduxStore<T> { "modelType": "VnfGroup", "modelInvariantId": "4160458e-f648-4b30-a176-43881ffffe9e", "modelVersionId": "6e59c5de-f052-46fa-aa7e-2fca9d674c44", - "modelName": "VF_vMee", + "modelName": "VF_vGeraldine", "modelVersion": "2.0", - "modelCustomizationName": "VF_vMee 0" + "modelCustomizationName": "VF_vGeraldine 0" } } }, @@ -1705,41 +1706,41 @@ class MockReduxStore<T> { } }, "vnfGroups": { - "2017-488_ADIOD-vPE 0": { + "2017-488_PASQUALE-vPE 0": { "rollbackOnFailure": "true", "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1sgoqi": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1sgoqi": { "instanceName": "yoav", "volumeGroupName": "123", "modelInfo": { "modelInvariantId": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "modelVersionId": "25284168-24bb-4698-8cb4-3f509146eca5", - "modelName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "modelVersion": "6", "modelCustomizationId": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "uuid": "25284168-24bb-4698-8cb4-3f509146eca5" }, "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "isMissingData": false, "instanceParams": [ { - "adiodvpe0_bandwidth": "10", - "2017488_adiodvpe0_vnf_instance_name": "mtnj309me6", - "2017488_adiodvpe0_vnf_config_template_version": "17.2", - "2017488_adiodvpe0_AIC_CLLI": "ATLMY8GA", - "adiodvpe0_bandwidth_units": "Gbps" + "pasqualevpe0_bandwidth": "10", + "2017488_pasqualevpe0_vnf_instance_name": "mtnj309me6", + "2017488_pasqualevpe0_vnf_config_template_version": "17.2", + "2017488_pasqualevpe0_AIC_CLLI": "ATLMY8GA", + "pasqualevpe0_bandwidth_units": "Gbps" } ] } } }, "isMissingData": false, - "originalName": "2017-488_ADIOD-vPE 0", - "vnfGroupStoreKey": "2017-488_ADIOD-vPE 0", + "originalName": "2017-488_PASQUALE-vPE 0", + "vnfGroupStoreKey": "2017-488_PASQUALE-vPE 0", "trackById": "o65b26t2thj", - "instanceName": "2017488_ADIODvPE", + "instanceName": "2017488_PASQUALEvPE", "productFamilyId": "ebc3bc3d-62fd-4a3f-a037-f619df4ff034", "lcpCloudRegionId": "hvf6", "tenantId": "bae71557c5bb4d5aac6743a4e5f1d054", @@ -1751,10 +1752,10 @@ class MockReduxStore<T> { "modelInfo": { "modelInvariantId": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", "modelVersionId": "69e09f68-8b63-4cc9-b9ff-860960b5db09", - "modelName": "2017-488_ADIOD-vPE", + "modelName": "2017-488_PASQUALE-vPE", "modelVersion": "5.0", "modelCustomizationId": "1da7b585-5e61-4993-b95e-8e6606c81e45", - "modelCustomizationName": "2017-488_ADIOD-vPE 0", + "modelCustomizationName": "2017-488_PASQUALE-vPE 0", "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09" }, "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09" @@ -1762,7 +1763,7 @@ class MockReduxStore<T> { }, "instanceParams": [ { - "2017488_adiodvpe0_ASN": "AV_vPE" + "2017488_pasqualevpe0_ASN": "AV_vPE" } ], "validationCounter": 0, @@ -1783,7 +1784,7 @@ class MockReduxStore<T> { "subscriptionServiceType": "TYLER SILVIA", "owningEntityId": "d61e6f2d-12fa-4cc2-91df-7c244011d6fc", "productFamilyId": "17cc1042-527b-11e6-beb8-9e71128cae77", - "lcpCloudRegionId": "JANET25", + "lcpCloudRegionId": "AAIAIC25", "tenantId": "092eb9e8e4b7412e8787dd091bc58e86", "aicZoneId": "JAG1", "projectName": null, @@ -1816,8 +1817,8 @@ class MockReduxStore<T> { "lcpRegionsAndTenants": { "lcpRegionList": [ { - "id": "JANET25", - "name": "JANET25", + "id": "AAIAIC25", + "name": "AAIAIC25", "isPermitted": true }, { @@ -1827,7 +1828,7 @@ class MockReduxStore<T> { } ], "lcpRegionsTenantsMap": { - "JANET25": [ + "AAIAIC25": [ { "id": "092eb9e8e4b7412e8787dd091bc58e86", "name": "USP-SIP-IC-24335-T-01", @@ -1841,8 +1842,128 @@ class MockReduxStore<T> { "isPermitted": true }, { - "id": "d0a3e3f2964542259d155a81c41aadc3", - "name": "test-hvf6-09", + "id": "229bcdc6eaeb4ca59d55221141d01f8e", + "name": "AIN Web Tool-15-D-STTest2", + "isPermitted": true + }, + { + "id": "1178612d2b394be4834ad77f567c0af2", + "name": "AIN Web Tool-15-D-SSPtestcustome", + "isPermitted": true + }, + { + "id": "19c5ade915eb461e8af52fb2fd8cd1f2", + "name": "AIN Web Tool-15-D-UncheckedEcopm", + "isPermitted": true + }, + { + "id": "de007636e25249238447264a988a927b", + "name": "AIN Web Tool-15-D-dfsdf", + "isPermitted": true + }, + { + "id": "62f29b3613634ca6a3065cbe0e020c44", + "name": "AIN/SMS-16-D-Multiservices1", + "isPermitted": true + }, + { + "id": "649289e30d3244e0b48098114d63c2aa", + "name": "AIN Web Tool-15-D-SSPST66", + "isPermitted": true + }, + { + "id": "3f21eeea6c2c486bba31dab816c05a32", + "name": "AIN Web Tool-15-D-ASSPST47", + "isPermitted": true + }, + { + "id": "f60ce21d3ee6427586cff0d22b03b773", + "name": "CESAR-100-D-sspjg67246", + "isPermitted": true + }, + { + "id": "8774659e425f479895ae091bb5d46560", + "name": "CESAR-100-D-sspjg68359", + "isPermitted": true + }, + { + "id": "624eb554b0d147c19ff8885341760481", + "name": "AINWebTool-15-D-iftach", + "isPermitted": true + }, + { + "id": "214f55f5fc414c678059c383b03e4962", + "name": "CESAR-100-D-sspjg612401", + "isPermitted": true + }, + { + "id": "c90666c291664841bb98e4d981ff1db5", + "name": "CESAR-100-D-sspjg621340", + "isPermitted": true + }, + { + "id": "ce5b6bc5c7b348e1bf4b91ac9a174278", + "name": "sspjg621351cloned", + "isPermitted": true + }, + { + "id": "b386b768a3f24c8e953abbe0b3488c02", + "name": "AINWebTool-15-D-eteancomp", + "isPermitted": true + }, + { + "id": "dc6c4dbfd225474e9deaadd34968646c", + "name": "AINWebTool-15-T-SPFET", + "isPermitted": true + }, + { + "id": "02cb5030e9914aa4be120bd9ed1e19eb", + "name": "AINWebTool-15-X-eeweww", + "isPermitted": true + }, + { + "id": "f2f3830e4c984d45bcd00e1a04158a79", + "name": "CESAR-100-D-spjg61909", + "isPermitted": true + }, + { + "id": "05b91bd5137f4929878edd965755c06d", + "name": "CESAR-100-D-sspjg621512cloned", + "isPermitted": true + }, + { + "id": "7002fbe8482d4a989ddf445b1ce336e0", + "name": "AINWebTool-15-X-vdr", + "isPermitted": true + }, + { + "id": "4008522be43741dcb1f5422022a2aa0b", + "name": "AINWebTool-15-D-ssasa", + "isPermitted": true + }, + { + "id": "f44e2e96a1b6476abfda2fa407b00169", + "name": "AINWebTool-15-D-PFNPT", + "isPermitted": true + }, + { + "id": "b69a52bec8a84669a37a1e8b72708be7", + "name": "AINWebTool-15-X-vdre", + "isPermitted": true + }, + { + "id": "fac7d9fd56154caeb9332202dcf2969f", + "name": "AINWebTool-15-X-NONPODECOMP", + "isPermitted": true + }, + { + "id": "2d34d8396e194eb49969fd61ffbff961", + "name": "DN5242-Nov16-T5", + "isPermitted": true + }, + { + "id": "cb42a77ff45b48a8b8deb83bb64acc74", + "name": "ro-T11", "isPermitted": true }, { @@ -1851,6 +1972,16 @@ class MockReduxStore<T> { "isPermitted": true }, { + "id": "4914ab0ab3a743e58f0eefdacc1dde77", + "name": "DN5242-Nov21-T1", + "isPermitted": true + }, + { + "id": "d0a3e3f2964542259d155a81c41aadc3", + "name": "test-hvf6-09", + "isPermitted": true + }, + { "id": "cbb99fe4ada84631b7baf046b6fd2044", "name": "DN5242-Nov16-T3", "isPermitted": true @@ -1861,7 +1992,7 @@ class MockReduxStore<T> { "productFamilies": [ { "id": "ebc3bc3d-62fd-4a3f-a037-f619df4ff034", - "name": "SCOTTIE", + "name": "ERICA", "isPermitted": true }, { @@ -1886,7 +2017,7 @@ class MockReduxStore<T> { }, { "id": "323d69d9-2efe-4r45-ay0a-89ea7ard4e6f", - "name": "vSCP", + "name": "vEsmeralda", "isPermitted": true }, { @@ -1930,7 +2061,7 @@ class MockReduxStore<T> { "isPermitted": true }, { - "id": "Cisneros", + "id": "vMuriel", "name": "vMuriel", "isPermitted": true }, @@ -1956,7 +2087,7 @@ class MockReduxStore<T> { }, { "id": "d7bb0a21-66f2-4e6d-87d9-9ef3ced63ae4", - "name": "Josefina", + "name": "JOSEFINA", "isPermitted": true }, { @@ -2004,7 +2135,7 @@ class MockReduxStore<T> { }, { "id": "6", - "name": "vSEGW", + "name": "vPorfirio", "isPermitted": false }, { @@ -2019,7 +2150,7 @@ class MockReduxStore<T> { }, { "id": "9", - "name": "vMME", + "name": "vFLORENCE", "isPermitted": false }, { @@ -2029,7 +2160,7 @@ class MockReduxStore<T> { }, { "id": "11", - "name": "vSCP", + "name": "vEsmeralda", "isPermitted": false }, { @@ -2039,7 +2170,7 @@ class MockReduxStore<T> { }, { "id": "13", - "name": "vMMSC", + "name": "vWINIFRED", "isPermitted": false }, { @@ -2083,6 +2214,754 @@ class MockReduxStore<T> { "name": "UUUAIAAI-YYY1" }, { + "id": "BAN1", + "name": "VSDKYUTP-BAN1" + }, + { + "id": "DKJ1", + "name": "DKJSJDKA-DKJ1" + }, + { + "id": "MCS1", + "name": "ASACMAMS-MCS1" + }, + { + "id": "UIO1", + "name": "uioclli1-UIO1" + }, + { + "id": "RAJ1", + "name": "YGBIJNLQ-RAJ1" + }, + { + "id": "OPA1", + "name": "opaclli1-OPA1" + }, + { + "id": "SDE1", + "name": "ZXCVBNMA-SDE1" + }, + { + "id": "VEN2", + "name": "FGHJUHIL-VEN2" + }, + { + "id": "ORL1", + "name": "ORLDFLMA-ORL1" + }, + { + "id": "JAD1", + "name": "JADECLLI-JAD1" + }, + { + "id": "ZXL1", + "name": "LWLWCANN-ZXL1" + }, + { + "id": "CKL1", + "name": "CLKSKCKK-CKL1" + }, + { + "id": "SDF1", + "name": "sdfclli1-SDF1" + }, + { + "id": "RAD1", + "name": "RADICAL1-RAD1" + }, + { + "id": "KIT1", + "name": "BHYJFGLN-KIT1" + }, + { + "id": "REL1", + "name": "INGERFGT-REL1" + }, + { + "id": "JNL1", + "name": "CJALSDAC-JNL1" + }, + { + "id": "OLK1", + "name": "OLKOLKLS-OLK1" + }, + { + "id": "CHI1", + "name": "CHILLIWE-CHI1" + }, + { + "id": "UUU4", + "name": "UUUAAAUU-UUU4" + }, + { + "id": "TUF1", + "name": "TUFCLLI1-TUF1" + }, + { + "id": "KJN1", + "name": "CKALDKSA-KJN1" + }, + { + "id": "SAM1", + "name": "SNDGCA64-SAN1" + }, + { + "id": "SCK1", + "name": "SCKSCKSK-SCK1" + }, + { + "id": "HJH1", + "name": "AOEEQQQD-HJH1" + }, + { + "id": "HGD1", + "name": "SDFQWHGD-HGD1" + }, + { + "id": "KOR1", + "name": "HYFLNBVT-KOR1" + }, + { + "id": "ATL43", + "name": "AICLOCID-ATL43" + }, + { + "id": "ATL54", + "name": "AICFTAAI-ATL54" + }, + { + "id": "ATL66", + "name": "CLLIAAII-ATL66" + }, + { + "id": "VEL1", + "name": "BNMLKUIK-VEL1" + }, + { + "id": "ICC1", + "name": "SANJITAT-ICC1" + }, + { + "id": "MNT11", + "name": "WSXEFBTH-MNT11" + }, + { + "id": "DEF2", + "name": "WSBHGTYL-DEF2" + }, + { + "id": "MAD11", + "name": "SDFQWGKL-MAD11" + }, + { + "id": "OLG1", + "name": "OLHOLHOL-OLG1" + }, + { + "id": "GAR1", + "name": "NGFVSJKO-GAR1" + }, + { + "id": "SAN22", + "name": "GNVLSCTL-SAN22" + }, + { + "id": "HRG1", + "name": "HRGHRGGS-HRG1" + }, + { + "id": "JCS1", + "name": "JCSJSCJS-JCS1" + }, + { + "id": "DHA12", + "name": "WSXEDECF-DHA12" + }, + { + "id": "HJE1", + "name": "AOEEWWWD-HJE1" + }, + { + "id": "NCA1", + "name": "NCANCANN-NCA1" + }, + { + "id": "IOP1", + "name": "iopclli1-IOP1" + }, + { + "id": "RTY1", + "name": "rtyclli1-RTY1" + }, + { + "id": "KAP1", + "name": "HIOUYTRQ-KAP1" + }, + { + "id": "ZEN1", + "name": "ZENCLLI1-ZEN1" + }, + { + "id": "HKA1", + "name": "JAKHLASS-HKA1" + }, + { + "id": "CQK1", + "name": "CQKSCAKK-CQK1" + }, + { + "id": "SAI1", + "name": "UBEKQLPD-SAI1" + }, + { + "id": "ERT1", + "name": "ertclli1-ERT1" + }, + { + "id": "IBB1", + "name": "PLMKOIJU-IBB1" + }, + { + "id": "TIR2", + "name": "PLKINHYI-TIR2" + }, + { + "id": "HSD1", + "name": "CHASKCDS-HSD1" + }, + { + "id": "SLF78", + "name": "SDCTLFN1-SLF78" + }, + { + "id": "SEE78", + "name": "SDCTEEE4-SEE78" + }, + { + "id": "SAN13", + "name": "TOKYJPFA-SAN13" + }, + { + "id": "SAA78", + "name": "SDCTAAA1-SAA78" + }, + { + "id": "LUC1", + "name": "ATLDFGYC-LUC1" + }, + { + "id": "AMD13", + "name": "MEMATLAN-AMD13" + }, + { + "id": "TOR1", + "name": "TOROONXN-TOR1" + }, + { + "id": "QWE1", + "name": "QWECLLI1-QWE1" + }, + { + "id": "ZOG1", + "name": "ZOGASTRO-ZOG1" + }, + { + "id": "CAL33", + "name": "CALIFORN-CAL33" + }, + { + "id": "SHH78", + "name": "SDIT1HHH-SHH78" + }, + { + "id": "DSA1", + "name": "LKJHGFDS-DSA1" + }, + { + "id": "CLG1", + "name": "CLGRABAD-CLG1" + }, + { + "id": "BNA1", + "name": "BNARAGBK-BNA1" + }, + { + "id": "ATL84", + "name": "CANTTCOC-ATL84" + }, + { + "id": "APP1", + "name": "WBHGTYUI-APP1" + }, + { + "id": "RJN1", + "name": "RJNRBZAW-RJN1" + }, + { + "id": "EHH78", + "name": "SDCSHHH5-EHH78" + }, + { + "id": "mac10", + "name": "PKGTESTF-mac10" + }, + { + "id": "SXB78", + "name": "SDCTGXB1-SXB78" + }, + { + "id": "SAX78", + "name": "SDCTAXG1-SAX78" + }, + { + "id": "SYD1", + "name": "SYDNAUBV-SYD1" + }, + { + "id": "TOK1", + "name": "TOKYJPFA-TOK1" + }, + { + "id": "KGM2", + "name": "KGMTNC20-KGM2" + }, + { + "id": "DCC1b", + "name": "POIUYTGH-DCC1b" + }, + { + "id": "SKK78", + "name": "SDCTKKK1-SKK78" + }, + { + "id": "SGG78", + "name": "SDCTGGG1-SGG78" + }, + { + "id": "SJJ78", + "name": "SDCTJJJ1-SJJ78" + }, + { + "id": "SBX78", + "name": "SDCTBXG1-SBX78" + }, + { + "id": "LAG1", + "name": "LARGIZON-LAG1" + }, + { + "id": "IAA1", + "name": "QAZXSWED-IAA1" + }, + { + "id": "POI1", + "name": "PLMNJKIU-POI1" + }, + { + "id": "LAG1a", + "name": "LARGIZON-LAG1a" + }, + { + "id": "PBL1", + "name": "PBLAPBAI-PBL1" + }, + { + "id": "LAG45", + "name": "LARGIZON-LAG1a" + }, + { + "id": "MAR1", + "name": "MNBVCXZM-MAR1" + }, + { + "id": "HST70", + "name": "HSTNTX70-HST70" + }, + { + "id": "DCC1a", + "name": "POIUYTGH-DCC1a" + }, + { + "id": "TOL1", + "name": "TOLDOH21-TOL1" + }, + { + "id": "LON1", + "name": "LONEENCO-LON1" + }, + { + "id": "SJU78", + "name": "SDIT1JUB-SJU78" + }, + { + "id": "STN27", + "name": "HSTNTX01-STN27" + }, + { + "id": "SSW56", + "name": "ss8126GT-SSW56" + }, + { + "id": "SBB78", + "name": "SDIT1BBB-SBB78" + }, + { + "id": "DCC3", + "name": "POIUYTGH-DCC3" + }, + { + "id": "GNV1", + "name": "GNVLSCTL-GNV1" + }, + { + "id": "WAS1", + "name": "WASHDCSW-WAS1" + }, + { + "id": "TOY1", + "name": "TORYONNZ-TOY1" + }, + { + "id": "STT1", + "name": "STTLWA02-STT1" + }, + { + "id": "STG1", + "name": "STTGGE62-STG1" + }, + { + "id": "SLL78", + "name": "SDCTLLL1-SLL78" + }, + { + "id": "SBU78", + "name": "SDIT1BUB-SBU78" + }, + { + "id": "ATL2", + "name": "ATLNGANW-ATL2" + }, + { + "id": "BOT1", + "name": "BOTHWAKY-BOT1" + }, + { + "id": "SNG1", + "name": "SNGPSIAU-SNG1" + }, + { + "id": "NYC1", + "name": "NYCMNY54-NYC1" + }, + { + "id": "LAG1b", + "name": "LARGIZON-LAG1b" + }, + { + "id": "AMD15", + "name": "AMDFAA01-AMD15" + }, + { + "id": "SNA1", + "name": "SNANTXCA-SNA1" + }, + { + "id": "PLT1", + "name": "PLTNCA60-PLT1" + }, + { + "id": "TLP1", + "name": "TLPNXM18-TLP1" + }, + { + "id": "SDD81", + "name": "SAIT1DD6-SDD81" + }, + { + "id": "DCC1", + "name": "POIUYTGH-DCC1" + }, + { + "id": "DCC2", + "name": "POIUYTGH-DCC2" + }, + { + "id": "OKC1", + "name": "OKCBOK55-OKC1" + }, + { + "id": "PAR1", + "name": "PARSFRCG-PAR1" + }, + { + "id": "TES36", + "name": "ABCEETES-TES36" + }, + { + "id": "COM1", + "name": "PLMKOPIU-COM1" + }, + { + "id": "ANI1", + "name": "ATLNGTRE-ANI1" + }, + { + "id": "SDG78", + "name": "SDIT1BDG-SDG78" + }, + { + "id": "mac20", + "name": "PKGTESTF-mac20" + }, + { + "id": "DSF45", + "name": "DSFBG123-DSF45" + }, + { + "id": "HST25", + "name": "HSTNTX01-HST25" + }, + { + "id": "AMD18", + "name": "AUDIMA01-AMD18" + }, + { + "id": "SAA80", + "name": "SAIT9AA3-SAA80" + }, + { + "id": "SSA56", + "name": "SSIT2AA7-SSA56" + }, + { + "id": "SDD82", + "name": "SAIT1DD9-SDD82" + }, + { + "id": "JCV1", + "name": "JCVLFLBW-JCV1" + }, + { + "id": "SUL2", + "name": "WERTYUJK-SUL2" + }, + { + "id": "PUR1", + "name": "purelyde-PUR1" + }, + { + "id": "FDE55", + "name": "FDERT555-FDE55" + }, + { + "id": "SITE", + "name": "LONEENCO-SITE" + }, + { + "id": "ATL1", + "name": "ATLNGAMA-ATL1" + }, + { + "id": "JUL1", + "name": "ZXCVBNMM-JUL1" + }, + { + "id": "TAT34", + "name": "TESAAISB-TAT34" + }, + { + "id": "XCP12", + "name": "CHKGH123-XCP12" + }, + { + "id": "RAI1", + "name": "poiuytre-RAI1" + }, + { + "id": "HPO1", + "name": "ATLNGAUP-HPO1" + }, + { + "id": "KJF12", + "name": "KJFDH123-KJF12" + }, + { + "id": "SCC80", + "name": "SAIT9CC3-SCC80" + }, + { + "id": "SAA12", + "name": "SAIT9AF8-SAA12" + }, + { + "id": "SAA14", + "name": "SAIT1AA9-SAA14" + }, + { + "id": "ATL35", + "name": "TTESSAAI-ATL35" + }, + { + "id": "CWY1", + "name": "CWYMOWBS-CWY1" + }, + { + "id": "ATL76", + "name": "TELEPAAI-ATL76" + }, + { + "id": "DSL12", + "name": "DSLFK242-DSL12" + }, + { + "id": "ATL53", + "name": "AAIATLTE-ATL53" + }, + { + "id": "SAA11", + "name": "SAIT9AA2-SAA11" + }, + { + "id": "ATL62", + "name": "TESSASCH-ATL62" + }, + { + "id": "AUG1", + "name": "ASDFGHJK-AUG1" + }, + { + "id": "POI22", + "name": "POIUY123-POI22" + }, + { + "id": "SAA13", + "name": "SAIT1AA9-SAA13" + }, + { + "id": "BHY17", + "name": "BHYTFRF3-BHY17" + }, + { + "id": "LIS1", + "name": "HOSTPROF-LIS1" + }, + { + "id": "SIP1", + "name": "ZXCVBNMK-SIP1" + }, + { + "id": "ATL99", + "name": "TEESTAAI-ATL43" + }, + { + "id": "ATL64", + "name": "FORLOAAJ-ATL64" + }, + { + "id": "TAT33", + "name": "TESAAISA-TAT33" + }, + { + "id": "RAD10", + "name": "INDIPUNE-RAD10" + }, + { + "id": "RTW5", + "name": "BHYTFRY4-RTW5" + }, + { + "id": "JGS1", + "name": "KSJKKKKK-JGS1" + }, + { + "id": "ATL98", + "name": "TEESTAAI-ATL43" + }, + { + "id": "WAN1", + "name": "LEIWANGW-WAN1" + }, + { + "id": "ATL44", + "name": "ATLSANAB-ATL44" + }, + { + "id": "RTD2", + "name": "BHYTFRk4-RTD2" + }, + { + "id": "NIR1", + "name": "ORFLMANA-NIR1" + }, + { + "id": "ATL75", + "name": "SANAAIRE-ATL75" + }, + { + "id": "NUM1", + "name": "QWERTYUI-NUM1" + }, + { + "id": "hvf32", + "name": "MDTWNJ21-hvf32" + }, + { + "id": "RTZ4", + "name": "BHYTFRZ6-RTZ4" + }, + { + "id": "ATL56", + "name": "ATLSANAC-ATL56" + }, + { + "id": "AMS1", + "name": "AMSTNLBW-AMS1" + }, + { + "id": "RCT1", + "name": "AMSTERNL-RCT1" + }, + { + "id": "JAN1", + "name": "ORFLMATT-JAN1" + }, + { + "id": "ABC14", + "name": "TESAAISA-ABC14" + }, + { + "id": "TAT37", + "name": "TESAAISD-TAT37" + }, + { + "id": "MIC54", + "name": "MICHIGAN-MIC54" + }, + { + "id": "ABC11", + "name": "ATLSANAI-ABC11" + }, + { + "id": "AMF11", + "name": "AMDOCS01-AMF11" + }, + { + "id": "ATL63", + "name": "ATLSANEW-ATL63" + }, + { + "id": "ABC12", + "name": "ATLSECIA-ABC12" + }, + { + "id": "hvf20", + "name": "MDTWNJ21-hvf20" + }, + { + "id": "ABC15", + "name": "AAITESAN-ABC15" + }, + { "id": "AVT1", "name": "AVTRFLHD-AVT1" }, @@ -2274,7 +3153,7 @@ describe('vnf group new popup service', () => { test('getModelInformation vnfGroup should update modelInformations', () => { const serviceId: string = '6b528779-44a3-4472-bdff-9cd15ec93450'; - const vnfGroupModelName: string = '2017-388_ADIOD-vPE 1'; + const vnfGroupModelName: string = '2017-388_PASQUALE-vPE 1'; service.getModelInformation(serviceId, vnfGroupModelName); expect(service.modelInformations.length).toEqual(14); @@ -2282,7 +3161,7 @@ describe('vnf group new popup service', () => { expect(service.modelInformations[0].values).toEqual(['1.0']); expect(service.modelInformations[1].label).toEqual("Description"); - expect(service.modelInformations[1].values).toEqual(['Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM']); + expect(service.modelInformations[1].values).toEqual(['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']); expect(service.modelInformations[2].label).toEqual("Category"); expect(service.modelInformations[2].values).toEqual([undefined]); @@ -2324,34 +3203,34 @@ describe('vnf group new popup service', () => { test('getSubLeftTitle new vnf group popup should return service model name', () => { service.uuidData = { serviceId: '6e59c5de-f052-46fa-aa7e-2fca9d674c44', - modelName: 'VF_vMee 0' + modelName: 'VF_vGeraldine 0' }; - expect(service.getSubLeftTitle()).toBe('VNF Group : VF_vMee'); + expect(service.getSubLeftTitle()).toBe('VNF Group : VF_vGeraldine'); }); test('getInstance with empty storekey should be created', () => { const serviceId: string = '6e59c5de-f052-46fa-aa7e-2fca9d674c44'; - const vnfGroupModelName: string = '2017-388_ADIOD-vPE 1'; + const vnfGroupModelName: string = '2017-388_PASQUALE-vPE 1'; const newInstance = service.getInstance(serviceId, vnfGroupModelName, null); expect(newInstance).toBeDefined(); }); test('getInstance with not empty storekey should return vnfGroupStoreKey', () => { const serviceId: string = '6b528779-44a3-4472-bdff-9cd15ec93450'; - const vnfGroupModelName: string = '2017-388_ADIOD-vPE 1'; - const vnfGroupStoreKey: string = '2017-488_ADIOD-vPE 0'; + const vnfGroupModelName: string = '2017-388_PASQUALE-vPE 1'; + const vnfGroupStoreKey: string = '2017-488_PASQUALE-vPE 0'; const newInstance = service.getInstance(serviceId, vnfGroupModelName, vnfGroupStoreKey); - expect(newInstance.vnfGroupStoreKey).toEqual('2017-488_ADIOD-vPE 0'); + expect(newInstance.vnfGroupStoreKey).toEqual('2017-488_PASQUALE-vPE 0'); }); test('getGenericFormPopupDetails returns the FormPopupDetails object', () => { const serviceId: string = '6e59c5de-f052-46fa-aa7e-2fca9d674c44'; - const vnfGroupModelName: string = 'VF_vMee 0'; - const vnfGroupStoreKey: string = 'VF_vMee 0'; + const vnfGroupModelName: string = 'VF_vGeraldine 0'; + const vnfGroupStoreKey: string = 'VF_vGeraldine 0'; let uuidData: UUIDData = <any>{ serviceId: "6e59c5de-f052-46fa-aa7e-2fca9d674c44", - modelName: "VF_vMee 0", - vnfGroupStoreKey: "VF_vMee 0" + modelName: "VF_vGeraldine 0", + vnfGroupStoreKey: "VF_vGeraldine 0" }; const formPopupDetailsObject = service.getGenericFormPopupDetails(serviceId, vnfGroupModelName, vnfGroupStoreKey, null, uuidData, true); expect(formPopupDetailsObject).toBeDefined(); diff --git a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vnfGroup/vnfGroup.popup.service.ts b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vnfGroup/vnfGroup.popup.service.ts index 748edd2cb..851d5d514 100644 --- a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vnfGroup/vnfGroup.popup.service.ts +++ b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vnfGroup/vnfGroup.popup.service.ts @@ -64,7 +64,7 @@ export class VnfGroupPopupService implements GenericPopupInterface{ } getControls(serviceId: string, modelName: string, vnfGroupStoreKey: string){ - if(this._store.getState().service.serviceHierarchy[serviceId].service.instantiationType === 'Macro') { + if(this._store.getState().service.serviceHierarchy[serviceId].service.vidNotions.instantiationType === 'Macro') { return this._vnfGroupControlGenerator.getMacroFormControls(serviceId, vnfGroupStoreKey, modelName); } else { return this._vnfGroupControlGenerator.getAlaCarteFormControls(serviceId, vnfGroupStoreKey, modelName); diff --git a/vid-webpack-master/src/app/shared/components/model-information/model-information.service.spec.ts b/vid-webpack-master/src/app/shared/components/model-information/model-information.service.spec.ts index 418493f2b..3d80cffab 100644 --- a/vid-webpack-master/src/app/shared/components/model-information/model-information.service.spec.ts +++ b/vid-webpack-master/src/app/shared/components/model-information/model-information.service.spec.ts @@ -1,15 +1,32 @@ import {ModelInformationService} from "./model-information.service"; import {ModelInformationItem} from "./model-information.component"; +import {HttpClientTestingModule, HttpTestingController} from "@angular/common/http/testing"; +import {getTestBed, TestBed} from "@angular/core/testing"; describe('ModelInformationService', () => { - let underTest:ModelInformationService; + let injector; + let service: ModelInformationService; + let httpMock: HttpTestingController; + + + beforeAll(done => (async () => { + TestBed.configureTestingModule({ + imports: [HttpClientTestingModule], + providers: [ + ModelInformationService + ] + }); + await TestBed.compileComponents(); + + injector = getTestBed(); + service = injector.get(ModelInformationService); + httpMock = injector.get(HttpTestingController); + + })().then(done).catch(done.fail)); - beforeEach(() => { - underTest = new ModelInformationService(); - }); test('when call to filterModelItems then items with empty values are filtered', () =>{ - expect(underTest.filterModelItems([ + expect(service.filterModelItems([ ModelInformationItem.createInstance("emptyValue", ""), ModelInformationItem.createInstance("nullValue", null), ModelInformationItem.createInstance("undefinedValue", undefined), @@ -20,13 +37,14 @@ describe('ModelInformationService', () => { test('when call to filterModelItems then mandatory items with empty values are not filtered', () =>{ const mandatoryItem:ModelInformationItem = new ModelInformationItem("a", "b", [""], "c", true); - expect(underTest.filterModelItems([mandatoryItem])).toEqual([mandatoryItem]); + expect(service.filterModelItems([mandatoryItem])).toEqual([mandatoryItem]); }); test('when call to filterModelItems then items with values are not filtered', () =>{ - expect(underTest.filterModelItems([ + expect(service.filterModelItems([ ModelInformationItem.createInstance("withString", "a"), ModelInformationItem.createInstance("withNumber", 1), ])).toHaveLength(2); }); + }); diff --git a/vid-webpack-master/src/app/shared/components/searchMembersModal/members-table/element-table-row.model.ts b/vid-webpack-master/src/app/shared/components/searchMembersModal/members-table/element-table-row.model.ts new file mode 100644 index 000000000..250e2c1fa --- /dev/null +++ b/vid-webpack-master/src/app/shared/components/searchMembersModal/members-table/element-table-row.model.ts @@ -0,0 +1,88 @@ +import {VnfMember} from "../../../models/VnfMember"; +import {Observable} from "rxjs"; +import {CustomTableColumnDefinition} from "./elements-table.component"; + +export class ElementTableRowModel extends VnfMember { + isSelected: boolean = false; +} + + +/******************************************************************************************************************************* + ModalInformation + * @type: popup type (VPN, NETWORK, VNFGROUP) + * @title: popup title + * @description: popup upper message + * @topButtonText: (optional) + * @text: button text + * @action: button action + * @backAction : arrow back button action (can close the modal/move to next step) + * @uniqObjectField: uniq object field that we can find in O(1) + * @maxSelectRow: max number of row that user can select (default = no limit)(optional) + * @getElements: function that should return Observable<any[]> of collection of elements to show in the table + * @noElementsMsg : when there are no element some message should shown + * @searchFields : extra information in the left section + * @criteria: extra criteria on table content (optional) + * @tableHeaders : table headers + * @tableContent: table td's information. + + ******************************************************************************************************************************/ + +export class ModalInformation { + type : string; + currentCriteriaInfo? : Object; + title ?: string; + description ?: string; + topButton?: { + text ?: string, + action ?: (...args) => any + }; + searchButton?: { + text ?: string, + action ?: (...args)=> any + }; + backAction? : (...args) => any; + uniqObjectField : string; + maxSelectRow ?: number; + getElements : (...args) => Observable<any[]>; + noElementsMsg : string; + searchFields: ISearchField[]; + criteria ?: ICriteria[]; + tableHeaders : CustomTableColumnDefinition[]; + tableContent : ITableContent[]; + serviceModelId: string; +} + + +export interface ISearchField { + title: string; + value: any; + dataTestId: string; + type : string; +} + + +export interface ICriteria { + label: string; + defaultValue: any; + onInit?: (...args) => Observable<string>; + onChange? : (...arg) => void; + type : string; + dataTestId : string; + isRequired ?: boolean; + currentValue ?: any; +} + + +export interface ITableContent { + id : string; + contents : {id : string[], value : string[], prefix ?: string, type? : string}[]; +} + +export enum SearchFieldItemType { + LABEL = 'LABEL', + DROPDOWN = 'DROPDOWN' +} + + + + diff --git a/vid-webpack-master/src/app/shared/components/searchMembersModal/members-table/elements-table.component.html b/vid-webpack-master/src/app/shared/components/searchMembersModal/members-table/elements-table.component.html new file mode 100644 index 000000000..036a1240f --- /dev/null +++ b/vid-webpack-master/src/app/shared/components/searchMembersModal/members-table/elements-table.component.html @@ -0,0 +1,71 @@ +<div class="table-header"> + <div class="left-header"> + <span class="title-header">{{modalInformation.description}}</span> + <div class="sub-title-header"> + <span class="vnf-match-your-criteria" class="total" [attr.data-tests-id]="'total-amount'" style="margin-right: 5px;"><span + [attr.data-tests-id]="'numberOfNotHideRows'">{{membersTableService.numberOfNotHideRows}}</span> {{modalInformation.type}}s match your criteria |</span> + <span class="vnf-selected" class="total" [attr.data-tests-id]="'total-selected'"><span + [attr.data-tests-id]="'numberOfSelectedRows'">{{membersTableService.numberOfSelectedRows}}</span> {{modalInformation.type}}{{membersTableService.numberOfSelectedRows>1?'s':'' }} selected</span> + </div> + </div> + + <div class="search-container"> + <sdc-filter-bar + [placeHolder]="'Filter'" + [debounceTime]="250" + [testId]="'vnf-members-search'" + (valueChange)="search($event)"> + </sdc-filter-bar> + </div> +</div> +<table id="member-table" class="table table-bordered" style="table-layout: fixed" *ngIf="data?.length > 0"> + <thead class="thead-dark"> + <tr> + <th class="allCheckboxAreSelected" style="position: relative;"> + <sdc-checkbox + [disabled]="membersTableService.isCheckAllDisabled(modalInformation.maxSelectRow)" + [(checked)]="membersTableService.allCheckboxAreSelected" + [testId]="'all-checkbox-selected'" + (checkedChange)="changeAllCheckboxStatus($event)" + ></sdc-checkbox> + </th> + <th class="header-title" *ngFor="let header of headers">{{header.displayName}}</th> + </tr> + </thead> + <tbody> + <tr class="member-table-row" *ngFor="let item of membersTableService.filteredMembers"> + <td class="sdcCheckboxMember" style="position: relative;" [attr.data-tests-id]="item[membersTableService.staticUniqObjectField]"> + <sdc-checkbox + [disabled]="membersTableService.isRowDisabled( membersTableService.allElementsStatusMap[item[membersTableService.staticUniqObjectField]]?.isSelected, modalInformation.maxSelectRow)" + [checked]="membersTableService.allElementsStatusMap[item[membersTableService.staticUniqObjectField]]?.isSelected" + [testId]="item[membersTableService.staticUniqObjectField]" + (checkedChange)="changeCheckboxStatus(item[membersTableService.staticUniqObjectField])" + ></sdc-checkbox></td> + + <td *ngFor="let tdInformation of modalInformation.tableContent" [id]="tdInformation.id"> + <div *ngIf="tdInformation.contents[0].type === 'LIST'; else noList"> + <custom-ellipsis + *ngFor="let tdInformationItem of getTdListInformationItemValue(tdInformation.contents[0], item) " + [id]="tdInformationItem" + [value]="tdInformationItem" + [breakWord]="true" + [hightlight]="filterValue"></custom-ellipsis> + </div> + <ng-template #noList> + <custom-ellipsis + *ngFor="let tdInformationItem of tdInformation.contents; index as i" + [id]="getTdInformationItemId(tdInformationItem, item)" + [value]="getTdInformationItemValue(tdInformationItem, item)" + [ngClass]="{'second-line' : i%2 === 1}" + [breakWord]="true" + [hightlight]="filterValue"></custom-ellipsis> + </ng-template> + + </td> + </tr> + + </tbody> +</table> +<div class="no-result" *ngIf="data?.length == 0">{{modalInformation?.noElementsMsg}}</div> + + diff --git a/vid-webpack-master/src/app/shared/components/searchMembersModal/members-table/elements-table.component.ts b/vid-webpack-master/src/app/shared/components/searchMembersModal/members-table/elements-table.component.ts new file mode 100644 index 000000000..485a63c43 --- /dev/null +++ b/vid-webpack-master/src/app/shared/components/searchMembersModal/members-table/elements-table.component.ts @@ -0,0 +1,144 @@ +import {Component, Input, OnChanges, Output, SimpleChanges, EventEmitter} from '@angular/core'; +import {ElementsTableService} from "./elements-table.service"; +import {ModalInformation} from "./element-table-row.model"; +import * as _ from 'lodash'; +import {Level1Instance} from "../../../models/level1Instance"; +import {NgRedux} from "@angular-redux/store"; +import {AppState} from "../../../store/reducers"; +import { + deleteGenericModalhelper, + deleteGenericModalTableDataHelper +} from "../../../storeUtil/utils/global/global.actions"; + +export class CustomTableColumnDefinition { + public displayName = ''; + public key : any = ''; + public type? = 'text'; + public filter? = ''; +} + +@Component({ + selector: 'app-members-table', + templateUrl: './elements-table.component.html', + styleUrls: ['./members-table.component.scss'] +}) + +export class ElementsTableComponent implements OnChanges{ + filterValue: string = null; + allMemberStatusMap = null; + membersTableService : ElementsTableService; + headers: CustomTableColumnDefinition[] = []; + searchQuery = null; + + @Input() modalInformation : ModalInformation; + @Input() data: Level1Instance[]; + @Output() selectedMembersAmountChange : EventEmitter<number> = new EventEmitter(); + constructor(private _membersTableService : ElementsTableService, private _store : NgRedux<AppState>){ + this.membersTableService = this._membersTableService; + } + + ngOnChanges(changes: SimpleChanges): void { + if(_.isNil(this.data)){ + this._membersTableService.resetAll(this.modalInformation.uniqObjectField, this.modalInformation.maxSelectRow); + }else { + ElementsTableService.uniqObjectField = this.modalInformation.uniqObjectField; + this.headers = this.modalInformation.tableHeaders; + const genericModalHelper = this._store.getState().global.genericModalHelper; + if(!_.isNil(genericModalHelper) && !_.isNil(genericModalHelper[`${this.modalInformation.type}_TABLE_DATA`]) && !_.isNil(genericModalHelper[`selected${this.modalInformation.type}`])){ + this.updateTablWithDefaultData(this._store.getState().global.genericModalHelper[`${this.modalInformation.type}_TABLE_DATA`]); + }else { + this.modalInformation.getElements().subscribe((res)=>{ + this.updateTablWithDefaultData(res); + }); + } + } + } + + updateTablWithDefaultData(tableData) : void{ + this._membersTableService.allElementsStatusMap = this._membersTableService.generateAllMembersStatus(tableData); + this._membersTableService.filteredMembers = this._membersTableService.sortElementsByName(tableData, "instanceName"); + this._membersTableService.updateAmountsAndCheckAll(this.modalInformation.uniqObjectField, this.modalInformation, this.modalInformation.maxSelectRow); + this.updateDefaultSelectedRows(); + } + + search(searchStr: string): void { + this.filterValue = searchStr; + this._membersTableService.filterMembers(this.filterValue, this.modalInformation.type); + } + + selectItem(item , maxNumberOfRows : number) : void { + if (maxNumberOfRows === 1) { + for (let currentItem in this.membersTableService.allElementsStatusMap) { + if (this.membersTableService.allElementsStatusMap[currentItem].isSelected) { + this.membersTableService.allElementsStatusMap[currentItem].isSelected = false; + this.membersTableService.allElementsStatusMap[item[this.membersTableService.staticUniqObjectField]].isSelected = !this.membersTableService.allElementsStatusMap[item[this.membersTableService.staticUniqObjectField]].isSelected; + return; + } + } + this.membersTableService.allElementsStatusMap[item[this.membersTableService.staticUniqObjectField]].isSelected = !this.membersTableService.allElementsStatusMap[item[this.membersTableService.staticUniqObjectField]].isSelected; + } + } + + updateDefaultSelectedRows(): void { + if(this._store.getState().global.genericModalHelper && this._store.getState().global.genericModalHelper[`selected${this.modalInformation.type}`]){ + const selectedIds = this._store.getState().global.genericModalHelper[`selected${this.modalInformation.type}`]; + for(const id in selectedIds){ + if(!_.isNil(this._membersTableService.allElementsStatusMap[id])){ + this._membersTableService.allElementsStatusMap[id].isSelected = true; + } + } + this._membersTableService.updateAmountsAndCheckAll(this.modalInformation.uniqObjectField, this.modalInformation, this.modalInformation.maxSelectRow); + this.selectedMembersAmountChange.emit(this._membersTableService.numberOfSelectedRows); + } + } + + changeAllCheckboxStatus(status: boolean) : void { + this._membersTableService.changeAllCheckboxStatus(status); + this.selectedMembersAmountChange.emit(this._membersTableService.numberOfSelectedRows); + } + + + changeCheckboxStatus(vnfInstanceId: string) : void { + if (this.modalInformation.maxSelectRow === 1) { + for (let currentItem in this.membersTableService.allElementsStatusMap) { + if (this.membersTableService.allElementsStatusMap[currentItem].isSelected) { + this.membersTableService.allElementsStatusMap[currentItem].isSelected = false; + this._store.dispatch(deleteGenericModalhelper(`selected${this.modalInformation.type}`, this.membersTableService.allElementsStatusMap[currentItem][this.modalInformation.uniqObjectField])); + this._store.dispatch(deleteGenericModalTableDataHelper(`${this.modalInformation.type}_TABLE_DATA`)); + } + } + } + this._membersTableService.changeCheckboxStatus(vnfInstanceId, this.data); + this.selectedMembersAmountChange.emit(this._membersTableService.numberOfSelectedRows); + } + + + getTdInformationItemId(data : {id : string[], value : string[], prefix ?: string}, item) : string { + let result = item; + for(const idVal of data.id){ + if(_.isNil(result)) return null; + result = result[idVal]; + } + return result; + } + + getTdInformationItemValue(data : {id : string[], value : string[], prefix ?: string}, item) : string { + let result = item; + for(const idVal of data.value){ + if(_.isNil(result)) return null; + result = result[idVal]; + } + return !_.isNil(data.prefix) ? data.prefix + result : result; + } + + + getTdListInformationItemValue(data : {id : string[], value : string[], prefix ?: string}, item) : string[] { + let result = item; + + for(let i = 0 ; i < data.value.length -1 ; i++){ + if(_.isNil(result)) return null; + result = result[data.value[i]]; + } + return _.map(result, _.last(data.value)); + } +} diff --git a/vid-webpack-master/src/app/shared/components/searchMembersModal/members-table/members-table.service.spec.ts b/vid-webpack-master/src/app/shared/components/searchMembersModal/members-table/elements-table.service.spec.ts index e53c63be1..db56836bd 100644 --- a/vid-webpack-master/src/app/shared/components/searchMembersModal/members-table/members-table.service.spec.ts +++ b/vid-webpack-master/src/app/shared/components/searchMembersModal/members-table/elements-table.service.spec.ts @@ -1,11 +1,9 @@ -import {MembersTableService} from "./members-table.service"; +import {ElementsTableService} from "./elements-table.service"; import {TestBed, getTestBed} from "@angular/core/testing"; import {NgRedux} from "@angular-redux/store"; -import {CustomTableColumnDefinition} from "./members-table.component"; +import {CustomTableColumnDefinition} from "./elements-table.component"; import {AppState} from "../../../store/reducers"; -import {createRelatedVnfMemberInstance} from "../../../storeUtil/utils/relatedVnfMember/relatedVnfMember.actions"; import {DataFilterPipe} from "../../../pipes/dataFilter/data-filter.pipe"; -import {VnfMember} from "../../../models/VnfMember"; @@ -27,7 +25,7 @@ class MockAppStore<T> { "instanceName": "VNF1_INSTANCE_NAME", "instanceId": "VNF1_INSTANCE_ID", "orchStatus": null, - "lcpCloudRegionId": "mtn23b", + "lcpCloudRegionId": "hvf23b", "tenantId": "3e9a20a3e89e45f884e09df0cc2d2d2a", "tenantName": "APPC-24595-T-IST-02C", "modelInfo": { @@ -62,9 +60,9 @@ class MockAppStore<T> { } } -describe('MembersTableService view member count', () => { +describe('ElementsTableService view member count', () => { let injector; - let service: MembersTableService; + let service: ElementsTableService; let store: NgRedux<AppState>; let data = loadMockMembers(); @@ -73,7 +71,7 @@ describe('MembersTableService view member count', () => { TestBed.configureTestingModule( { providers: [ - MembersTableService, + ElementsTableService, {provide: NgRedux, useClass: MockAppStore}, DataFilterPipe @@ -83,94 +81,80 @@ describe('MembersTableService view member count', () => { await TestBed.compileComponents(); injector = getTestBed(); - service = injector.get(MembersTableService); + service = injector.get(ElementsTableService); store = injector.get(NgRedux) })().then(done).catch(done.fail)); test('should return number of displayed members', () => { - service.allMemberStatusMap = MembersTableService.generateAllMembersStatus(<any>data); + service.modalInformation = <any>{ + uniqObjectField : "instanceId" + }; + service.allElementsStatusMap = service.generateAllMembersStatus(<any>data); service.filteredMembers = <any>data; - expect(service.calculateNotHideVnfMembers()).toEqual(2); + expect(service.calculateNotHideRows()).toEqual(2); }); test('should return number of selected members', () => { - service.allMemberStatusMap = MembersTableService.generateAllMembersStatus(<any>data); - service.allMemberStatusMap['VNF1_INSTANCE_ID'].isSelected = true; - service.allMemberStatusMap['VNF2_INSTANCE_ID'].isSelected = true; - expect(service.calculateSelectedVnfMembers()).toEqual(2); + ElementsTableService.uniqObjectField = "instanceId"; + service.allElementsStatusMap = service.generateAllMembersStatus(<any>data); + service.allElementsStatusMap['VNF1_INSTANCE_ID'].isSelected = true; + service.allElementsStatusMap['VNF2_INSTANCE_ID'].isSelected = true; + expect(service.calculateSelectedRows()).toEqual(2); }); test('should return number of selected members', () => { - service.allMemberStatusMap = MembersTableService.generateAllMembersStatus(<any>data); + service.allElementsStatusMap = service.generateAllMembersStatus(<any>data); service.filteredMembers = <any>data; - service.allMemberStatusMap['VNF1_INSTANCE_ID'].isSelected = true; - service.filterMembers('VNF2'); - service.allMemberStatusMap['VNF2_INSTANCE_ID'].isSelected = true; - expect(service.calculateNotHideVnfMembers()).toEqual(1); - }); - - test('getHeader should return labels with array of keys', () => { - const headers: CustomTableColumnDefinition[] = MembersTableService.getHeaders(); - expect(headers).toEqual([ - {displayName: 'VNF instance name', key: ['instanceName']}, - {displayName: 'VNF version', key: ['modelInfo', 'modelVersion']}, - {displayName: 'VNF model name', key: ['modelInfo', 'modelName']}, - {displayName: 'Prov Status', key: ['provStatus']}, - {displayName: 'Service instance name', key: ['serviceInstanceName']}, - {displayName: 'Cloud Region', key: ['lcpCloudRegionId']}, - {displayName: 'Tenant Name', key: ['tenantName']} - ]); - }); - - - test('setMembers should dispatch action only on selected members', () => { - const vnfGroupStoreKey: string = 'vnfGroupStoreKey'; - const serviceId: string = 'serviceId'; - - jest.spyOn(store, 'dispatch'); - service.allMemberStatusMap = MembersTableService.generateAllMembersStatus(<any>data); - service.allMemberStatusMap['VNF1_INSTANCE_ID'].isSelected = true; - service.setMembers({serviceId: serviceId, vnfGroupStoreKey: vnfGroupStoreKey}); - expect(store.dispatch).toHaveBeenCalledTimes(1); - expect(store.dispatch).toHaveBeenCalledWith(createRelatedVnfMemberInstance(vnfGroupStoreKey, serviceId, service.allMemberStatusMap['VNF1_INSTANCE_ID'])); + service.allElementsStatusMap['VNF1_INSTANCE_ID'].isSelected = true; + service.filterMembers('VNF2', "VNF"); + service.allElementsStatusMap['VNF2_INSTANCE_ID'].isSelected = true; + expect(service.calculateNotHideRows()).toEqual(1); }); test('generateAllMembersStatus should add to each instance isHide and isSelected and convert to map', () => { - let allMemberStatusMapMock = MembersTableService.generateAllMembersStatus(<any>data); + let allMemberStatusMapMock = service.generateAllMembersStatus(<any>data); for (const key in allMemberStatusMapMock) { expect(allMemberStatusMapMock[key].isSelected).toBeFalsy(); } }); test('changeAllCheckboxStatus', () => { + service.modalInformation = <any>{ + type : 'SomeType', + uniqObjectField : 'instanceId' + }; let data = loadMockMembers(); - service.allMemberStatusMap = MembersTableService.generateAllMembersStatus(<any>data); + service.allElementsStatusMap = service.generateAllMembersStatus(<any>data); service.filteredMembers = <any>data; service.changeAllCheckboxStatus(true); - for (let key in service.allMemberStatusMap) { - expect(service.allMemberStatusMap[key].isSelected).toEqual(true); + for (let key in service.allElementsStatusMap) { + expect(service.allElementsStatusMap[key].isSelected).toEqual(true); } }); test('should reset all numbers and lists', () => { + service.modalInformation = <any>{ + type : 'SomeType', + uniqObjectField : 'instanceId' + }; let data = loadMockMembers(); - service.allMemberStatusMap = MembersTableService.generateAllMembersStatus(<any>data); + service.allElementsStatusMap = service.generateAllMembersStatus(<any>data); service.filteredMembers = <any>data; service.changeAllCheckboxStatus(true); - service.resetAll(); - expect(service.numberOfNotHideVnfMembers).toEqual(0); - expect(service.numberOfSelectedAndNotHideVnfMembers).toEqual(0); - expect(service.numberOfSelectedVnfMembers).toEqual(0); - expect(service.allMemberStatusMap).toEqual({}); + service.resetAll("instanceId"); + expect(service.numberOfNotHideRows).toEqual(0); + expect(service.numberOfSelectedAndNotHideRows).toEqual(0); + expect(service.numberOfSelectedRows).toEqual(0); + expect(service.allElementsStatusMap).toEqual({}); expect(service.filteredMembers.length).toEqual(0); }); test('checkAllCheckboxStatus should be false if not all are selected', () => { - service.allMemberStatusMap = MembersTableService.generateAllMembersStatus(<any>loadMockMembers()); - service.updateAmountsAndCheckAll(); + service.allElementsStatusMap = service.generateAllMembersStatus(<any>loadMockMembers()); + service.updateAmountsAndCheckAll("instanceId", <any>{}); expect(service.allCheckboxAreSelected).toEqual(false); }); @@ -178,7 +162,7 @@ describe('MembersTableService view member count', () => { test('sortVnfMembersByName should sort list by vnf name', () => { let data = <any>loadMockMembers(); - let sortedList = MembersTableService.sortVnfMembersByName(data, "instanceName"); + let sortedList = service.sortElementsByName(data, "instanceName"); expect(sortedList[0].instanceName).toEqual("VNF1_INSTANCE_NAME"); expect(sortedList[1].instanceName).toEqual("VNF2_INSTANCE_NAME"); @@ -187,22 +171,63 @@ describe('MembersTableService view member count', () => { data[0] = data[1]; data[1] = tmp; - sortedList = MembersTableService.sortVnfMembersByName(data, "instanceName"); + sortedList = service.sortElementsByName(data, "instanceName"); expect(sortedList[1].instanceName).toEqual("VNF1_INSTANCE_NAME"); expect(sortedList[0].instanceName).toEqual("VNF2_INSTANCE_NAME"); - sortedList = MembersTableService.sortVnfMembersByName(null, "instanceName"); + sortedList = service.sortElementsByName(null, "instanceName"); expect(sortedList).toEqual([]); - sortedList = MembersTableService.sortVnfMembersByName(data, undefined); + sortedList = service.sortElementsByName(data, undefined); expect(sortedList).toEqual([]); }); - test('should return only vnf members not associated to any vnf group', ()=>{ - const result: VnfMember[] = service.filterUsedVnfMembers("serviceModelId",loadMockMembers()); - expect(result.length).toEqual(1); - expect(result[0].instanceId).toEqual("VNF2_INSTANCE_ID"); + test('isRowDisabled should return false current row is selected', ()=> { + let isDisabled = service.isRowDisabled(true, null); + expect(isDisabled).toBeFalsy(); + }); + + + test('isRowDisabled should return false if there is no limit', ()=> { + let isDisabled = service.isRowDisabled(false, null); + expect(isDisabled).toBeFalsy(); + }); + + test('isRowDisabled should return false if number of rows are less then limit ', ()=> { + service.modalInformation = <any>{ + uniqObjectField : "instanceId" + }; + service.allElementsStatusMap = service.generateAllMembersStatus(<any>data); + service.allElementsStatusMap['VNF1_INSTANCE_ID'].isSelected = true; + service.allElementsStatusMap['VNF2_INSTANCE_ID'].isSelected = true; + + let isDisabled = service.isRowDisabled(false, 3); + expect(isDisabled).toBeFalsy(); + }); + + test('isRowDisabled should return true if number of rows are equal or more then limit ', ()=> { + ElementsTableService.uniqObjectField = "instanceId"; + service.allElementsStatusMap = service.generateAllMembersStatus(<any>data); + service.allElementsStatusMap['VNF1_INSTANCE_ID'].isSelected = true; + service.allElementsStatusMap['VNF2_INSTANCE_ID'].isSelected = true; + + let isDisabled = service.isRowDisabled(false, 2); + expect(isDisabled).toBeTruthy(); + }); + + + test('isCheckAllDisabled should false true if number of rows are equal or more then limit ', ()=> { + service.modalInformation = <any>{ + uniqObjectField : "instanceId" + }; + service.allElementsStatusMap = service.generateAllMembersStatus(<any>data); + service.allElementsStatusMap['VNF1_INSTANCE_ID'].isSelected = true; + service.allElementsStatusMap['VNF2_INSTANCE_ID'].isSelected = true; + + let isDisabled = service.isCheckAllDisabled( 2); + expect(isDisabled).toBeFalsy(); }); + }); @@ -214,7 +239,7 @@ function loadMockMembers(): any[] { "instanceId": "VNF1_INSTANCE_ID", "orchStatus": null, "productFamilyId": null, - "lcpCloudRegionId": "mtn23b", + "lcpCloudRegionId": "hvf23b", "tenantId": "3e9a20a3e89e45f884e09df0cc2d2d2a", "tenantName": "APPC-24595-T-IST-02C", "modelInfo": { @@ -242,7 +267,7 @@ function loadMockMembers(): any[] { "instanceId": "VNF2_INSTANCE_ID", "orchStatus": null, "productFamilyId": null, - "lcpCloudRegionId": "mtn23b", + "lcpCloudRegionId": "hvf23b", "tenantId": "3e9a20a3e89e45f884e09df0cc2d2d2a", "tenantName": "APPC-24595-T-IST-02C", "modelInfo": { diff --git a/vid-webpack-master/src/app/shared/components/searchMembersModal/members-table/elements-table.service.ts b/vid-webpack-master/src/app/shared/components/searchMembersModal/members-table/elements-table.service.ts new file mode 100644 index 000000000..bd7f3979d --- /dev/null +++ b/vid-webpack-master/src/app/shared/components/searchMembersModal/members-table/elements-table.service.ts @@ -0,0 +1,187 @@ +import {Injectable} from "@angular/core";; +import {NgRedux} from "@angular-redux/store"; +import {AppState} from "../../../store/reducers"; +import {DataFilterPipe} from "../../../pipes/dataFilter/data-filter.pipe"; +import {ElementTableRowModel, ModalInformation} from "./element-table-row.model"; +import {Level1Instance} from "../../../models/level1Instance"; +import * as _ from 'lodash'; +import {Subject} from "rxjs"; +import {CustomTableColumnDefinition} from "./elements-table.component"; +import { + deleteGenericModalhelper, + deleteGenericModalTableDataHelper, + updateGenericModalhelper, updateGenericModalTableDataHelper +} from "../../../storeUtil/utils/global/global.actions"; + +@Injectable() +export class ElementsTableService { + allElementsStatusMap : { [key:string]: ElementTableRowModel; }; + filteredMembers : any[]; + allCheckboxAreSelected : boolean; + numberOfNotHideRows : number; + numberOfSelectedRows : number; + numberOfSelectedAndNotHideRows : number; + numberOfNotSelectedAndNotHideRows : number; + maxSelectedRow : number; + modalInformation : ModalInformation; + + static uniqObjectField : string; + static changeFnTableDataTrigger : Subject<any> = new Subject(); + static changeModalInformationDataTrigger : Subject<{modalInformation, selectedRowsIds}> = new Subject(); + static selectRowsTrigger : Subject<string[]> = new Subject(); + + get staticUniqObjectField() { return ElementsTableService.uniqObjectField; } + + constructor(private _store: NgRedux<AppState>, private dataFilter: DataFilterPipe){ + this.resetAll(ElementsTableService.uniqObjectField, this.maxSelectedRow); + } + + updateAmountsAndCheckAll = (uniqObjectField: string, modalInformation : ModalInformation, maxSelectedRow? : number) : void => { + this.maxSelectedRow = maxSelectedRow; + this.modalInformation = modalInformation; + ElementsTableService.uniqObjectField = uniqObjectField; + this.numberOfSelectedRows = this.calculateSelectedRows(); + this.numberOfNotHideRows = this.calculateNotHideRows(); + this.numberOfSelectedAndNotHideRows = this.calculateSelectedAndNotHide(); + this.numberOfNotSelectedAndNotHideRows = this.calculateNotSelectedAndNotHide(); + this.allCheckboxAreSelected = this.numberOfNotHideRows > 0 && ((this.numberOfNotHideRows === this.numberOfSelectedAndNotHideRows) || (this.numberOfSelectedAndNotHideRows === this.maxSelectedRow)); + }; + + resetAll = (uniqObjectField: string, maxSelectedRow? : number) : void => { + this.allElementsStatusMap = {}; + this.filteredMembers = []; + this.numberOfSelectedRows = 0; + this.numberOfNotHideRows = 0; + this.numberOfSelectedAndNotHideRows = 0; + this.numberOfNotSelectedAndNotHideRows = 0; + this.allCheckboxAreSelected = false; + this.maxSelectedRow = maxSelectedRow; + ElementsTableService.uniqObjectField = uniqObjectField; + }; + + changeAllCheckboxStatus = (status : boolean) : void =>{ + for(const member of this.filteredMembers){ + this.allElementsStatusMap[member[this.modalInformation.uniqObjectField]].isSelected = status; + if(status){ + this._store.dispatch(updateGenericModalhelper(`selected${this.modalInformation.type}`, this.allElementsStatusMap[member[this.modalInformation.uniqObjectField]], this.modalInformation.uniqObjectField)); + }else { + this._store.dispatch(deleteGenericModalhelper(`selected${this.modalInformation.type}`,this.allElementsStatusMap[member[this.modalInformation.uniqObjectField]][this.modalInformation.uniqObjectField])); + } + } + this.updateAmountsAndCheckAll(ElementsTableService.uniqObjectField, this.modalInformation, this.maxSelectedRow); + }; + + changeCheckboxStatus = (vnfInstanceId : string, tableData) : void => { + if(_.isNil(this.allElementsStatusMap[vnfInstanceId].isSelected)){ + this.allElementsStatusMap[vnfInstanceId].isSelected = true; + this._store.dispatch(updateGenericModalhelper(`selected${this.modalInformation.type}`, this.allElementsStatusMap[vnfInstanceId], this.modalInformation.uniqObjectField)); + this._store.dispatch(updateGenericModalTableDataHelper(`${this.modalInformation.type}_TABLE_DATA`, tableData)); + }else { + this.allElementsStatusMap[vnfInstanceId].isSelected = !this.allElementsStatusMap[vnfInstanceId].isSelected; + if(this.allElementsStatusMap[vnfInstanceId].isSelected){ + this._store.dispatch(updateGenericModalhelper(`selected${this.modalInformation.type}`, this.allElementsStatusMap[vnfInstanceId], this.modalInformation.uniqObjectField)); + this._store.dispatch(updateGenericModalTableDataHelper(`${this.modalInformation.type}_TABLE_DATA`, tableData)); + }else { + this._store.dispatch(deleteGenericModalhelper(`selected${this.modalInformation.type}`, this.modalInformation.uniqObjectField)); + this._store.dispatch(deleteGenericModalhelper(`selected${this.modalInformation.type}`, vnfInstanceId)); + + this._store.dispatch(deleteGenericModalTableDataHelper(`${this.modalInformation.type}_TABLE_DATA`)); + } + } + + this.updateAmountsAndCheckAll(ElementsTableService.uniqObjectField, this.modalInformation, this.maxSelectedRow); + }; + + filterMembers(searchStr: string, type :string): void { + const keys: string[][] = this.getDataKeys(type); + const types :string[] = this.getDataType(type); + this.filteredMembers = this.dataFilter.transform(_.values(this.allElementsStatusMap), searchStr || '', keys, types); + this.updateAmountsAndCheckAll(ElementsTableService.uniqObjectField, this.modalInformation, this.maxSelectedRow); + } + + /************************************************** + generate elements data for select/ unselect rows + **************************************************/ + generateAllMembersStatus(tableData : Level1Instance[]) : { [key:string]: ElementTableRowModel; }{ + tableData.map((item) => { + item['isSelected'] = false + }); + return _.keyBy(tableData as ElementTableRowModel[],this.staticUniqObjectField); + } + + sortElementsByName(list : Level1Instance[], keyName : string) :Level1Instance[]{ + if(!_.isNil(list) && !_.isNil(keyName)) { + return list.sort(function(itemA, itemB) { return itemA[keyName]- itemB[keyName];}) + } + return []; + } + + /******************************** + table columns headers and key's + ********************************/ + static getHeaders(type: string) : CustomTableColumnDefinition[] { + return [ + {displayName: `${type} instance name`, key: ['instanceName']}, + {displayName: `${type} version`, key: ['modelInfo', 'modelVersion']}, + {displayName: `${type} model name`, key: ['modelInfo', 'modelName']}, + {displayName: 'Prov Status', key: ['provStatus']}, + {displayName: 'Service instance name', key: ['serviceInstanceName']}, + {displayName: 'Cloud Region', key: ['lcpCloudRegionId']}, + {displayName: 'Tenant Name', key: ['tenantName']} + ]; + } + + getDataKeys(type: string): string[][]{ + const headers = (!_.isNil(this.modalInformation) && !_.isNil(this.modalInformation.tableHeaders)) ? this.modalInformation.tableHeaders : ElementsTableService.getHeaders(type); + return headers.map((header)=> header.key).concat([[ElementsTableService.uniqObjectField]],[['serviceInstanceId']]); + } + + getDataType(type: string): string[]{ + const headers = (!_.isNil(this.modalInformation) && !_.isNil(this.modalInformation.tableHeaders)) ? this.modalInformation.tableHeaders : ElementsTableService.getHeaders(type); + return headers.map((header)=> header.type); + + } + + /************************************************************************************* + calculate the number of selected vnf members - include not visible and visible rows + @allElementsStatusMap: current vnf member status + *************************************************************************************/ + calculateSelectedRows() : number { + const flatObject = _.values(this.allElementsStatusMap); + return _.filter(flatObject, (item) => { if (item.isSelected) return item }).length; + } + + /************************************************ + calculate the number of display vnf members + @allElementsStatusMap: current vnf member status + ************************************************/ + calculateNotHideRows() : number { + return this.filteredMembers ? this.filteredMembers.length : 0; + } + + /************************************************ + calculate the number of display vnf members + @allElementsStatusMap: current vnf member status + ************************************************/ + calculateSelectedAndNotHide() : number { + return _.filter(this.filteredMembers, (item) => { if ( this.allElementsStatusMap[item[ElementsTableService.uniqObjectField]].isSelected) return item }).length; + } + + calculateNotSelectedAndNotHide() : number { + return _.filter(this.filteredMembers, (item) => { if ( !this.allElementsStatusMap[item[ElementsTableService.uniqObjectField]].isSelected) return item }).length; + } + + + isRowDisabled(currentRowIsSelected : boolean, maxSelectRow?: number) : boolean { + return _.isNil(maxSelectRow) || currentRowIsSelected || maxSelectRow === 1 ? false : maxSelectRow <= this.calculateSelectedRows(); + } + + isCheckAllDisabled(maxSelectRow?: number) : boolean{ + if(_.isNil(maxSelectRow)) return false; + else { + return this.numberOfNotSelectedAndNotHideRows > maxSelectRow; + } + } + + +} diff --git a/vid-webpack-master/src/app/shared/components/searchMembersModal/members-table/member-table-row.model.ts b/vid-webpack-master/src/app/shared/components/searchMembersModal/members-table/member-table-row.model.ts deleted file mode 100644 index c5f1a7a07..000000000 --- a/vid-webpack-master/src/app/shared/components/searchMembersModal/members-table/member-table-row.model.ts +++ /dev/null @@ -1,6 +0,0 @@ -import {VnfMember} from "../../../models/VnfMember"; - -export class MemberTableRowModel extends VnfMember{ - isSelected : boolean = false; -} - diff --git a/vid-webpack-master/src/app/shared/components/searchMembersModal/members-table/members-table.component.html b/vid-webpack-master/src/app/shared/components/searchMembersModal/members-table/members-table.component.html deleted file mode 100644 index 3a29ed824..000000000 --- a/vid-webpack-master/src/app/shared/components/searchMembersModal/members-table/members-table.component.html +++ /dev/null @@ -1,75 +0,0 @@ -<div class="table-header"> - <div class="left-header"> - <span class="title-header">{{description}}</span> - <div class="sub-title-header"> - <span class="vnf-match-your-criteria" class="total" [attr.data-tests-id]="'total-amount'" style="margin-right: 5px;"><span - [attr.data-tests-id]="'numberOfNotHideVnfMembers'">{{membersTableService.numberOfNotHideVnfMembers}}</span> VNFs match your criteria</span> - <span class="vnf-selected" class="total" [attr.data-tests-id]="'total-selected'"><span - [attr.data-tests-id]="'numberOfSelectedVnfMembers'">{{membersTableService.numberOfSelectedVnfMembers}}</span> VNF{{membersTableService.numberOfSelectedVnfMembers>1?'s':'' }} selected</span> - </div> - </div> - - <div class="search-container"> - <sdc-filter-bar - [placeHolder]="'Search...'" - [debounceTime]="250" - [testId]="'vnf-members-search'" - (valueChange)="search($event)"> - </sdc-filter-bar> - </div> -</div> -<table id="member-table" class="table table-bordered" *ngIf="data?.length > 0"> - <thead class="thead-dark"> - <tr> - <th class="allCheckboxAreSelected" style="position: relative;"> - <sdc-checkbox - [(checked)]="membersTableService.allCheckboxAreSelected" - [testId]="'all-checkbox-selected'" - (checkedChange)="changeAllCheckboxStatus($event)" - ></sdc-checkbox> - </th> - <th class="header-title" *ngFor="let header of headers">{{header.displayName}}</th> - </tr> - </thead> - <tbody> - <tr class="member-table-row" *ngFor="let vnf of membersTableService.filteredMembers"> - <td class="sdcCheckboxMember" style="position: relative;" [attr.data-tests-id]="vnf?.instanceId"> - <sdc-checkbox - [checked]="membersTableService.allMemberStatusMap[vnf.instanceId]?.isSelected" - [testId]="vnf?.instanceId" - (checkedChange)="changeCheckboxStatus(vnf.instanceId)" - ></sdc-checkbox></td> - <td id="vnfName"> - <custom-ellipsis [id]="vnf?.instanceName" [value]="vnf?.instanceName" - [hightlight]="filterValue"></custom-ellipsis> - <custom-ellipsis class="second-line" [id]="vnf?.instanceId" [value]="'UUID: '+ vnf?.instanceId" - [hightlight]="filterValue"></custom-ellipsis> - </td> - <td id="version"> - <custom-ellipsis [id]="vnf?.modelInfo?.modelVersion" [value]="vnf?.modelInfo?.modelVersion" [hightlight]="filterValue"></custom-ellipsis> - </td> - <td id="modelName"> - <custom-ellipsis [id]="vnf?.modelInfo?.modelName" [value]="vnf?.modelInfo?.modelName" [hightlight]="filterValue"></custom-ellipsis> - </td> - <td id="provStatus"> - <custom-ellipsis [id]="vnf?.provStatus" [value]="vnf?.provStatus" [hightlight]="filterValue"></custom-ellipsis> - </td> - <td id="serviceInstance"> - <custom-ellipsis [id]="vnf?.serviceInstanceName" [value]="vnf?.serviceInstanceName" - [hightlight]="filterValue"></custom-ellipsis> - <custom-ellipsis class="second-line" [id]="vnf?.serviceInstanceId" [value]="'UUID: '+ vnf?.serviceInstanceId" - [hightlight]="filterValue"></custom-ellipsis> - </td> - <td id="cloudRegion"> - <custom-ellipsis [id]="vnf?.lcpCloudRegionId" [value]="vnf?.lcpCloudRegionId" [hightlight]="filterValue"></custom-ellipsis> - </td> - <td id="tenantName"> - <custom-ellipsis [id]="vnf?.tenantName" [value]="vnf?.tenantName" [hightlight]="filterValue"></custom-ellipsis> - </td> - </tr> - - </tbody> -</table> -<div class="no-result" *ngIf="data?.length == 0">No VNFs were found that can belong to this group.</div> - - diff --git a/vid-webpack-master/src/app/shared/components/searchMembersModal/members-table/members-table.component.scss b/vid-webpack-master/src/app/shared/components/searchMembersModal/members-table/members-table.component.scss index 3be975222..2fa90b859 100644 --- a/vid-webpack-master/src/app/shared/components/searchMembersModal/members-table/members-table.component.scss +++ b/vid-webpack-master/src/app/shared/components/searchMembersModal/members-table/members-table.component.scss @@ -42,32 +42,46 @@ #member-table { border: 1px solid #D2D2D2; + display: flex; + flex-flow: column; + max-height: calc(100vh - 135px); + overflow-y: auto; thead { background: #F8F8F8; - th.allCheckboxAreSelected { - vertical-align: middle !important; - width: 48px; - max-width: 48px; - min-width: 48px; - height: 48px; - } - th.header-title { - font-family: OpenSans-SemiBold; - vertical-align: middle !important; - height: 48px; - font-size: 12px; + tr { + table-layout: fixed; + display: table; + width: 100%; + th.allCheckboxAreSelected { + vertical-align: middle !important; + width: 48px; + max-width: 48px; + min-width: 48px; + height: 48px; + } + th.header-title { + font-family: OpenSans-SemiBold; + vertical-align: middle !important; + height: 48px; + font-size: 12px; + } } } tbody { - td{ - text-align: center; - height: 60px; - padding-top: 0; - padding-bottom: 0; - max-height: 60px; - vertical-align: middle; - .second-line { - font-size: 12px; + tr { + table-layout: fixed; + display: table; + width: 100%; + td{ + text-align: center; + height: 60px; + padding-top: 0; + padding-bottom: 0; + max-height: 60px; + vertical-align: middle; + .second-line { + font-size: 12px; + } } } } @@ -89,3 +103,13 @@ align-items: center; justify-content: center; } + +td.sdcCheckboxMember { + vertical-align: middle !important; + width: 48px !important; + max-width: 48px !important; + min-width: 48px !important; + height: 48px !important; +} + + diff --git a/vid-webpack-master/src/app/shared/components/searchMembersModal/members-table/members-table.component.ts b/vid-webpack-master/src/app/shared/components/searchMembersModal/members-table/members-table.component.ts deleted file mode 100644 index 9736563af..000000000 --- a/vid-webpack-master/src/app/shared/components/searchMembersModal/members-table/members-table.component.ts +++ /dev/null @@ -1,57 +0,0 @@ -import {Component, Input, OnChanges, Output, SimpleChanges, EventEmitter} from '@angular/core'; -import {VnfMember} from "../../../models/VnfMember"; -import {MembersTableService} from "./members-table.service"; -import * as _ from 'lodash'; - -export class CustomTableColumnDefinition { - public displayName = ''; - public key : any = ''; - public type? = 'text'; - public filter? = ''; -} - -@Component({ - selector: 'app-members-table', - templateUrl: './members-table.component.html', - styleUrls: ['./members-table.component.scss'] -}) - -export class MembersTableComponent implements OnChanges{ - filterValue: string = null; - allMemberStatusMap = null; - membersTableService : MembersTableService; - headers: CustomTableColumnDefinition[] = MembersTableService.getHeaders(); - @Input() data: VnfMember[]; - @Input() description: string; - @Output() selectedMembersAmountChange : EventEmitter<number> = new EventEmitter(); - constructor(private _membersTableService : MembersTableService){ - this.membersTableService = this._membersTableService; - } - - ngOnChanges(changes: SimpleChanges): void { - if(_.isNil(this.data)){ - this._membersTableService.resetAll(); - }else { - this._membersTableService.allMemberStatusMap = MembersTableService.generateAllMembersStatus(this.data); - this._membersTableService.filteredMembers = MembersTableService.sortVnfMembersByName(this.data, "instanceName"); - this._membersTableService.updateAmountsAndCheckAll(); - } - } - - search(searchStr: string): void { - this.filterValue = searchStr; - this._membersTableService.filterMembers(this.filterValue); - } - - changeAllCheckboxStatus(status: boolean) : void { - this._membersTableService.changeAllCheckboxStatus(status); - this.selectedMembersAmountChange.emit(this._membersTableService.numberOfSelectedVnfMembers); - } - - - changeCheckboxStatus(vnfInstanceId: string) : void { - this._membersTableService.changeCheckboxStatus(vnfInstanceId); - this.selectedMembersAmountChange.emit(this._membersTableService.numberOfSelectedVnfMembers); - } - -} diff --git a/vid-webpack-master/src/app/shared/components/searchMembersModal/members-table/members-table.service.ts b/vid-webpack-master/src/app/shared/components/searchMembersModal/members-table/members-table.service.ts deleted file mode 100644 index 5b9cd39a2..000000000 --- a/vid-webpack-master/src/app/shared/components/searchMembersModal/members-table/members-table.service.ts +++ /dev/null @@ -1,153 +0,0 @@ -import {Injectable} from "@angular/core"; -import {VnfMember} from "../../../models/VnfMember"; -import {CustomTableColumnDefinition} from "./members-table.component"; -import {NgRedux} from "@angular-redux/store"; -import {AppState} from "../../../store/reducers"; -import {createRelatedVnfMemberInstance} from "../../../storeUtil/utils/relatedVnfMember/relatedVnfMember.actions"; -import * as _ from 'lodash'; -import {DataFilterPipe} from "../../../pipes/dataFilter/data-filter.pipe"; -import {MemberTableRowModel} from "./member-table-row.model"; - -@Injectable() -export class MembersTableService { - allMemberStatusMap : { [key:string]: MemberTableRowModel; }; - filteredMembers : VnfMember[]; - allCheckboxAreSelected : boolean; - numberOfNotHideVnfMembers : number; - numberOfSelectedVnfMembers : number; - numberOfSelectedAndNotHideVnfMembers : number; - - constructor(private _store: NgRedux<AppState>, private dataFilter: DataFilterPipe){ - this.resetAll(); - } - - filterUsedVnfMembers = (serviceModelId: string, result: VnfMember[]): VnfMember[] => { - const allMembersMap = _.keyBy(result as VnfMember[], 'instanceId'); - const vnfGroupsData = this._store.getState().service.serviceInstance[serviceModelId].vnfGroups; - const vnfMembersArr = _.flatMap(vnfGroupsData).map((vnfGroup) =>vnfGroup.vnfs ); - for( let vnf of vnfMembersArr ){ - for(let member in vnf){ - delete allMembersMap[member]; - } - } - return _.flatMap(allMembersMap); - }; - - updateAmountsAndCheckAll = () : void => { - this.numberOfSelectedVnfMembers = this.calculateSelectedVnfMembers(); - this.numberOfNotHideVnfMembers = this.calculateNotHideVnfMembers(); - this.numberOfSelectedAndNotHideVnfMembers = this.calculateSelectedAndNotHide(); - this.allCheckboxAreSelected = this.numberOfNotHideVnfMembers > 0 && this.numberOfNotHideVnfMembers === this.numberOfSelectedAndNotHideVnfMembers; - }; - - resetAll = () : void => { - this.allMemberStatusMap = {}; - this.filteredMembers = []; - this.numberOfSelectedVnfMembers = 0; - this.numberOfNotHideVnfMembers = 0; - this.numberOfSelectedAndNotHideVnfMembers = 0; - this.allCheckboxAreSelected = false; - }; - - changeAllCheckboxStatus = (status : boolean) : void =>{ - for(const member of this.filteredMembers){ - this.allMemberStatusMap[member.instanceId].isSelected = status; - } - this.updateAmountsAndCheckAll(); - }; - - changeCheckboxStatus = (vnfInstanceId : string ) : void =>{ - this.allMemberStatusMap[vnfInstanceId].isSelected = !this.allMemberStatusMap[vnfInstanceId].isSelected; - this.updateAmountsAndCheckAll(); - }; - - /************************************************ - iterate over all current vnf members: - 1) if vnf member is selected then update REDUX store - 2) if vnf member is not selected then delete member - @allMemberStatusMap: current vnf member status - @vnfGroupStoreKey: vnf group store key - @serviceId: service model id - ************************************************/ - setMembers = (data : {serviceId : string, vnfGroupStoreKey : string}) : void =>{ - let tmpMembers = this.allMemberStatusMap; - for(let key in tmpMembers){ - if(tmpMembers[key].isSelected){ - this._store.dispatch(createRelatedVnfMemberInstance( data.vnfGroupStoreKey, data.serviceId, tmpMembers[key])); - } - } - }; - - filterMembers(searchStr: string): void { - const keys: string[][] = MembersTableService.getDataKeys(); - this.filteredMembers = this.dataFilter.transform(_.values(this.allMemberStatusMap), searchStr || '', keys); - this.updateAmountsAndCheckAll(); - } - - /************************************ - generate vnf member data for select/ unselect rows - ************************************/ - static generateAllMembersStatus(tableData : VnfMember[]) : { [key:string]: MemberTableRowModel; }{ - - tableData.map((vnf) => { - vnf['isSelected'] = false - }); - return _.keyBy(tableData as MemberTableRowModel[], 'instanceId'); - } - - - static sortVnfMembersByName(list : VnfMember[], keyName : string) :VnfMember[]{ - if(!_.isNil(list) && !_.isNil(keyName)) { - return list.sort(function(itemA, itemB) { return itemA[keyName]- itemB[keyName];}) - } - return []; - - } - - /******************************** - table columns headers and key's - ********************************/ - static getHeaders() : CustomTableColumnDefinition[] { - return [ - {displayName: 'VNF instance name', key: ['instanceName']}, - {displayName: 'VNF version', key: ['modelInfo', 'modelVersion']}, - {displayName: 'VNF model name', key: ['modelInfo', 'modelName']}, - {displayName: 'Prov Status', key: ['provStatus']}, - {displayName: 'Service instance name', key: ['serviceInstanceName']}, - {displayName: 'Cloud Region', key: ['lcpCloudRegionId']}, - {displayName: 'Tenant Name', key: ['tenantName']} - ]; - } - - static getDataKeys(): string[][]{ - const headers = MembersTableService.getHeaders(); - return headers.map((header)=> header.key).concat([['instanceId']],[['serviceInstanceId']]); - } - - /************************************************************************************* - calculate the number of selected vnf members - include not visible and visible rows - @allMemberStatusMap: current vnf member status - *************************************************************************************/ - calculateSelectedVnfMembers() : number { - const flatObject = _.values(this.allMemberStatusMap); - return _.filter(flatObject, (item) => { if (item.isSelected) return item }).length; - } - - /************************************************ - calculate the number of display vnf members - @allMemberStatusMap: current vnf member status - ************************************************/ - calculateNotHideVnfMembers() : number { - return this.filteredMembers.length; - } - - /************************************************ - calculate the number of display vnf members - @allMemberStatusMap: current vnf member status - ************************************************/ - calculateSelectedAndNotHide() : number { - return _.filter(this.filteredMembers, (item) => { if ( this.allMemberStatusMap[item.instanceId].isSelected) return item }).length; - } - - -} diff --git a/vid-webpack-master/src/app/shared/components/searchMembersModal/search-elements-modal.component.html b/vid-webpack-master/src/app/shared/components/searchMembersModal/search-elements-modal.component.html new file mode 100644 index 000000000..7e79ca6f1 --- /dev/null +++ b/vid-webpack-master/src/app/shared/components/searchMembersModal/search-elements-modal.component.html @@ -0,0 +1,64 @@ +<div class="modal-search-member-content"> + <div class="header"> + <vid-svg-icon + [attr.data-tests-id]="'cancelBtn'" + (click)="backAction()" + class="navigation-arrow-back" + [mode]="'primary'" + [size]="'large'" + [name]="'navigation-arrow-back'" + [clickable]="true" + [fill]="'#FFFFFF'" + [widthViewBox]="'24'" + [heightViewBox]="'24'"> + </vid-svg-icon> + + <span class="title"> + {{modalInformation.title}} + </span> + <button type="submit" data-tests-id="setMembersBtn" [disabled]="disableSetElements" (click)="doneAction()" class="sdc-button sdc-button__primary">{{modalInformation?.topButton?.text}}</button> + </div> + <div class="content-wrapper"> + <div class="sidebar-left"> + <div class="search-criteria-wrapper"> + <div class="search-criteria-title">SEARCH CRITERIA</div> + <div class="search-item" *ngFor="let searchFieldItem of modalInformation?.searchFields"> + <div> + <div><span class="label-item" >{{searchFieldItem.title}}</span></div> + <div><span attr.data-tests-id="{{searchFieldItem.dataTestId}}" class="text-item">{{searchFieldItem.value}}</span></div> + </div> + </div> + <div class="search-item" *ngFor="let criteria of modalInformation?.criteria"> + <div *ngIf="criteria.type === 'DROPDOWN'"> + <div><span class="label-item" [ngClass]="{'required': criteria.isRequired}">{{criteria.label}}</span></div> + <div> + <select class="form-control input-text select-criteria" + id="{{criteria?.dataTestId}}-select" + [attr.data-tests-id]="criteria?.dataTestId" + (change)="criteria.onChange(criteria, $event.target.value)"> + + <option *ngFor="let option of criteria.onInit() | async" + class="{{option}} {{option}}-Option" + [value]="option">{{option}} + </option> + </select> + </div> + </div> + </div> + <div class="search-button" *ngIf="modalInformation.criteria && modalInformation.criteria.length > 0"> + <button type="submit" + data-tests-id="searchByNetworkRole" + [disabled]="disableSearchByNetworkRole" + (click)="searchByCriteriaAction()" + class="sdc-button sdc-button__primary">Search...</button> + </div> + </div> + </div> + <div class="sidebar-right"> + <app-members-table + [data]="elementsData" + [modalInformation]="modalInformation" + (selectedMembersAmountChange)="selectedMembersAmountChange($event)"></app-members-table> + </div> + </div> +</div> diff --git a/vid-webpack-master/src/app/shared/components/searchMembersModal/search-members-modal.component.scss b/vid-webpack-master/src/app/shared/components/searchMembersModal/search-elements-modal.component.scss index d49653934..7d9d139d1 100644 --- a/vid-webpack-master/src/app/shared/components/searchMembersModal/search-members-modal.component.scss +++ b/vid-webpack-master/src/app/shared/components/searchMembersModal/search-elements-modal.component.scss @@ -44,12 +44,12 @@ } .content-wrapper { - display: flex; .sidebar-left { - flex-basis: 285px; + width: 20%; border-right: 1px solid #D2D2D2; height: calc(100vh - 60px); + float: left; .search-criteria-wrapper{ @@ -82,8 +82,34 @@ } .sidebar-right { - flex: 1; - margin: 80px 50px; + padding: 15px 30px 0px 30px; + width: 80%; + float: right; } } } + +select.select-criteria { + webkit-appearance: none; + background: url('../../../../assets/img/chevron.svg') 0 0 no-repeat; + background-size: 24px; + background-position-x: right; + background-position-y: center; + font-family: OpenSans-Italic; + font-size: 14px; + height: 38px; + -webkit-appearance: none; + -moz-appearance: none; +} + +.required:after { + content: " * "; + color: #cf2a2a; + margin-left: 3px; +} + +.search-button { + display: flex; + justify-content: space-around; +} + diff --git a/vid-webpack-master/src/app/shared/components/searchMembersModal/search-elements-modal.component.ts b/vid-webpack-master/src/app/shared/components/searchMembersModal/search-elements-modal.component.ts new file mode 100644 index 000000000..211f59337 --- /dev/null +++ b/vid-webpack-master/src/app/shared/components/searchMembersModal/search-elements-modal.component.ts @@ -0,0 +1,91 @@ +import {Component, Input, OnDestroy, OnInit, ViewChild} from '@angular/core'; +import {DialogComponent, DialogService} from "ng2-bootstrap-modal"; +import {IframeService} from "../../utils/iframe.service"; +import {AaiService} from "../../services/aaiService/aai.service"; +import {VnfGroupModel} from "../../models/vnfGroupModel"; +import {ElementsTableService} from "./members-table/elements-table.service"; +import {Level1Instance} from "../../models/level1Instance"; +import {ModalInformation} from "./members-table/element-table-row.model"; +import {NgRedux} from "@angular-redux/store"; +import {AppState} from "../../store/reducers"; +import {FormGroup} from "@angular/forms"; +import * as _ from "lodash"; +import {clearAllGenericModalhelper} from "../../storeUtil/utils/global/global.actions"; +@Component({ + selector: 'search-members-modal', + templateUrl: 'search-elements-modal.component.html', + styleUrls: ['search-elements-modal.component.scss'] +}) + +export class SearchElementsModalComponent extends DialogComponent<{ modalInformation: ModalInformation }, boolean> implements OnInit, OnDestroy { + modalInformation: ModalInformation; + parentElementClassName = 'content'; + elementsData: Level1Instance[]; + vnfGroupModel: VnfGroupModel; + disableSetElements: boolean = true; + disableSearchByNetworkRole: boolean = false; + dynamicFormGroup: FormGroup = null; + + constructor(dialogService: DialogService, + private _iframeService: IframeService, + private _aaiService: AaiService, + private _membersTableService: ElementsTableService, + private _store: NgRedux<AppState>) { + super(dialogService); + ElementsTableService.changeFnTableDataTrigger.subscribe((triggerRes) => { + this._membersTableService.resetAll(this.modalInformation.uniqObjectField, this.modalInformation.maxSelectRow); + this.elementsData = triggerRes; + }); + + ElementsTableService.changeModalInformationDataTrigger.subscribe(({modalInformation, selectedRowsIds}) => { + this.disableSetElements = true; + this.modalInformation = modalInformation; + this.ngOnInit(selectedRowsIds); + }) + } + + @ViewChild('ElementsTableComponent') membersTable; + + ngOnInit(selectedRowsIds?: string[]): void { + const genericModalHelper = this._store.getState().global.genericModalHelper; + if(!_.isNil(genericModalHelper) && !_.isNil(genericModalHelper[`${this.modalInformation.type}_TABLE_DATA`]) && !_.isNil(genericModalHelper[`selected${this.modalInformation.type}`])){ + this.elementsData = this._store.getState().global.genericModalHelper[`${this.modalInformation.type}_TABLE_DATA`]; + } else { + this.modalInformation.getElements() + .subscribe((result) => { + this.elementsData = result; + }); + } + }; + + closeDialog(): void { + this._iframeService.removeFullScreen(); + this._iframeService.removeClassCloseModal(this.parentElementClassName); + this.dialogService.removeDialog(this); + setTimeout(() => { + window.parent.postMessage("closeIframe", "*"); + }, 15); + } + + selectedMembersAmountChange(selectedMembersAmount: number): void { + this.disableSetElements = selectedMembersAmount == 0; + } + + doneAction(): void { + this.modalInformation.topButton.action.call(this, this); + } + + searchByCriteriaAction(): void { + this.modalInformation.searchButton.action.call(this, this); + } + + backAction(): void { + if (this.modalInformation.backAction) { + this.modalInformation.backAction.call(this, this); + } else { + this.closeDialog(); + } + } +} + + diff --git a/vid-webpack-master/src/app/shared/components/searchMembersModal/search-members-modal.component.html b/vid-webpack-master/src/app/shared/components/searchMembersModal/search-members-modal.component.html deleted file mode 100644 index 899bc9889..000000000 --- a/vid-webpack-master/src/app/shared/components/searchMembersModal/search-members-modal.component.html +++ /dev/null @@ -1,35 +0,0 @@ -<div class="modal-search-member-content"> - <div class="header"> - <vid-svg-icon - [attr.data-tests-id]="'cancelBtn'" - (click)="closeDialog()" - class="navigation-arrow-back" - [mode]="'primary'" - [size]="'large'" - [name]="'navigation-arrow-back'" - [clickable]="true" - [fill]="'#FFFFFF'" - [widthViewBox]="'24'" - [heightViewBox]="'24'"> - </vid-svg-icon> - - <span class="title"> - {{title}} - </span> - <button type="submit" data-tests-id="setMembersBtn" [disabled]="disableSetMembers" (click)="setMembers()" class="sdc-button sdc-button__primary">SET MEMBERS</button> - </div> - <div class="content-wrapper"> - <div class="sidebar-left"> - <div class="search-criteria-wrapper"> - <div class="search-criteria-title">SEARCH CRITERIA</div> - <div class="search-item" *ngFor="let searchFieldItem of searchFields"> - <span class="label-item">{{searchFieldItem.title}}</span> - <span attr.data-tests-id="{{searchFieldItem.dataTestId}}" class="text-item">{{searchFieldItem.value}}</span> - </div> - </div> - </div> - <div class="sidebar-right"> - <app-members-table [data]="membersData" [description]="description" (selectedMembersAmountChange)="selectedMembersAmountChange($event)"></app-members-table> - </div> - </div> -</div> diff --git a/vid-webpack-master/src/app/shared/components/searchMembersModal/search-members-modal.component.ts b/vid-webpack-master/src/app/shared/components/searchMembersModal/search-members-modal.component.ts deleted file mode 100644 index 9c65d222d..000000000 --- a/vid-webpack-master/src/app/shared/components/searchMembersModal/search-members-modal.component.ts +++ /dev/null @@ -1,82 +0,0 @@ -import {Component, OnDestroy, OnInit, ViewChild} from '@angular/core'; -import {DialogComponent, DialogService} from "ng2-bootstrap-modal"; -import {IframeService} from "../../utils/iframe.service"; -import {AaiService} from "../../services/aaiService/aai.service"; -import {VnfMember} from "../../models/VnfMember"; -import {VnfGroupModel} from "../../models/vnfGroupModel"; -import {MembersTableService} from "./members-table/members-table.service"; -import {VnfGroupInstance} from "../../models/vnfGroupInstance"; - - -export interface PopupModel { - title: string; - serviceModelId : string; - searchFields: ISearchField[]; - description : string; - subscriberId: string, - serviceType: string, - node: VnfGroupInstance, - vnfGroupModel: VnfGroupModel; - -} - -export interface ISearchField { - title: string; - value: any; - dataTestId: string; -} - -@Component({ - selector : 'search-members-modal', - templateUrl : 'search-members-modal.component.html', - styleUrls : ['search-members-modal.component.scss'] -}) - -export class SearchMembersModalComponent extends DialogComponent<PopupModel, boolean> implements OnInit, OnDestroy { - title: string; - serviceModelId : string; - parentElementClassName = 'content'; - membersData: VnfMember[]; - description : string; - searchFields: ISearchField[]; - vnfGroupModel: VnfGroupModel; - subscriberId: string; - serviceType: string; - node: VnfGroupInstance; - disableSetMembers: boolean = true; - constructor(dialogService: DialogService , - private _iframeService : IframeService, - private _aaiService : AaiService, - private _membersTableService: MembersTableService){ - super(dialogService); - - } - @ViewChild('MembersTableComponent') membersTable; - - ngOnInit() : void{ - this._aaiService.getOptionalGroupMembers(this.serviceModelId, this.subscriberId, this.serviceType, (Object.values(this.vnfGroupModel.members))[0].sourceModelInvariant, this.vnfGroupModel.properties.type, this.vnfGroupModel.properties.role) - .subscribe((result: VnfMember[])=>{ - this.membersData = this._membersTableService.filterUsedVnfMembers(this.serviceModelId, result); - }); - }; - - - closeDialog() : void{ - this._iframeService.removeClassCloseModal(this.parentElementClassName); - this.dialogService.removeDialog(this); - setTimeout(() => { - window.parent.postMessage("closeIframe", "*"); - }, 15); - } - selectedMembersAmountChange(selectedMembersAmount: number) : void { - this.disableSetMembers = selectedMembersAmount==0; - } - - - setMembers() : void { - this._membersTableService.setMembers({serviceId : this.serviceModelId, vnfGroupStoreKey : this.node.vnfGroupStoreKey}); - this.closeDialog(); - } -} - - diff --git a/vid-webpack-master/src/app/shared/models/VnfMember.ts b/vid-webpack-master/src/app/shared/models/VnfMember.ts index 392f8ddf9..6eda403a6 100644 --- a/vid-webpack-master/src/app/shared/models/VnfMember.ts +++ b/vid-webpack-master/src/app/shared/models/VnfMember.ts @@ -7,5 +7,4 @@ export class VnfMember extends Level1Instance{ constructor(){ super(); } - } diff --git a/vid-webpack-master/src/app/shared/models/collectionResourceInstance.ts b/vid-webpack-master/src/app/shared/models/collectionResourceInstance.ts new file mode 100644 index 000000000..28ebb5d4e --- /dev/null +++ b/vid-webpack-master/src/app/shared/models/collectionResourceInstance.ts @@ -0,0 +1,11 @@ +import {Level1Instance} from "./level1Instance"; + +export class CollectionResourceInstance extends Level1Instance{ + collectionResourceStoreKey : string; + statusMessage?: string; + + constructor() { + super(); + this.collectionResourceStoreKey = null; + } +} diff --git a/vid-webpack-master/src/app/shared/models/collectionResourceModel.ts b/vid-webpack-master/src/app/shared/models/collectionResourceModel.ts new file mode 100644 index 000000000..259e18633 --- /dev/null +++ b/vid-webpack-master/src/app/shared/models/collectionResourceModel.ts @@ -0,0 +1,28 @@ +import {Level1Model, Level1ModelProperties, Level1ModelResponseInterface} from "./nodeModel"; +import {NcfModelInterface} from "./ncfModel"; + +export interface CollectionResourceProperties extends Level1ModelProperties{ +} + +export interface CollectionResourceModelResponseInterface extends Level1ModelResponseInterface{ + properties: CollectionResourceProperties; + networksCollection: { [key: string]: NcfModelInterface }; +} + +export class CollectionResourceModel extends Level1Model{ + + roles: string[] = []; + properties: CollectionResourceProperties; + networksCollection: { [key: string]: NcfModelInterface }; + + constructor(collectionResourceJson?: CollectionResourceModelResponseInterface){ + super(collectionResourceJson); + if(collectionResourceJson && collectionResourceJson.properties){ + this.properties = collectionResourceJson.properties; + } + if (collectionResourceJson && collectionResourceJson.networksCollection) { + this.networksCollection = collectionResourceJson.networksCollection; + } + } + +} diff --git a/vid-webpack-master/src/app/shared/models/collectionResourceTreeNode.ts b/vid-webpack-master/src/app/shared/models/collectionResourceTreeNode.ts new file mode 100644 index 000000000..e63d63066 --- /dev/null +++ b/vid-webpack-master/src/app/shared/models/collectionResourceTreeNode.ts @@ -0,0 +1,21 @@ +import {TreeNodeModel} from "./treeNodeModel"; +import {Level1Model} from "./nodeModel"; +import {CollectionResourceInstance} from "./collectionResourceInstance"; + +export class CollectionResourceTreeNode extends TreeNodeModel { + collectionResourceStoreKey : string; + typeName: string; + menuActions: { [p: string]: { method: Function; visible: Function; enable: Function } }; + isFailed: boolean; + statusMessage?: string; + + constructor(instance: CollectionResourceInstance, collectionResourceModel: Level1Model, collectionResourceStoreKey : string){ + super(instance, collectionResourceModel); + this.name = instance.instanceName? instance.instanceName: !collectionResourceModel.isEcompGeneratedNaming ? collectionResourceModel.modelCustomizationName : '<Automatically Assigned>'; + this.modelName = collectionResourceModel.modelCustomizationName; + this.type = collectionResourceModel.type; + this.isEcompGeneratedNaming = collectionResourceModel.isEcompGeneratedNaming; + this.collectionResourceStoreKey = collectionResourceStoreKey; + } +} + diff --git a/vid-webpack-master/src/app/shared/models/firstLevelTreeNode.ts b/vid-webpack-master/src/app/shared/models/firstLevelTreeNode.ts new file mode 100644 index 000000000..5c0e46c5a --- /dev/null +++ b/vid-webpack-master/src/app/shared/models/firstLevelTreeNode.ts @@ -0,0 +1,20 @@ +import {TreeNodeModel} from "./treeNodeModel"; +import {NetworkInstance} from "./networkInstance"; +import {Level1Model} from "./nodeModel"; + +export class FirstLevelTreeNode extends TreeNodeModel { + networkStoreKey: string; + typeName: string; + menuActions: { [p: string]: { method: Function; visible: Function; enable: Function } }; + isFailed: boolean; + statusMessage?: string; + + constructor(instance: NetworkInstance, networkModel: Level1Model, networkStoreKey: string) { + super(instance, networkModel); + this.name = instance.instanceName ? instance.instanceName : !networkModel.isEcompGeneratedNaming ? networkModel.modelCustomizationName : '<Automatically Assigned>'; + this.modelName = networkModel.modelCustomizationName; + this.type = networkModel.type; + this.isEcompGeneratedNaming = networkModel.isEcompGeneratedNaming; + this.networkStoreKey = networkStoreKey; + } +} diff --git a/vid-webpack-master/src/app/shared/models/level1Instance.ts b/vid-webpack-master/src/app/shared/models/level1Instance.ts index b7925b8bd..6f73910e0 100644 --- a/vid-webpack-master/src/app/shared/models/level1Instance.ts +++ b/vid-webpack-master/src/app/shared/models/level1Instance.ts @@ -12,6 +12,9 @@ export class Level1Instance extends ChildNodeInstance{ lineOfBusiness: string; rollbackOnFailure: string; originalName: string; + region: string; + routeTargets: any[]; + customerId: string; constructor() { super(); diff --git a/vid-webpack-master/src/app/shared/models/ncfInstance.ts b/vid-webpack-master/src/app/shared/models/ncfInstance.ts new file mode 100644 index 000000000..b2a7c461d --- /dev/null +++ b/vid-webpack-master/src/app/shared/models/ncfInstance.ts @@ -0,0 +1,11 @@ +import {Level1Instance} from "./level1Instance"; + +export class NcfInstance extends Level1Instance{ + storeKey : string; + statusMessage?: string; + + constructor() { + super(); + this.storeKey = null; + } +} diff --git a/vid-webpack-master/src/app/shared/models/ncfModel.ts b/vid-webpack-master/src/app/shared/models/ncfModel.ts new file mode 100644 index 000000000..17d9cb41e --- /dev/null +++ b/vid-webpack-master/src/app/shared/models/ncfModel.ts @@ -0,0 +1,10 @@ +import {NodeModelResponseInterface} from "./nodeModel"; + +export interface NcfProperties { + networkCollectionFunction: string; + networkCollectionDescription: string; +} + +export interface NcfModelInterface extends NodeModelResponseInterface { + networkCollectionProperties: NcfProperties; +} diff --git a/vid-webpack-master/src/app/shared/models/ncfTreeNode.ts b/vid-webpack-master/src/app/shared/models/ncfTreeNode.ts new file mode 100644 index 000000000..903fd2f32 --- /dev/null +++ b/vid-webpack-master/src/app/shared/models/ncfTreeNode.ts @@ -0,0 +1,29 @@ +import {TreeNodeModel} from "./treeNodeModel"; +import {Level1Model} from "./nodeModel"; +import {Level1Instance} from "./level1Instance"; + + +export class NcfTreeNode extends TreeNodeModel { + storeKey : string; + typeName: string; + menuActions: { [p: string]: { method: Function; visible: Function; enable: Function } }; + isFailed: boolean; + statusMessage?: string; + instanceGroupRole: string; + instanceGroupFunction: string; + numberOfNetworks: number; + modelVersion: string; + + constructor(instance: Level1Instance, ncfModel: Level1Model, storeKey: string, modelVersion: string) { + super(instance, ncfModel); + this.name = instance.instanceName? instance.instanceName: !ncfModel.isEcompGeneratedNaming ? ncfModel.modelCustomizationName : '<Automatically Assigned>'; + this.modelName = ncfModel.modelCustomizationName; + this.type = ncfModel.type; + this.isEcompGeneratedNaming = ncfModel.isEcompGeneratedNaming; + this.storeKey = storeKey; + this.instanceGroupRole = instance['instanceGroupRole']; + this.instanceGroupFunction = instance['instanceGroupFunction']; + this.numberOfNetworks = instance['numberOfNetworks']; + this.modelVersion = modelVersion; + } +} diff --git a/vid-webpack-master/src/app/shared/models/networkInstance.ts b/vid-webpack-master/src/app/shared/models/networkInstance.ts index ded95a787..0dad0c0ae 100644 --- a/vid-webpack-master/src/app/shared/models/networkInstance.ts +++ b/vid-webpack-master/src/app/shared/models/networkInstance.ts @@ -4,8 +4,8 @@ import {Level1Instance} from "./level1Instance"; export class NetworkInstance extends Level1Instance{ networkStoreKey : string; - isFailed: boolean; statusMessage?: string; + routeTarget: any; constructor() { super(); diff --git a/vid-webpack-master/src/app/shared/models/networkTreeNode.ts b/vid-webpack-master/src/app/shared/models/networkTreeNode.ts index d09d5e4c5..3b68a4c94 100644 --- a/vid-webpack-master/src/app/shared/models/networkTreeNode.ts +++ b/vid-webpack-master/src/app/shared/models/networkTreeNode.ts @@ -1,23 +1,15 @@ import {NetworkInstance} from "./networkInstance"; -import {TreeNodeModel} from "./treeNodeModel"; import {Level1Model} from "./nodeModel"; +import {FirstLevelTreeNode} from "./firstLevelTreeNode"; +export class NetworkTreeNode extends FirstLevelTreeNode { + routeTargetId: string; + routeTargetRole: string; -export class NetworkTreeNode extends TreeNodeModel { - networkStoreKey : string; - typeName: string; - menuActions: { [p: string]: { method: Function; visible: Function; enable: Function } }; - isFailed: boolean; - statusMessage?: string; - - constructor(instance: NetworkInstance, networkModel: Level1Model, networkStoreKey : string){ - super(instance, networkModel); - this.name = instance.instanceName? instance.instanceName: !networkModel.isEcompGeneratedNaming ? networkModel.modelCustomizationName : '<Automatically Assigned>'; - this.modelName = networkModel.modelCustomizationName; - this.type = networkModel.type; - this.isEcompGeneratedNaming = networkModel.isEcompGeneratedNaming; - this.networkStoreKey = networkStoreKey; + constructor(instance: NetworkInstance, networkModel: Level1Model, networkStoreKey: string) { + super(instance, networkModel, networkStoreKey); + this.routeTargetId = instance && instance.routeTarget ? instance.routeTarget.globalRouteTarget : null; + this.routeTargetRole = instance && instance.routeTarget ? instance.routeTarget.routeTargetRole : null; } } - diff --git a/vid-webpack-master/src/app/shared/models/nodeInstance.ts b/vid-webpack-master/src/app/shared/models/nodeInstance.ts index 7656a0c2e..1967fd80d 100644 --- a/vid-webpack-master/src/app/shared/models/nodeInstance.ts +++ b/vid-webpack-master/src/app/shared/models/nodeInstance.ts @@ -3,12 +3,14 @@ import {ModelInfo} from "./modelInfo"; export class NodeInstance { instanceName: string; + instanceType?: string; orchStatus?:string; action: ServiceInstanceActions = ServiceInstanceActions.Create; originalAction : ServiceInstanceActions; modelInfo?: ModelInfo; instanceId?: string; trackById?: string; + isFailed?: boolean; } export class ChildNodeInstance extends NodeInstance { isMissingData: boolean; diff --git a/vid-webpack-master/src/app/shared/models/nodeModel.ts b/vid-webpack-master/src/app/shared/models/nodeModel.ts index ee57ec038..610522d78 100644 --- a/vid-webpack-master/src/app/shared/models/nodeModel.ts +++ b/vid-webpack-master/src/app/shared/models/nodeModel.ts @@ -87,7 +87,10 @@ export class Level1Model extends NodeModel{ } } private getIsEcompGeneratedNaming(vnfJson) { - const ecompGeneratedNaming = vnfJson.properties.ecomp_generated_naming; + let ecompGeneratedNaming; + if (vnfJson.properties) { + ecompGeneratedNaming = vnfJson.properties.ecomp_generated_naming; + } return ecompGeneratedNaming === "true"; }; } diff --git a/vid-webpack-master/src/app/shared/models/pnfInstance.ts b/vid-webpack-master/src/app/shared/models/pnfInstance.ts new file mode 100644 index 000000000..ba3679646 --- /dev/null +++ b/vid-webpack-master/src/app/shared/models/pnfInstance.ts @@ -0,0 +1,13 @@ +import {Level1Instance} from "./level1Instance"; + + +export class PnfInstance extends Level1Instance { + + pnfStoreKey : string; + statusMessage?: string; + + constructor() { + super(); + this.pnfStoreKey = null; + } +} diff --git a/vid-webpack-master/src/app/shared/models/pnfModel.ts b/vid-webpack-master/src/app/shared/models/pnfModel.ts new file mode 100644 index 000000000..14e6588d2 --- /dev/null +++ b/vid-webpack-master/src/app/shared/models/pnfModel.ts @@ -0,0 +1,28 @@ +import { + Level1Model, + Level1ModelProperties, + Level1ModelResponseInterface +} from "./nodeModel"; + + + +export interface PnfProperties extends Level1ModelProperties{ + ecomp_generated_naming: string; +} + +export interface PNFModelResponseInterface extends Level1ModelResponseInterface{ + properties: PnfProperties; +} + +export class PNFModel extends Level1Model{ + roles: string[] = []; + properties: PnfProperties; + + constructor(pnfJson?: PNFModelResponseInterface) { + super(pnfJson); + if (pnfJson && pnfJson.properties) { + this.properties = pnfJson.properties; + } + } + +} diff --git a/vid-webpack-master/src/app/shared/models/pnfTreeNode.ts b/vid-webpack-master/src/app/shared/models/pnfTreeNode.ts new file mode 100644 index 000000000..26f441ceb --- /dev/null +++ b/vid-webpack-master/src/app/shared/models/pnfTreeNode.ts @@ -0,0 +1,21 @@ +import {Level1Model} from "./nodeModel"; +import {TreeNodeModel} from "./treeNodeModel"; +import {PnfInstance} from "./pnfInstance"; + +export class PnfTreeNode extends TreeNodeModel{ + pnfStoreKey : string; + typeName: string; + menuActions: { [p: string]: { method: Function; visible: Function; enable: Function } }; + isFailed: boolean; + statusMessage?: string; + + constructor(instance: PnfInstance, pnfModel: Level1Model, pnfStoreKey : string){ + super(instance, pnfModel); + this.type = pnfModel.type; + this.pnfStoreKey = pnfStoreKey; + + this.name = instance.instanceName? instance.instanceName: !pnfModel.isEcompGeneratedNaming ? pnfModel.modelCustomizationName : '<Automatically Assigned>'; + this.modelName = pnfModel.modelCustomizationName; + this.isEcompGeneratedNaming = pnfModel.isEcompGeneratedNaming; + } +} diff --git a/vid-webpack-master/src/app/shared/models/serviceInstance.ts b/vid-webpack-master/src/app/shared/models/serviceInstance.ts index 38b4ac35d..d9167be16 100644 --- a/vid-webpack-master/src/app/shared/models/serviceInstance.ts +++ b/vid-webpack-master/src/app/shared/models/serviceInstance.ts @@ -3,6 +3,8 @@ import {NetworkInstance} from "./networkInstance"; import {NodeInstance} from "./nodeInstance"; import {VnfGroupInstance} from "./vnfGroupInstance"; import {VnfMember} from "./VnfMember"; +import {VrfInstance} from "./vrfInstance"; +import {VidNotions} from "./vidNotions"; export class ServiceInstance extends NodeInstance{ isEcompGeneratedNaming: boolean; @@ -20,6 +22,7 @@ export class ServiceInstance extends NodeInstance{ pause: boolean; bulkSize: number; vnfs: { [vnf_module_model_name: string]: VnfInstance; }; + vrfs: { [vrf_model_name: string]: VrfInstance; }; vnfGroups : {[vnf_module_model_name: string]: VnfGroupInstance; }; networks: { [vnf_module_model_name: string]: NetworkInstance; }; isDirty : boolean; @@ -30,20 +33,23 @@ export class ServiceInstance extends NodeInstance{ existingNames: {[key: string] : any}; modelInavariantId?: string; existingVNFCounterMap : { [vnf_module_model_name: string]: number; }; + existingVRFCounterMap : { [vrf_module_model_name: string]: number; }; existingVnfGroupCounterMap : { [vnf_group_module_model_name: string]: number; }; existingNetworksCounterMap : { [network_module_model_name: string]: number; }; optionalGroupMembersMap?: { [path: string]: VnfMember[]; }; - isFailed: boolean; statusMessage: string; + vidNotions?: VidNotions; constructor() { super(); this.isDirty = false; this.vnfs = {}; + this.vrfs = {}; this.instanceParams = []; this.validationCounter = 0; this.existingNames = {}; this.existingVNFCounterMap = {}; + this.existingVRFCounterMap = {}; this.existingVnfGroupCounterMap = {}; this.existingNetworksCounterMap = {}; this.optionalGroupMembersMap = {}; diff --git a/vid-webpack-master/src/app/shared/models/serviceInstanceActions.ts b/vid-webpack-master/src/app/shared/models/serviceInstanceActions.ts index 783f133b0..cda2d0e88 100644 --- a/vid-webpack-master/src/app/shared/models/serviceInstanceActions.ts +++ b/vid-webpack-master/src/app/shared/models/serviceInstanceActions.ts @@ -3,6 +3,7 @@ export enum ServiceInstanceActions{ Update="Update", Create="Create", None="None", + Resume = "Resume", Update_Delete = 'Update_Delete', None_Delete = 'None_Delete' } diff --git a/vid-webpack-master/src/app/shared/models/serviceModel.ts b/vid-webpack-master/src/app/shared/models/serviceModel.ts index 21a34cc95..15fb4fb0c 100644 --- a/vid-webpack-master/src/app/shared/models/serviceModel.ts +++ b/vid-webpack-master/src/app/shared/models/serviceModel.ts @@ -1,5 +1,5 @@ import {NodeModel, NodeModelResponseInterface} from "./nodeModel"; -import * as _ from "lodash"; +import {VidNotions} from "./vidNotions"; export interface ServiceModelResponseInterface extends NodeModelResponseInterface{ @@ -17,7 +17,7 @@ export class ServiceModel extends NodeModel{ servicesQty: number; isEcompGeneratedNaming: boolean; isMultiStepDesign: boolean; - vidNotions?: any; + vidNotions?: VidNotions; constructor(serviceModelJson?: any){ super(serviceModelJson.service); diff --git a/vid-webpack-master/src/app/shared/models/treeNodeModel.ts b/vid-webpack-master/src/app/shared/models/treeNodeModel.ts index 2be8b804a..9242add85 100644 --- a/vid-webpack-master/src/app/shared/models/treeNodeModel.ts +++ b/vid-webpack-master/src/app/shared/models/treeNodeModel.ts @@ -27,6 +27,9 @@ export class TreeNodeModel { provStatus?:string; inMaint?:boolean; action : string ; + instanceId?: string; + instanceType?: string; + instanceName?: string; constructor(instance: ChildNodeInstance, nodeModel: NodeModel){ this.modelCustomizationId = nodeModel.customizationUuid; @@ -48,6 +51,18 @@ export class TreeNodeModel { this.inMaint= instance.inMaint; } + if(!_.isNil(instance.instanceId)){ + this.instanceId= instance.instanceId; + } + if(!_.isNil(instance.instanceType)){ + this.instanceType= instance.instanceType; + } + if(!_.isNil(instance.instanceName)){ + this.instanceName= instance.instanceName; + } + + + } } diff --git a/vid-webpack-master/src/app/shared/models/vfModuleInstance.ts b/vid-webpack-master/src/app/shared/models/vfModuleInstance.ts index 71140d44b..566c913ae 100644 --- a/vid-webpack-master/src/app/shared/models/vfModuleInstance.ts +++ b/vid-webpack-master/src/app/shared/models/vfModuleInstance.ts @@ -3,7 +3,6 @@ import {ChildNodeInstance} from "./nodeInstance"; export class VfModuleInstance extends ChildNodeInstance{ volumeGroupName: string; instanceParams: { [key: string] : string; }; - isFailed: boolean; position: any; statusMessage?: string; diff --git a/vid-webpack-master/src/app/shared/models/vidNotions.ts b/vid-webpack-master/src/app/shared/models/vidNotions.ts new file mode 100644 index 000000000..b2e54fa65 --- /dev/null +++ b/vid-webpack-master/src/app/shared/models/vidNotions.ts @@ -0,0 +1,6 @@ +export interface VidNotions { + instantiationUI: string, + modelCategory: string, + viewEditUI: string, + instantiationType: string +} diff --git a/vid-webpack-master/src/app/shared/models/vnfGroupTreeNode.ts b/vid-webpack-master/src/app/shared/models/vnfGroupTreeNode.ts index 0e71f47b8..aa66a1abc 100644 --- a/vid-webpack-master/src/app/shared/models/vnfGroupTreeNode.ts +++ b/vid-webpack-master/src/app/shared/models/vnfGroupTreeNode.ts @@ -1,8 +1,8 @@ -import {NetworkTreeNode} from "./networkTreeNode"; import {NetworkInstance} from "./networkInstance"; import {Level1Model} from "./nodeModel"; +import {FirstLevelTreeNode} from "./firstLevelTreeNode"; -export class VnfGroupTreeNode extends NetworkTreeNode{ +export class VnfGroupTreeNode extends FirstLevelTreeNode { vnfGroupStoreKey : string; limitMembers: number; constructor(instance: NetworkInstance, vnfGroupModel: Level1Model, vnfGroupStoreKey : string){ diff --git a/vid-webpack-master/src/app/shared/models/vnfInstance.ts b/vid-webpack-master/src/app/shared/models/vnfInstance.ts index 8959cc5c3..6082de67e 100644 --- a/vid-webpack-master/src/app/shared/models/vnfInstance.ts +++ b/vid-webpack-master/src/app/shared/models/vnfInstance.ts @@ -6,7 +6,6 @@ export class VnfInstance extends Level1Instance { vfModules: { [vf_module_model_name: string] : VfModuleMap; }; vnfStoreKey : string; - isFailed: boolean; position: number; statusMessage?: string; diff --git a/vid-webpack-master/src/app/shared/models/vnfTreeNode.ts b/vid-webpack-master/src/app/shared/models/vnfTreeNode.ts index b878d016e..f925eaf86 100644 --- a/vid-webpack-master/src/app/shared/models/vnfTreeNode.ts +++ b/vid-webpack-master/src/app/shared/models/vnfTreeNode.ts @@ -1,10 +1,10 @@ import {VfModuleTreeNode} from "./vfModuleTreeNode"; -import {NetworkTreeNode} from "./networkTreeNode"; import {Level1Model} from "./nodeModel"; import {VnfInstance} from "./vnfInstance"; import {ServiceNodeTypes} from "./ServiceNodeTypes"; +import {FirstLevelTreeNode} from "./firstLevelTreeNode"; -export class VnfTreeNode extends NetworkTreeNode{ +export class VnfTreeNode extends FirstLevelTreeNode { children: VfModuleTreeNode[]; vnfStoreKey : string; diff --git a/vid-webpack-master/src/app/shared/models/vpnTreeNode.ts b/vid-webpack-master/src/app/shared/models/vpnTreeNode.ts new file mode 100644 index 000000000..b8c7f2b80 --- /dev/null +++ b/vid-webpack-master/src/app/shared/models/vpnTreeNode.ts @@ -0,0 +1,29 @@ +import {TreeNodeModel} from "./treeNodeModel"; +import {Level1Model} from "./nodeModel"; +import {Level1Instance} from "./level1Instance"; + + +export class VpnTreeNode extends TreeNodeModel { + storeKey: string; + typeName: string; + menuActions: { [p: string]: { method: Function; visible: Function; enable: Function } }; + isFailed: boolean; + statusMessage?: string; + region: string; + routeTargetId: string; + routeTargetRole: string; + customerVPNId: string; + + constructor(instance: Level1Instance, vpnModel: Level1Model, storeKey: string) { + super(instance, vpnModel); + this.name = instance.instanceName ? instance.instanceName : !vpnModel.isEcompGeneratedNaming ? vpnModel.modelCustomizationName : '<Automatically Assigned>'; + this.modelName = vpnModel.modelCustomizationName; + this.type = vpnModel.type; + this.isEcompGeneratedNaming = vpnModel.isEcompGeneratedNaming; + this.storeKey = storeKey; + this.region = instance.region; + this.routeTargetId = instance.routeTargets && instance.routeTargets.length ? instance.routeTargets[0].globalRouteTarget : null; + this.routeTargetRole = instance.routeTargets && instance.routeTargets.length ? instance.routeTargets[0].routeTargetRole : null; + this.customerVPNId = instance.customerId; + } +} diff --git a/vid-webpack-master/src/app/shared/models/vrfInstance.ts b/vid-webpack-master/src/app/shared/models/vrfInstance.ts new file mode 100644 index 000000000..4edc1e358 --- /dev/null +++ b/vid-webpack-master/src/app/shared/models/vrfInstance.ts @@ -0,0 +1,15 @@ +import {Level1Instance} from "./level1Instance"; + +export class VrfInstance extends Level1Instance{ + vrfStoreKey : string; + statusMessage?: string; + vpns : any; + networks : any; + + constructor() { + super(); + this.vrfStoreKey = null; + this.vpns = {}; + this.networks = {}; + } +} diff --git a/vid-webpack-master/src/app/shared/models/vrfModel.ts b/vid-webpack-master/src/app/shared/models/vrfModel.ts new file mode 100644 index 000000000..c9bac9cd6 --- /dev/null +++ b/vid-webpack-master/src/app/shared/models/vrfModel.ts @@ -0,0 +1,25 @@ +import {Level1Model, Level1ModelProperties, Level1ModelResponseInterface} from "./nodeModel"; + +export interface VrfProperties extends Level1ModelProperties{ +} + +export interface VrfResponseInterface extends Level1ModelResponseInterface{ + properties: VrfProperties; +} + +export class VrfModel extends Level1Model{ + + + properties: VrfProperties; + + constructor(vrfJson?: VrfResponseInterface){ + super(vrfJson); + if(vrfJson && vrfJson.properties){ + this.properties = vrfJson.properties; + } + this.min = 1; + this.max = 1; + } + + +} diff --git a/vid-webpack-master/src/app/shared/models/vrfTreeNode.ts b/vid-webpack-master/src/app/shared/models/vrfTreeNode.ts new file mode 100644 index 000000000..7dbe92e8a --- /dev/null +++ b/vid-webpack-master/src/app/shared/models/vrfTreeNode.ts @@ -0,0 +1,22 @@ +import {TreeNodeModel} from "./treeNodeModel"; +import {NetworkInstance} from "./networkInstance"; +import {Level1Model} from "./nodeModel"; +import {VrfInstance} from "./vrfInstance"; + +export class VrfTreeNode extends TreeNodeModel { + vrfStoreKey : string; + typeName: string; + menuActions: { [p: string]: { method: Function; visible: Function; enable: Function } }; + isFailed: boolean; + statusMessage?: string; + + constructor(instance: VrfInstance, vrfModel: Level1Model, vrfStoreKey : string){ + super(instance, vrfModel); + this.name = instance.instanceName? instance.instanceName: '<Automatically Assigned>'; + this.modelName = vrfModel.modelCustomizationName; + this.type = vrfModel.type; + this.isEcompGeneratedNaming = vrfModel.isEcompGeneratedNaming; + this.vrfStoreKey = vrfStoreKey; + } +} + diff --git a/vid-webpack-master/src/app/shared/pipes/dataFilter/data-filter.pipe.ts b/vid-webpack-master/src/app/shared/pipes/dataFilter/data-filter.pipe.ts index 4b4f1a5bc..7418d8f28 100644 --- a/vid-webpack-master/src/app/shared/pipes/dataFilter/data-filter.pipe.ts +++ b/vid-webpack-master/src/app/shared/pipes/dataFilter/data-filter.pipe.ts @@ -9,22 +9,33 @@ import * as _ from 'lodash'; }) export class DataFilterPipe implements PipeTransform { - transform(items: any, searchStr: string, keys?: string[][]): any { + transform(items: any, searchStr: string, keys?: string[][], types ?: string[]): any { if (items != null && items.length > 0 && !_.isNil(searchStr)) { let ans = []; if (_.isNil(keys) || keys.length === 0) { keys = Object.keys(items[0]).map((key)=> new Array(key) ); } + for (const item of items) { + let index = 0; for(const key of keys) { - - let val: string = DataFilterPipe.getDeepObjectValueByKeys(item, key); - if (!_.isNil(val) && val.toLowerCase().includes(searchStr.toLowerCase())) { - ans.push(item); - break; + if(types && types[index] === 'LIST'){ + let listVal: string[] = DataFilterPipe.getDeepObjectValueByKeysInList(item, key); + if (!_.isNil(listVal) && listVal.filter((val) => val.toLowerCase().includes(searchStr.toLowerCase())).length > 0) { + ans.push(item); + break; + } + }else { + let val: string = DataFilterPipe.getDeepObjectValueByKeys(item, key); + if (!_.isNil(val) && val.toLowerCase().includes(searchStr.toLowerCase())) { + ans.push(item); + break; + } } + index++; } + } return ans; } @@ -42,6 +53,23 @@ export class DataFilterPipe implements PipeTransform { for(let i = 1; i < keys.length ; i++){ obj = obj[keys[i]]; } - return obj.toString(); + return _.isNil(obj) ? null : obj.toString(); + } + + + /********************************************************************** + get values from obj data by array of keys. + @keys: all table column and keys + @rowData : row data + ************************************************************************/ + static getDeepObjectValueByKeysInList(rowData: any , keys: string[]) : string[] { + let obj = rowData[keys[0]]; + if(_.isNil(obj)) { + return obj; + } + for(let i = 1; i < keys.length-1 ; i++){ + obj = obj[keys[i]]; + } + return _.isNil(obj) ? [] : _.map(obj, keys[keys.length -1 ]); } } diff --git a/vid-webpack-master/src/app/shared/pipes/serviceInfo/serviceInfo.pipe.spec.ts b/vid-webpack-master/src/app/shared/pipes/serviceInfo/serviceInfo.pipe.spec.ts index 670f2f224..3ae45274e 100644 --- a/vid-webpack-master/src/app/shared/pipes/serviceInfo/serviceInfo.pipe.spec.ts +++ b/vid-webpack-master/src/app/shared/pipes/serviceInfo/serviceInfo.pipe.spec.ts @@ -62,6 +62,6 @@ describe('Service info Pipe', () => { }); function generateserviceHierarchy(){ - return JSON.parse('{"6e59c5de-f052-46fa-aa7e-2fca9d674c44":{"service":{"uuid":"6e59c5de-f052-46fa-aa7e-2fca9d674c44","invariantUuid":"e49fbd11-e60c-4a8e-b4bf-30fbe8f4fcc0","name":"ComplexService","version":"1.0","toscaModelURL":null,"category":"Emanuel","serviceType":"","serviceRole":"","description":"ComplexService","serviceEcompNaming":"true","instantiationType":"Macro","inputs":{}},"vnfs":{"VF_vMee 0":{"uuid":"d6557200-ecf2-4641-8094-5393ae3aae60","invariantUuid":"4160458e-f648-4b30-a176-43881ffffe9e","description":"VSP_vMee","name":"VF_vMee","version":"2.0","customizationUuid":"91415b44-753d-494c-926a-456a9172bbb9","inputs":{},"commands":{},"properties":{"gpb2_Internal2_mac":"00:11:22:EF:AC:DF","sctp-b-ipv6-egress_src_start_port":"0","sctp-a-ipv6-egress_rule_application":"any","Internal2_allow_transit":"true","sctp-b-IPv6_ethertype":"IPv6","sctp-a-egress_rule_application":"any","sctp-b-ingress_action":"pass","sctp-b-ingress_rule_protocol":"icmp","ncb2_Internal1_mac":"00:11:22:EF:AC:DF","sctp-b-ipv6-ingress-src_start_port":"0.0","ncb1_Internal2_mac":"00:11:22:EF:AC:DF","fsb_volume_size_0":"320.0","sctp-b-egress_src_addresses":"local","sctp-a-ipv6-ingress_ethertype":"IPv4","sctp-a-ipv6-ingress-dst_start_port":"0","sctp-b-ipv6-ingress_rule_application":"any","domain_name":"default-domain","sctp-a-ingress_rule_protocol":"icmp","sctp-b-egress-src_start_port":"0.0","sctp-a-egress_src_addresses":"local","sctp-b-display_name":"epc-sctp-b-ipv4v6-sec-group","sctp-a-egress-src_start_port":"0.0","sctp-a-ingress_ethertype":"IPv4","sctp-b-ipv6-ingress-dst_end_port":"65535","sctp-b-dst_subnet_prefix_v6":"::","nf_naming":"{ecomp_generated_naming=true}","sctp-a-ipv6-ingress_src_subnet_prefix":"0.0.0.0","sctp-b-egress-dst_start_port":"0.0","ncb_flavor_name":"nv.c20r64d1","gpb1_Internal1_mac":"00:11:22:EF:AC:DF","sctp-b-egress_dst_subnet_prefix_len":"0.0","Internal2_net_cidr":"10.0.0.10","sctp-a-ingress-dst_start_port":"0.0","sctp-a-egress-dst_start_port":"0.0","fsb1_Internal2_mac":"00:11:22:EF:AC:DF","sctp-a-egress_ethertype":"IPv4","vlc_st_service_mode":"in-network-nat","sctp-a-ipv6-egress_ethertype":"IPv4","sctp-a-egress-src_end_port":"65535.0","sctp-b-ipv6-egress_rule_application":"any","sctp-b-egress_action":"pass","sctp-a-ingress-src_subnet_prefix_len":"0.0","sctp-b-ipv6-ingress-src_end_port":"65535.0","sctp-b-name":"epc-sctp-b-ipv4v6-sec-group","fsb2_Internal1_mac":"00:11:22:EF:AC:DF","sctp-a-ipv6-ingress-src_start_port":"0.0","sctp-b-ipv6-egress_ethertype":"IPv4","Internal1_net_cidr":"10.0.0.10","sctp-a-egress_dst_subnet_prefix":"0.0.0.0","fsb_flavor_name":"nv.c20r64d1","sctp_rule_protocol":"132","sctp-b-ipv6-ingress_src_subnet_prefix_len":"0","sctp-a-ipv6-ingress_rule_application":"any","ecomp_generated_naming":"true","sctp-a-IPv6_ethertype":"IPv6","vlc2_Internal1_mac":"00:11:22:EF:AC:DF","vlc_st_virtualization_type":"virtual-machine","sctp-b-ingress-dst_start_port":"0.0","sctp-b-ingress-dst_end_port":"65535.0","sctp-a-ipv6-ingress-src_end_port":"65535.0","sctp-a-display_name":"epc-sctp-a-ipv4v6-sec-group","sctp-b-ingress_rule_application":"any","int2_sec_group_name":"int2-sec-group","vlc_flavor_name":"nd.c16r64d1","sctp-b-ipv6-egress_src_addresses":"local","vlc_st_interface_type_int1":"other1","sctp-b-egress-src_end_port":"65535.0","sctp-a-ipv6-egress-dst_start_port":"0","vlc_st_interface_type_int2":"other2","sctp-a-ipv6-egress_rule_protocol":"any","Internal2_shared":"false","sctp-a-ipv6-egress_dst_subnet_prefix_len":"0","Internal2_rpf":"disable","vlc1_Internal1_mac":"00:11:22:EF:AC:DF","sctp-b-ipv6-egress_src_end_port":"65535","sctp-a-ipv6-egress_src_addresses":"local","sctp-a-ingress-dst_end_port":"65535.0","sctp-a-ipv6-egress_src_end_port":"65535","Internal1_forwarding_mode":"l2","Internal2_dhcp":"false","sctp-a-dst_subnet_prefix_v6":"::","pxe_image_name":"MME_PXE-Boot_16ACP04_GA.qcow2","vlc_st_interface_type_gtp":"other0","ncb1_Internal1_mac":"00:11:22:EF:AC:DF","sctp-b-src_subnet_prefix_v6":"::","sctp-a-egress_dst_subnet_prefix_len":"0.0","int1_sec_group_name":"int1-sec-group","Internal1_dhcp":"false","sctp-a-ipv6-egress_dst_end_port":"65535","Internal2_forwarding_mode":"l2","fsb2_Internal2_mac":"00:11:22:EF:AC:DF","sctp-b-egress_dst_subnet_prefix":"0.0.0.0","Internal1_net_cidr_len":"17","gpb2_Internal1_mac":"00:11:22:EF:AC:DF","sctp-b-ingress-src_subnet_prefix_len":"0.0","sctp-a-ingress_dst_addresses":"local","sctp-a-egress_action":"pass","fsb_volume_type_0":"SF-Default-SSD","ncb2_Internal2_mac":"00:11:22:EF:AC:DF","vlc_st_interface_type_sctp_a":"left","vlc_st_interface_type_sctp_b":"right","sctp-a-src_subnet_prefix_v6":"::","vlc_st_version":"2","sctp-b-egress_ethertype":"IPv4","sctp-a-ingress_rule_application":"any","gpb1_Internal2_mac":"00:11:22:EF:AC:DF","instance_ip_family_v6":"v6","sctp-a-ipv6-egress_src_start_port":"0","sctp-b-ingress-src_start_port":"0.0","sctp-b-ingress_dst_addresses":"local","fsb1_Internal1_mac":"00:11:22:EF:AC:DF","vlc_st_interface_type_oam":"management","multi_stage_design":"false","oam_sec_group_name":"oam-sec-group","Internal2_net_gateway":"10.0.0.10","sctp-a-ipv6-ingress-dst_end_port":"65535","sctp-b-ipv6-egress-dst_start_port":"0","Internal1_net_gateway":"10.0.0.10","sctp-b-ipv6-egress_rule_protocol":"any","gtp_sec_group_name":"gtp-sec-group","sctp-a-ipv6-egress_dst_subnet_prefix":"0.0.0.0","sctp-b-ipv6-egress_dst_subnet_prefix_len":"0","sctp-a-ipv6-ingress_dst_addresses":"local","sctp-a-egress_rule_protocol":"icmp","sctp-b-ipv6-egress_action":"pass","sctp-a-ipv6-egress_action":"pass","Internal1_shared":"false","sctp-b-ipv6-ingress_rule_protocol":"any","Internal2_net_cidr_len":"17","sctp-a-name":"epc-sctp-a-ipv4v6-sec-group","sctp-a-ingress-src_end_port":"65535.0","sctp-b-ipv6-ingress_src_subnet_prefix":"0.0.0.0","sctp-a-egress-dst_end_port":"65535.0","sctp-a-ingress_action":"pass","sctp-b-egress_rule_protocol":"icmp","sctp-b-ipv6-ingress_action":"pass","vlc_st_service_type":"firewall","sctp-b-ipv6-egress_dst_end_port":"65535","sctp-b-ipv6-ingress-dst_start_port":"0","vlc2_Internal2_mac":"00:11:22:EF:AC:DF","vlc_st_availability_zone":"true","fsb_volume_image_name_1":"MME_FSB2_16ACP04_GA.qcow2","sctp-b-ingress-src_subnet_prefix":"0.0.0.0","sctp-a-ipv6-ingress_src_subnet_prefix_len":"0","Internal1_allow_transit":"true","gpb_flavor_name":"nv.c20r64d1","availability_zone_max_count":"1","fsb_volume_image_name_0":"MME_FSB1_16ACP04_GA.qcow2","sctp-b-ipv6-ingress_dst_addresses":"local","sctp-b-ipv6-egress_dst_subnet_prefix":"0.0.0.0","sctp-b-ipv6-ingress_ethertype":"IPv4","vlc1_Internal2_mac":"00:11:22:EF:AC:DF","sctp-a-ingress-src_subnet_prefix":"0.0.0.0","sctp-a-ipv6-ingress_action":"pass","Internal1_rpf":"disable","sctp-b-ingress_ethertype":"IPv4","sctp-b-egress_rule_application":"any","sctp-b-ingress-src_end_port":"65535.0","sctp-a-ipv6-ingress_rule_protocol":"any","sctp-a-ingress-src_start_port":"0.0","sctp-b-egress-dst_end_port":"65535.0"},"type":"VF","modelCustomizationName":"VF_vMee 0","vfModules":{"vf_vmee0..VfVmee..vmme_vlc..module-1":{"uuid":"522159d5-d6e0-4c2a-aa44-5a542a12a830","invariantUuid":"98a7c88b-b577-476a-90e4-e25a5871e02b","customizationUuid":"55b1be94-671a-403e-a26c-667e9c47d091","description":null,"name":"VfVmee..vmme_vlc..module-1","version":"2","modelCustomizationName":"VfVmee..vmme_vlc..module-1","properties":{"minCountInstances":0,"maxCountInstances":null,"initialCount":0,"vfModuleLabel":"vmme_vlc"},"inputs":{},"volumeGroupAllowed":false},"vf_vmee0..VfVmee..vmme_gpb..module-2":{"uuid":"41708296-e443-4c71-953f-d9a010f059e1","invariantUuid":"1cca90b8-3490-495e-87da-3f3e4c57d5b9","customizationUuid":"6add59e0-7fe1-4bc4-af48-f8812422ae7c","description":null,"name":"VfVmee..vmme_gpb..module-2","version":"2","modelCustomizationName":"VfVmee..vmme_gpb..module-2","properties":{"minCountInstances":0,"maxCountInstances":null,"initialCount":0,"vfModuleLabel":"vmme_gpb"},"inputs":{},"volumeGroupAllowed":false},"vf_vmee0..VfVmee..base_vmme..module-0":{"uuid":"a27f5cfc-7f12-4f99-af08-0af9c3885c87","invariantUuid":"a6f9e51a-2b35-416a-ae15-15e58d61f36d","customizationUuid":"f8c040f1-7e51-4a11-aca8-acf256cfd861","description":null,"name":"VfVmee..base_vmme..module-0","version":"2","modelCustomizationName":"VfVmee..base_vmme..module-0","properties":{"minCountInstances":1,"maxCountInstances":1,"initialCount":1,"vfModuleLabel":"base_vmme"},"inputs":{},"volumeGroupAllowed":true}},"volumeGroups":{"vf_vmee0..VfVmee..base_vmme..module-0":{"uuid":"a27f5cfc-7f12-4f99-af08-0af9c3885c87","invariantUuid":"a6f9e51a-2b35-416a-ae15-15e58d61f36d","customizationUuid":"f8c040f1-7e51-4a11-aca8-acf256cfd861","description":null,"name":"VfVmee..base_vmme..module-0","version":"2","modelCustomizationName":"VfVmee..base_vmme..module-0","properties":{"minCountInstances":1,"maxCountInstances":1,"initialCount":1,"vfModuleLabel":"base_vmme"},"inputs":{}}},"vfcInstanceGroups":{}}},"networks":{"ExtVL 0":{"uuid":"ddc3f20c-08b5-40fd-af72-c6d14636b986","invariantUuid":"379f816b-a7aa-422f-be30-17114ff50b7c","description":"ECOMP generic virtual link (network) base type for all other service-level and global networks","name":"ExtVL","version":"37.0","customizationUuid":"94fdd893-4a36-4d70-b16a-ec29c54c184f","inputs":{},"commands":{},"properties":{"network_assignments":"{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}}","exVL_naming":"{ecomp_generated_naming=true}","network_flows":"{is_network_policy=false, is_bound_to_vpn=false}","network_homing":"{ecomp_selected_instance_node_target=false}"},"type":"VL","modelCustomizationName":"ExtVL 0"}},"collectionResource":{},"configurations":{"Port Mirroring Configuration By Policy 0":{"uuid":"b4398538-e89d-4f13-b33d-ca323434ba50","invariantUuid":"6ef0ca40-f366-4897-951f-abd65d25f6f7","description":"A port mirroring configuration by policy object","name":"Port Mirroring Configuration By Policy","version":"27.0","customizationUuid":"3c3b7b8d-8669-4b3b-8664-61970041fad2","inputs":{},"commands":{},"properties":{},"type":"Configuration","modelCustomizationName":"Port Mirroring Configuration By Policy 0","sourceNodes":[],"collectorNodes":null,"configurationByPolicy":false}},"serviceProxies":{},"vfModules":{"vf_vmee0..VfVmee..vmme_vlc..module-1":{"uuid":"522159d5-d6e0-4c2a-aa44-5a542a12a830","invariantUuid":"98a7c88b-b577-476a-90e4-e25a5871e02b","customizationUuid":"55b1be94-671a-403e-a26c-667e9c47d091","description":null,"name":"VfVmee..vmme_vlc..module-1","version":"2","modelCustomizationName":"VfVmee..vmme_vlc..module-1","properties":{"minCountInstances":0,"maxCountInstances":null,"initialCount":0,"vfModuleLabel":"vmme_vlc"},"inputs":{},"volumeGroupAllowed":false},"vf_vmee0..VfVmee..vmme_gpb..module-2":{"uuid":"41708296-e443-4c71-953f-d9a010f059e1","invariantUuid":"1cca90b8-3490-495e-87da-3f3e4c57d5b9","customizationUuid":"6add59e0-7fe1-4bc4-af48-f8812422ae7c","description":null,"name":"VfVmee..vmme_gpb..module-2","version":"2","modelCustomizationName":"VfVmee..vmme_gpb..module-2","properties":{"minCountInstances":0,"maxCountInstances":null,"initialCount":0,"vfModuleLabel":"vmme_gpb"},"inputs":{},"volumeGroupAllowed":false},"vf_vmee0..VfVmee..base_vmme..module-0":{"uuid":"a27f5cfc-7f12-4f99-af08-0af9c3885c87","invariantUuid":"a6f9e51a-2b35-416a-ae15-15e58d61f36d","customizationUuid":"f8c040f1-7e51-4a11-aca8-acf256cfd861","description":null,"name":"VfVmee..base_vmme..module-0","version":"2","modelCustomizationName":"VfVmee..base_vmme..module-0","properties":{"minCountInstances":1,"maxCountInstances":1,"initialCount":1,"vfModuleLabel":"base_vmme"},"inputs":{},"volumeGroupAllowed":true}},"volumeGroups":{"vf_vmee0..VfVmee..base_vmme..module-0":{"uuid":"a27f5cfc-7f12-4f99-af08-0af9c3885c87","invariantUuid":"a6f9e51a-2b35-416a-ae15-15e58d61f36d","customizationUuid":"f8c040f1-7e51-4a11-aca8-acf256cfd861","description":null,"name":"VfVmee..base_vmme..module-0","version":"2","modelCustomizationName":"VfVmee..base_vmme..module-0","properties":{"minCountInstances":1,"maxCountInstances":1,"initialCount":1,"vfModuleLabel":"base_vmme"},"inputs":{}}},"pnfs":{}}}'); + return JSON.parse('{"6e59c5de-f052-46fa-aa7e-2fca9d674c44":{"service":{"uuid":"6e59c5de-f052-46fa-aa7e-2fca9d674c44","invariantUuid":"e49fbd11-e60c-4a8e-b4bf-30fbe8f4fcc0","name":"ComplexService","version":"1.0","toscaModelURL":null,"category":"Emanuel","serviceType":"","serviceRole":"","description":"ComplexService","serviceEcompNaming":"true","instantiationType":"Macro","inputs":{}},"vnfs":{"VF_vGeraldine 0":{"uuid":"d6557200-ecf2-4641-8094-5393ae3aae60","invariantUuid":"4160458e-f648-4b30-a176-43881ffffe9e","description":"VSP_vGeraldine","name":"VF_vGeraldine","version":"2.0","customizationUuid":"91415b44-753d-494c-926a-456a9172bbb9","inputs":{},"commands":{},"properties":{"gpb2_Internal2_mac":"00:11:22:EF:AC:DF","sctp-b-ipv6-egress_src_start_port":"0","sctp-a-ipv6-egress_rule_application":"any","Internal2_allow_transit":"true","sctp-b-IPv6_ethertype":"IPv6","sctp-a-egress_rule_application":"any","sctp-b-ingress_action":"pass","sctp-b-ingress_rule_protocol":"icmp","ncb2_Internal1_mac":"00:11:22:EF:AC:DF","sctp-b-ipv6-ingress-src_start_port":"0.0","ncb1_Internal2_mac":"00:11:22:EF:AC:DF","fsb_volume_size_0":"320.0","sctp-b-egress_src_addresses":"local","sctp-a-ipv6-ingress_ethertype":"IPv4","sctp-a-ipv6-ingress-dst_start_port":"0","sctp-b-ipv6-ingress_rule_application":"any","domain_name":"default-domain","sctp-a-ingress_rule_protocol":"icmp","sctp-b-egress-src_start_port":"0.0","sctp-a-egress_src_addresses":"local","sctp-b-display_name":"epc-sctp-b-ipv4v6-sec-group","sctp-a-egress-src_start_port":"0.0","sctp-a-ingress_ethertype":"IPv4","sctp-b-ipv6-ingress-dst_end_port":"65535","sctp-b-dst_subnet_prefix_v6":"::","nf_naming":"{ecomp_generated_naming=true}","sctp-a-ipv6-ingress_src_subnet_prefix":"0.0.0.0","sctp-b-egress-dst_start_port":"0.0","ncb_flavor_name":"nv.c20r64d1","gpb1_Internal1_mac":"00:11:22:EF:AC:DF","sctp-b-egress_dst_subnet_prefix_len":"0.0","Internal2_net_cidr":"10.0.0.10","sctp-a-ingress-dst_start_port":"0.0","sctp-a-egress-dst_start_port":"0.0","fsb1_Internal2_mac":"00:11:22:EF:AC:DF","sctp-a-egress_ethertype":"IPv4","vlc_st_service_mode":"in-network-nat","sctp-a-ipv6-egress_ethertype":"IPv4","sctp-a-egress-src_end_port":"65535.0","sctp-b-ipv6-egress_rule_application":"any","sctp-b-egress_action":"pass","sctp-a-ingress-src_subnet_prefix_len":"0.0","sctp-b-ipv6-ingress-src_end_port":"65535.0","sctp-b-name":"epc-sctp-b-ipv4v6-sec-group","fsb2_Internal1_mac":"00:11:22:EF:AC:DF","sctp-a-ipv6-ingress-src_start_port":"0.0","sctp-b-ipv6-egress_ethertype":"IPv4","Internal1_net_cidr":"10.0.0.10","sctp-a-egress_dst_subnet_prefix":"0.0.0.0","fsb_flavor_name":"nv.c20r64d1","sctp_rule_protocol":"132","sctp-b-ipv6-ingress_src_subnet_prefix_len":"0","sctp-a-ipv6-ingress_rule_application":"any","ecomp_generated_naming":"true","sctp-a-IPv6_ethertype":"IPv6","vlc2_Internal1_mac":"00:11:22:EF:AC:DF","vlc_st_virtualization_type":"virtual-machine","sctp-b-ingress-dst_start_port":"0.0","sctp-b-ingress-dst_end_port":"65535.0","sctp-a-ipv6-ingress-src_end_port":"65535.0","sctp-a-display_name":"epc-sctp-a-ipv4v6-sec-group","sctp-b-ingress_rule_application":"any","int2_sec_group_name":"int2-sec-group","vlc_flavor_name":"nd.c16r64d1","sctp-b-ipv6-egress_src_addresses":"local","vlc_st_interface_type_int1":"other1","sctp-b-egress-src_end_port":"65535.0","sctp-a-ipv6-egress-dst_start_port":"0","vlc_st_interface_type_int2":"other2","sctp-a-ipv6-egress_rule_protocol":"any","Internal2_shared":"false","sctp-a-ipv6-egress_dst_subnet_prefix_len":"0","Internal2_rpf":"disable","vlc1_Internal1_mac":"00:11:22:EF:AC:DF","sctp-b-ipv6-egress_src_end_port":"65535","sctp-a-ipv6-egress_src_addresses":"local","sctp-a-ingress-dst_end_port":"65535.0","sctp-a-ipv6-egress_src_end_port":"65535","Internal1_forwarding_mode":"l2","Internal2_dhcp":"false","sctp-a-dst_subnet_prefix_v6":"::","pxe_image_name":"MME_PXE-Boot_16ACP04_GA.qcow2","vlc_st_interface_type_gtp":"other0","ncb1_Internal1_mac":"00:11:22:EF:AC:DF","sctp-b-src_subnet_prefix_v6":"::","sctp-a-egress_dst_subnet_prefix_len":"0.0","int1_sec_group_name":"int1-sec-group","Internal1_dhcp":"false","sctp-a-ipv6-egress_dst_end_port":"65535","Internal2_forwarding_mode":"l2","fsb2_Internal2_mac":"00:11:22:EF:AC:DF","sctp-b-egress_dst_subnet_prefix":"0.0.0.0","Internal1_net_cidr_len":"17","gpb2_Internal1_mac":"00:11:22:EF:AC:DF","sctp-b-ingress-src_subnet_prefix_len":"0.0","sctp-a-ingress_dst_addresses":"local","sctp-a-egress_action":"pass","fsb_volume_type_0":"SF-Default-SSD","ncb2_Internal2_mac":"00:11:22:EF:AC:DF","vlc_st_interface_type_sctp_a":"left","vlc_st_interface_type_sctp_b":"right","sctp-a-src_subnet_prefix_v6":"::","vlc_st_version":"2","sctp-b-egress_ethertype":"IPv4","sctp-a-ingress_rule_application":"any","gpb1_Internal2_mac":"00:11:22:EF:AC:DF","instance_ip_family_v6":"v6","sctp-a-ipv6-egress_src_start_port":"0","sctp-b-ingress-src_start_port":"0.0","sctp-b-ingress_dst_addresses":"local","fsb1_Internal1_mac":"00:11:22:EF:AC:DF","vlc_st_interface_type_oam":"management","multi_stage_design":"false","oam_sec_group_name":"oam-sec-group","Internal2_net_gateway":"10.0.0.10","sctp-a-ipv6-ingress-dst_end_port":"65535","sctp-b-ipv6-egress-dst_start_port":"0","Internal1_net_gateway":"10.0.0.10","sctp-b-ipv6-egress_rule_protocol":"any","gtp_sec_group_name":"gtp-sec-group","sctp-a-ipv6-egress_dst_subnet_prefix":"0.0.0.0","sctp-b-ipv6-egress_dst_subnet_prefix_len":"0","sctp-a-ipv6-ingress_dst_addresses":"local","sctp-a-egress_rule_protocol":"icmp","sctp-b-ipv6-egress_action":"pass","sctp-a-ipv6-egress_action":"pass","Internal1_shared":"false","sctp-b-ipv6-ingress_rule_protocol":"any","Internal2_net_cidr_len":"17","sctp-a-name":"epc-sctp-a-ipv4v6-sec-group","sctp-a-ingress-src_end_port":"65535.0","sctp-b-ipv6-ingress_src_subnet_prefix":"0.0.0.0","sctp-a-egress-dst_end_port":"65535.0","sctp-a-ingress_action":"pass","sctp-b-egress_rule_protocol":"icmp","sctp-b-ipv6-ingress_action":"pass","vlc_st_service_type":"firewall","sctp-b-ipv6-egress_dst_end_port":"65535","sctp-b-ipv6-ingress-dst_start_port":"0","vlc2_Internal2_mac":"00:11:22:EF:AC:DF","vlc_st_availability_zone":"true","fsb_volume_image_name_1":"MME_FSB2_16ACP04_GA.qcow2","sctp-b-ingress-src_subnet_prefix":"0.0.0.0","sctp-a-ipv6-ingress_src_subnet_prefix_len":"0","Internal1_allow_transit":"true","gpb_flavor_name":"nv.c20r64d1","availability_zone_max_count":"1","fsb_volume_image_name_0":"MME_FSB1_16ACP04_GA.qcow2","sctp-b-ipv6-ingress_dst_addresses":"local","sctp-b-ipv6-egress_dst_subnet_prefix":"0.0.0.0","sctp-b-ipv6-ingress_ethertype":"IPv4","vlc1_Internal2_mac":"00:11:22:EF:AC:DF","sctp-a-ingress-src_subnet_prefix":"0.0.0.0","sctp-a-ipv6-ingress_action":"pass","Internal1_rpf":"disable","sctp-b-ingress_ethertype":"IPv4","sctp-b-egress_rule_application":"any","sctp-b-ingress-src_end_port":"65535.0","sctp-a-ipv6-ingress_rule_protocol":"any","sctp-a-ingress-src_start_port":"0.0","sctp-b-egress-dst_end_port":"65535.0"},"type":"VF","modelCustomizationName":"VF_vGeraldine 0","vfModules":{"vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1":{"uuid":"522159d5-d6e0-4c2a-aa44-5a542a12a830","invariantUuid":"98a7c88b-b577-476a-90e4-e25a5871e02b","customizationUuid":"55b1be94-671a-403e-a26c-667e9c47d091","description":null,"name":"VfVgeraldine..vflorence_vlc..module-1","version":"2","modelCustomizationName":"VfVgeraldine..vflorence_vlc..module-1","properties":{"minCountInstances":0,"maxCountInstances":null,"initialCount":0,"vfModuleLabel":"vflorence_vlc"},"inputs":{},"volumeGroupAllowed":false},"vf_vgeraldine0..VfVgeraldine..vflorence_gpb..module-2":{"uuid":"41708296-e443-4c71-953f-d9a010f059e1","invariantUuid":"1cca90b8-3490-495e-87da-3f3e4c57d5b9","customizationUuid":"6add59e0-7fe1-4bc4-af48-f8812422ae7c","description":null,"name":"VfVgeraldine..vflorence_gpb..module-2","version":"2","modelCustomizationName":"VfVgeraldine..vflorence_gpb..module-2","properties":{"minCountInstances":0,"maxCountInstances":null,"initialCount":0,"vfModuleLabel":"vflorence_gpb"},"inputs":{},"volumeGroupAllowed":false},"vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0":{"uuid":"a27f5cfc-7f12-4f99-af08-0af9c3885c87","invariantUuid":"a6f9e51a-2b35-416a-ae15-15e58d61f36d","customizationUuid":"f8c040f1-7e51-4a11-aca8-acf256cfd861","description":null,"name":"VfVgeraldine..base_vflorence..module-0","version":"2","modelCustomizationName":"VfVgeraldine..base_vflorence..module-0","properties":{"minCountInstances":1,"maxCountInstances":1,"initialCount":1,"vfModuleLabel":"base_vflorence"},"inputs":{},"volumeGroupAllowed":true}},"volumeGroups":{"vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0":{"uuid":"a27f5cfc-7f12-4f99-af08-0af9c3885c87","invariantUuid":"a6f9e51a-2b35-416a-ae15-15e58d61f36d","customizationUuid":"f8c040f1-7e51-4a11-aca8-acf256cfd861","description":null,"name":"VfVgeraldine..base_vflorence..module-0","version":"2","modelCustomizationName":"VfVgeraldine..base_vflorence..module-0","properties":{"minCountInstances":1,"maxCountInstances":1,"initialCount":1,"vfModuleLabel":"base_vflorence"},"inputs":{}}},"vfcInstanceGroups":{}}},"networks":{"ExtVL 0":{"uuid":"ddc3f20c-08b5-40fd-af72-c6d14636b986","invariantUuid":"379f816b-a7aa-422f-be30-17114ff50b7c","description":"ECOMP generic virtual link (network) base type for all other service-level and global networks","name":"ExtVL","version":"37.0","customizationUuid":"94fdd893-4a36-4d70-b16a-ec29c54c184f","inputs":{},"commands":{},"properties":{"network_assignments":"{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}}","exVL_naming":"{ecomp_generated_naming=true}","network_flows":"{is_network_policy=false, is_bound_to_vpn=false}","network_homing":"{ecomp_selected_instance_node_target=false}"},"type":"VL","modelCustomizationName":"ExtVL 0"}},"collectionResources":{},"configurations":{"Port Mirroring Configuration By Policy 0":{"uuid":"b4398538-e89d-4f13-b33d-ca323434ba50","invariantUuid":"6ef0ca40-f366-4897-951f-abd65d25f6f7","description":"A port mirroring configuration by policy object","name":"Port Mirroring Configuration By Policy","version":"27.0","customizationUuid":"3c3b7b8d-8669-4b3b-8664-61970041fad2","inputs":{},"commands":{},"properties":{},"type":"Configuration","modelCustomizationName":"Port Mirroring Configuration By Policy 0","sourceNodes":[],"collectorNodes":null,"configurationByPolicy":false}},"serviceProxies":{},"vfModules":{"vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1":{"uuid":"522159d5-d6e0-4c2a-aa44-5a542a12a830","invariantUuid":"98a7c88b-b577-476a-90e4-e25a5871e02b","customizationUuid":"55b1be94-671a-403e-a26c-667e9c47d091","description":null,"name":"VfVgeraldine..vflorence_vlc..module-1","version":"2","modelCustomizationName":"VfVgeraldine..vflorence_vlc..module-1","properties":{"minCountInstances":0,"maxCountInstances":null,"initialCount":0,"vfModuleLabel":"vflorence_vlc"},"inputs":{},"volumeGroupAllowed":false},"vf_vgeraldine0..VfVgeraldine..vflorence_gpb..module-2":{"uuid":"41708296-e443-4c71-953f-d9a010f059e1","invariantUuid":"1cca90b8-3490-495e-87da-3f3e4c57d5b9","customizationUuid":"6add59e0-7fe1-4bc4-af48-f8812422ae7c","description":null,"name":"VfVgeraldine..vflorence_gpb..module-2","version":"2","modelCustomizationName":"VfVgeraldine..vflorence_gpb..module-2","properties":{"minCountInstances":0,"maxCountInstances":null,"initialCount":0,"vfModuleLabel":"vflorence_gpb"},"inputs":{},"volumeGroupAllowed":false},"vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0":{"uuid":"a27f5cfc-7f12-4f99-af08-0af9c3885c87","invariantUuid":"a6f9e51a-2b35-416a-ae15-15e58d61f36d","customizationUuid":"f8c040f1-7e51-4a11-aca8-acf256cfd861","description":null,"name":"VfVgeraldine..base_vflorence..module-0","version":"2","modelCustomizationName":"VfVgeraldine..base_vflorence..module-0","properties":{"minCountInstances":1,"maxCountInstances":1,"initialCount":1,"vfModuleLabel":"base_vflorence"},"inputs":{},"volumeGroupAllowed":true}},"volumeGroups":{"vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0":{"uuid":"a27f5cfc-7f12-4f99-af08-0af9c3885c87","invariantUuid":"a6f9e51a-2b35-416a-ae15-15e58d61f36d","customizationUuid":"f8c040f1-7e51-4a11-aca8-acf256cfd861","description":null,"name":"VfVgeraldine..base_vflorence..module-0","version":"2","modelCustomizationName":"VfVgeraldine..base_vflorence..module-0","properties":{"minCountInstances":1,"maxCountInstances":1,"initialCount":1,"vfModuleLabel":"base_vflorence"},"inputs":{}}},"pnfs":{}}}'); } }); diff --git a/vid-webpack-master/src/app/shared/resolvers/retry/retry.resolver.spec.ts b/vid-webpack-master/src/app/shared/resolvers/retry/retry.resolver.spec.ts index 2578d7b2d..96e2b40ea 100644 --- a/vid-webpack-master/src/app/shared/resolvers/retry/retry.resolver.spec.ts +++ b/vid-webpack-master/src/app/shared/resolvers/retry/retry.resolver.spec.ts @@ -81,38 +81,38 @@ describe('View Edit resolver', () => { jest.spyOn(aaiService, 'getServiceModelById').mockReturnValue(of({})); jest.spyOn(aaiService, 'retrieveAndStoreServiceInstanceTopology').mockReturnValue(of({ "vnfs": { - "2017-388_ADIOD-vPE 0": { + "2017-388_PASQUALE-vPE 0": { "vfModules": {}, "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168", "productFamilyId": "e433710f-9217-458d-a79d-1c7aff376d89", - "lcpCloudRegionId": "JANET25", + "lcpCloudRegionId": "AAIAIC25", "tenantId": "092eb9e8e4b7412e8787dd091bc58e86", "lineOfBusiness": "ONAP", "platformName": "platform", "modelInfo": { "modelInvariantId": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", "modelVersionId": "afacccf6-397d-45d6-b5ae-94c39734b168", - "modelName": "2017-388_ADIOD-vPE", + "modelName": "2017-388_PASQUALE-vPE", "modelVersion": "4.0", "modelCustomizationId": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c", - "modelCustomizationName": "2017-388_ADIOD-vPE 0", + "modelCustomizationName": "2017-388_PASQUALE-vPE 0", "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168" }, - "instanceName": "2017388_ADIODvPEmCaNkinstanceName", + "instanceName": "2017388_PASQUALEvPEmCaNkinstanceName", "legacyRegion": "some legacy region" }, - "2017-488_ADIOD-vPE 0": { + "2017-488_PASQUALE-vPE 0": { "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0uvfot": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0uvfot": { "instanceName": "VFinstancenameZERO", "modelInfo": { "modelInvariantId": "b34833bb-6aa9-4ad6-a831-70b06367a091", "modelVersionId": "f8360508-3f17-4414-a2ed-6bc71161e8db", - "modelName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "modelVersion": "5", "modelCustomizationId": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db" }, "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db", @@ -121,8 +121,8 @@ describe('View Edit resolver', () => { "inMaint": true } }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1fshmc": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1fshmc": { "instanceName": "VFinstancename", "volumeGroupName": "VFinstancename_vol_abc", "orchStatus": "Create", @@ -131,10 +131,10 @@ describe('View Edit resolver', () => { "modelInfo": { "modelInvariantId": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "modelVersionId": "25284168-24bb-4698-8cb4-3f509146eca5", - "modelName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "modelVersion": "6", "modelCustomizationId": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "uuid": "25284168-24bb-4698-8cb4-3f509146eca5" }, "uuid": "25284168-24bb-4698-8cb4-3f509146eca5" @@ -143,54 +143,54 @@ describe('View Edit resolver', () => { }, "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09", "productFamilyId": "e433710f-9217-458d-a79d-1c7aff376d89", - "lcpCloudRegionId": "JANET25", + "lcpCloudRegionId": "AAIAIC25", "tenantId": "092eb9e8e4b7412e8787dd091bc58e86", "lineOfBusiness": "ONAP", "platformName": "platform", "modelInfo": { "modelInvariantId": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", "modelVersionId": "69e09f68-8b63-4cc9-b9ff-860960b5db09", - "modelName": "2017-488_ADIOD-vPE", + "modelName": "2017-488_PASQUALE-vPE", "modelVersion": "5.0", "modelCustomizationId": "1da7b585-5e61-4993-b95e-8e6606c81e45", - "modelCustomizationName": "2017-488_ADIOD-vPE 0", + "modelCustomizationName": "2017-488_PASQUALE-vPE 0", "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09" }, "orchStatus": "Created", "inMaint": false, - "instanceName": "2017488_ADIODvPEVNFinstancename", + "instanceName": "2017488_PASQUALEvPEVNFinstancename", "legacyRegion": "some legacy region" }, - "2017-488_ADIOD-vPE 0:0001": { + "2017-488_PASQUALE-vPE 0:0001": { "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0uvfot": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0uvfot": { "instanceName": "VFinstancenameZERO_001", "provStatus": "Prov Status", "inMaint": true, "modelInfo": { "modelInvariantId": "b34833bb-6aa9-4ad6-a831-70b06367a091", "modelVersionId": "f8360508-3f17-4414-a2ed-6bc71161e8db", - "modelName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "modelVersion": "5", "modelCustomizationId": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db" }, "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db" } }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1fshmc": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1fshmc": { "instanceName": "VFinstancename_001", "volumeGroupName": "VFinstancename_vol_abc_001", "modelInfo": { "modelInvariantId": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "modelVersionId": "25284168-24bb-4698-8cb4-3f509146eca5", - "modelName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "modelVersion": "6", "modelCustomizationId": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "uuid": "25284168-24bb-4698-8cb4-3f509146eca5" }, "uuid": "25284168-24bb-4698-8cb4-3f509146eca5" @@ -200,50 +200,50 @@ describe('View Edit resolver', () => { "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09", "productFamilyId": "e433710f-9217-458d-a79d-1c7aff376d89", - "lcpCloudRegionId": "JANET25", + "lcpCloudRegionId": "AAIAIC25", "tenantId": "092eb9e8e4b7412e8787dd091bc58e86", "lineOfBusiness": "ONAP", "platformName": "platform", "modelInfo": { "modelInvariantId": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", "modelVersionId": "69e09f68-8b63-4cc9-b9ff-860960b5db09", - "modelName": "2017-488_ADIOD-vPE", + "modelName": "2017-488_PASQUALE-vPE", "modelVersion": "5.0", "modelCustomizationId": "1da7b585-5e61-4993-b95e-8e6606c81e45", - "modelCustomizationName": "2017-488_ADIOD-vPE 0", + "modelCustomizationName": "2017-488_PASQUALE-vPE 0", "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09" }, - "instanceName": "2017488_ADIODvPEVNFinstancename_001", + "instanceName": "2017488_PASQUALEvPEVNFinstancename_001", "legacyRegion": "some legacy region" }, - "2017-488_ADIOD-vPE 0:0002": { + "2017-488_PASQUALE-vPE 0:0002": { "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0uvfot": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0uvfot": { "instanceName": "VFinstancenameZERO_002", "modelInfo": { "modelInvariantId": "b34833bb-6aa9-4ad6-a831-70b06367a091", "modelVersionId": "f8360508-3f17-4414-a2ed-6bc71161e8db", - "modelName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "modelVersion": "5", "modelCustomizationId": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db" }, "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db" } }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1fshmc": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1fshmc": { "instanceName": "VFinstancename_002", "volumeGroupName": "VFinstancename_vol_abc_002", "modelInfo": { "modelInvariantId": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "modelVersionId": "25284168-24bb-4698-8cb4-3f509146eca5", - "modelName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "modelVersion": "6", "modelCustomizationId": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "uuid": "25284168-24bb-4698-8cb4-3f509146eca5" }, "uuid": "25284168-24bb-4698-8cb4-3f509146eca5" @@ -252,20 +252,20 @@ describe('View Edit resolver', () => { }, "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09", "productFamilyId": "e433710f-9217-458d-a79d-1c7aff376d89", - "lcpCloudRegionId": "JANET25", + "lcpCloudRegionId": "AAIAIC25", "tenantId": "092eb9e8e4b7412e8787dd091bc58e86", "lineOfBusiness": "ONAP", "platformName": "platform", "modelInfo": { "modelInvariantId": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", "modelVersionId": "69e09f68-8b63-4cc9-b9ff-860960b5db09", - "modelName": "2017-488_ADIOD-vPE", + "modelName": "2017-488_PASQUALE-vPE", "modelVersion": "5.0", "modelCustomizationId": "1da7b585-5e61-4993-b95e-8e6606c81e45", - "modelCustomizationName": "2017-488_ADIOD-vPE 0", + "modelCustomizationName": "2017-488_PASQUALE-vPE 0", "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09" }, - "instanceName": "2017488_ADIODvPEVNFinstancename_002", + "instanceName": "2017488_PASQUALEvPEVNFinstancename_002", "legacyRegion": "some legacy region" } }, diff --git a/vid-webpack-master/src/app/shared/resolvers/viewEdit/viewEdit.resolver.ts b/vid-webpack-master/src/app/shared/resolvers/viewEdit/viewEdit.resolver.ts index d4aef1937..404f390fb 100644 --- a/vid-webpack-master/src/app/shared/resolvers/viewEdit/viewEdit.resolver.ts +++ b/vid-webpack-master/src/app/shared/resolvers/viewEdit/viewEdit.resolver.ts @@ -21,7 +21,7 @@ export class ViewEditResolver implements Resolve<Observable<boolean>> { let serviceModelApi = this._aaiService.getServiceModelById(serviceModeId); let serviceInstanceApi = this._aaiService.retrieveAndStoreServiceInstanceTopology(serviceInstanceId, subscriberId, serviceType, serviceModeId); return forkJoin([serviceModelApi, serviceInstanceApi]).map(([serviceModel, serviceInstance ]) => { - this.setIsALaCarte(serviceInstance,serviceModel.service.instantiationType ); + this.setIsALaCarte(serviceInstance,serviceModel.service.vidNotions.instantiationType ); this.setTestApi(serviceInstance); this._store.dispatch(createServiceInstance( serviceInstance, serviceModeId)); return true; @@ -34,7 +34,7 @@ export class ViewEditResolver implements Resolve<Observable<boolean>> { } }; setIsALaCarte = (service: any, instantiationType) => { - service.isALaCarte = instantiationType === 'A-La-Carte'; + service.isALaCarte = instantiationType === 'ALaCarte'; }; } diff --git a/vid-webpack-master/src/app/shared/services/aaiService/aai.service.spec.ts b/vid-webpack-master/src/app/shared/services/aaiService/aai.service.spec.ts index 9f19f6259..5cff00b7e 100644 --- a/vid-webpack-master/src/app/shared/services/aaiService/aai.service.spec.ts +++ b/vid-webpack-master/src/app/shared/services/aaiService/aai.service.spec.ts @@ -65,10 +65,10 @@ describe("AaiService", () => { aaiService.retrieveServiceInstanceTopology(serviceInstanceId, subscriberId, serviceType).subscribe((result: ServiceInstance) => { expect(result.instanceName).toEqual("mCaNkinstancename"); expect(result.modelInavariantId).toEqual("6b528779-44a3-4472-bdff-9cd15ec93450"); - expect(result.vnfs["2017-388_ADIOD-vPE 0"].instanceName).toEqual("2017388_ADIODvPEmCaNkinstanceName"); - expect(result.vnfs["2017-488_ADIOD-vPE 0"]. - vfModules["2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0"] - ["2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0uvfot"].instanceName + expect(result.vnfs["2017-388_PASQUALE-vPE 0"].instanceName).toEqual("2017388_PASQUALEvPEmCaNkinstanceName"); + expect(result.vnfs["2017-488_PASQUALE-vPE 0"]. + vfModules["2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0"] + ["2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0uvfot"].instanceName ).toEqual("VFinstancenameZERO"); }); @@ -88,10 +88,10 @@ describe("AaiService", () => { aaiService.retrieveServiceInstanceRetryTopology(jobId).subscribe((result: ServiceInstance) => { expect(result.instanceName).toEqual("mCaNkinstancename"); expect(result.modelInavariantId).toEqual("6b528779-44a3-4472-bdff-9cd15ec93450"); - expect(result.vnfs["2017-388_ADIOD-vPE 0"].instanceName).toEqual("2017388_ADIODvPEmCaNkinstanceName"); - expect(result.vnfs["2017-488_ADIOD-vPE 0"]. - vfModules["2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0"] - ["2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0uvfot"].instanceName + expect(result.vnfs["2017-388_PASQUALE-vPE 0"].instanceName).toEqual("2017388_PASQUALEvPEmCaNkinstanceName"); + expect(result.vnfs["2017-488_PASQUALE-vPE 0"]. + vfModules["2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0"] + ["2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0uvfot"].instanceName ).toEqual("VFinstancenameZERO"); }); @@ -104,9 +104,9 @@ describe("AaiService", () => { describe('# get optional group members tests', () =>{ test('aai service get getOptionalGroupMembers and return list of VnfMember', () => { jest.spyOn(store, 'dispatch'); - jest.spyOn(store, 'getState').mockReturnValue({ + jest.spyOn(store, 'getState').mockReturnValue( <any>{ service :{ - serviceInstance : { + serviceInstance :{ "serviceModelId" : { optionalGroupMembersMap : {} } @@ -132,6 +132,24 @@ describe("AaiService", () => { req.flush(mockedResult); }); }); + + + describe('# get active networks', () =>{ + test('aai service get active networks', () => { + const mockedResult = getMockActiveNetworks(); + const cloudRegion: string = "cloudRegion"; + const tenantId: string = "tenantId"; + aaiService.retrieveActiveNetwork(cloudRegion, tenantId).subscribe((res)=>{ + expect(res.length).toEqual(mockedResult.length); + }); + + const req = httpMock.expectOne(`${Constants.Path.AAI_GET_ACTIVE_NETWORKS_PATH}?cloudRegion=${cloudRegion}&tenantId=${tenantId}`); + expect(req.request.method).toEqual('GET'); + req.flush(mockedResult); + }); + }); + + describe('#cloud owner tests', () => { let featureFlagToLcpRegionName = [ ['aai service extract lcpRegion, flag is true=> lcp region include cloud owner', true, 'id (OWNER)' ], @@ -158,38 +176,38 @@ describe("AaiService", () => { function getTopology() { return { "vnfs": { - "2017-388_ADIOD-vPE 0": { + "2017-388_PASQUALE-vPE 0": { "vfModules": {}, "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168", "productFamilyId": "e433710f-9217-458d-a79d-1c7aff376d89", - "lcpCloudRegionId": "JANET25", + "lcpCloudRegionId": "AAIAIC25", "tenantId": "092eb9e8e4b7412e8787dd091bc58e86", "lineOfBusiness": "ONAP", "platformName": "platform", "modelInfo": { "modelInvariantId": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", "modelVersionId": "afacccf6-397d-45d6-b5ae-94c39734b168", - "modelName": "2017-388_ADIOD-vPE", + "modelName": "2017-388_PASQUALE-vPE", "modelVersion": "4.0", "modelCustomizationId": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c", - "modelCustomizationName": "2017-388_ADIOD-vPE 0", + "modelCustomizationName": "2017-388_PASQUALE-vPE 0", "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168" }, - "instanceName": "2017388_ADIODvPEmCaNkinstanceName", + "instanceName": "2017388_PASQUALEvPEmCaNkinstanceName", "legacyRegion": "some legacy region" }, - "2017-488_ADIOD-vPE 0": { + "2017-488_PASQUALE-vPE 0": { "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0uvfot": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0uvfot": { "instanceName": "VFinstancenameZERO", "modelInfo": { "modelInvariantId": "b34833bb-6aa9-4ad6-a831-70b06367a091", "modelVersionId": "f8360508-3f17-4414-a2ed-6bc71161e8db", - "modelName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "modelVersion": "5", "modelCustomizationId": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db" }, "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db", @@ -198,8 +216,8 @@ describe("AaiService", () => { "inMaint": true } }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1fshmc": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1fshmc": { "instanceName": "VFinstancename", "volumeGroupName": "VFinstancename_vol_abc", "orchStatus": "Create", @@ -208,10 +226,10 @@ describe("AaiService", () => { "modelInfo": { "modelInvariantId": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "modelVersionId": "25284168-24bb-4698-8cb4-3f509146eca5", - "modelName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "modelVersion": "6", "modelCustomizationId": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "uuid": "25284168-24bb-4698-8cb4-3f509146eca5" }, "uuid": "25284168-24bb-4698-8cb4-3f509146eca5" @@ -220,54 +238,54 @@ describe("AaiService", () => { }, "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09", "productFamilyId": "e433710f-9217-458d-a79d-1c7aff376d89", - "lcpCloudRegionId": "JANET25", + "lcpCloudRegionId": "AAIAIC25", "tenantId": "092eb9e8e4b7412e8787dd091bc58e86", "lineOfBusiness": "ONAP", "platformName": "platform", "modelInfo": { "modelInvariantId": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", "modelVersionId": "69e09f68-8b63-4cc9-b9ff-860960b5db09", - "modelName": "2017-488_ADIOD-vPE", + "modelName": "2017-488_PASQUALE-vPE", "modelVersion": "5.0", "modelCustomizationId": "1da7b585-5e61-4993-b95e-8e6606c81e45", - "modelCustomizationName": "2017-488_ADIOD-vPE 0", + "modelCustomizationName": "2017-488_PASQUALE-vPE 0", "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09" }, "orchStatus": "Created", "inMaint": false, - "instanceName": "2017488_ADIODvPEVNFinstancename", + "instanceName": "2017488_PASQUALEvPEVNFinstancename", "legacyRegion": "some legacy region" }, - "2017-488_ADIOD-vPE 0:0001": { + "2017-488_PASQUALE-vPE 0:0001": { "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0uvfot": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0uvfot": { "instanceName": "VFinstancenameZERO_001", "provStatus": "Prov Status", "inMaint": true, "modelInfo": { "modelInvariantId": "b34833bb-6aa9-4ad6-a831-70b06367a091", "modelVersionId": "f8360508-3f17-4414-a2ed-6bc71161e8db", - "modelName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "modelVersion": "5", "modelCustomizationId": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db" }, "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db" } }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1fshmc": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1fshmc": { "instanceName": "VFinstancename_001", "volumeGroupName": "VFinstancename_vol_abc_001", "modelInfo": { "modelInvariantId": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "modelVersionId": "25284168-24bb-4698-8cb4-3f509146eca5", - "modelName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "modelVersion": "6", "modelCustomizationId": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "uuid": "25284168-24bb-4698-8cb4-3f509146eca5" }, "uuid": "25284168-24bb-4698-8cb4-3f509146eca5" @@ -277,50 +295,50 @@ describe("AaiService", () => { "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09", "productFamilyId": "e433710f-9217-458d-a79d-1c7aff376d89", - "lcpCloudRegionId": "JANET25", + "lcpCloudRegionId": "AAIAIC25", "tenantId": "092eb9e8e4b7412e8787dd091bc58e86", "lineOfBusiness": "ONAP", "platformName": "platform", "modelInfo": { "modelInvariantId": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", "modelVersionId": "69e09f68-8b63-4cc9-b9ff-860960b5db09", - "modelName": "2017-488_ADIOD-vPE", + "modelName": "2017-488_PASQUALE-vPE", "modelVersion": "5.0", "modelCustomizationId": "1da7b585-5e61-4993-b95e-8e6606c81e45", - "modelCustomizationName": "2017-488_ADIOD-vPE 0", + "modelCustomizationName": "2017-488_PASQUALE-vPE 0", "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09" }, - "instanceName": "2017488_ADIODvPEVNFinstancename_001", + "instanceName": "2017488_PASQUALEvPEVNFinstancename_001", "legacyRegion": "some legacy region" }, - "2017-488_ADIOD-vPE 0:0002": { + "2017-488_PASQUALE-vPE 0:0002": { "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0uvfot": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0uvfot": { "instanceName": "VFinstancenameZERO_002", "modelInfo": { "modelInvariantId": "b34833bb-6aa9-4ad6-a831-70b06367a091", "modelVersionId": "f8360508-3f17-4414-a2ed-6bc71161e8db", - "modelName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "modelVersion": "5", "modelCustomizationId": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db" }, "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db" } }, - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1fshmc": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1fshmc": { "instanceName": "VFinstancename_002", "volumeGroupName": "VFinstancename_vol_abc_002", "modelInfo": { "modelInvariantId": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "modelVersionId": "25284168-24bb-4698-8cb4-3f509146eca5", - "modelName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "modelVersion": "6", "modelCustomizationId": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_vRE_BV..module-1", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "uuid": "25284168-24bb-4698-8cb4-3f509146eca5" }, "uuid": "25284168-24bb-4698-8cb4-3f509146eca5" @@ -329,20 +347,20 @@ describe("AaiService", () => { }, "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09", "productFamilyId": "e433710f-9217-458d-a79d-1c7aff376d89", - "lcpCloudRegionId": "JANET25", + "lcpCloudRegionId": "AAIAIC25", "tenantId": "092eb9e8e4b7412e8787dd091bc58e86", "lineOfBusiness": "ONAP", "platformName": "platform", "modelInfo": { "modelInvariantId": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", "modelVersionId": "69e09f68-8b63-4cc9-b9ff-860960b5db09", - "modelName": "2017-488_ADIOD-vPE", + "modelName": "2017-488_PASQUALE-vPE", "modelVersion": "5.0", "modelCustomizationId": "1da7b585-5e61-4993-b95e-8e6606c81e45", - "modelCustomizationName": "2017-488_ADIOD-vPE 0", + "modelCustomizationName": "2017-488_PASQUALE-vPE 0", "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09" }, - "instanceName": "2017488_ADIODvPEVNFinstancename_002", + "instanceName": "2017488_PASQUALEvPEVNFinstancename_002", "legacyRegion": "some legacy region" } }, @@ -380,6 +398,110 @@ describe("AaiService", () => { } } + function getMockActiveNetworks(){ + return [ + { + networkInstanceName: "networkInstanceName", + instanceVersion: "instanceVersion", + networkModel: "networkModel", + instanceUUID: "instanceUUID_1", + provStatus: "provStatus", + orchStatus: "orchStatus", + serviceInstanceName: "serviceInstanceName", + serviceUUID: "serviceUUID", + roles: ["network role 1", "network role 2"], + }, + { + networkInstanceName: "networkInstanceName", + instanceVersion: "instanceVersion", + networkModel: "networkModel", + instanceUUID: "instanceUUID_2", + provStatus: "provStatus", + orchStatus: "orchStatus", + serviceInstanceName: "serviceInstanceName", + serviceUUID: "serviceUUID", + roles: ["network role 1", "network role 3"], + }, + { + networkInstanceName: "networkInstanceName", + instanceVersion: "instanceVersion", + networkModel: "networkModel", + instanceUUID: "instanceUUID_3", + provStatus: "provStatus", + orchStatus: "orchStatus", + serviceInstanceName: "serviceInstanceName", + serviceUUID: "serviceUUID", + roles: ["network role 4", "network role 8"], + }, + { + networkInstanceName: "networkInstanceName", + instanceVersion: "instanceVersion", + networkModel: "networkModel", + instanceUUID: "instanceUUID_4", + provStatus: "provStatus", + orchStatus: "orchStatus", + serviceInstanceName: "serviceInstanceName", + serviceUUID: "serviceUUID", + roles: [], + }, + { + networkInstanceName: "networkInstanceName", + instanceVersion: "instanceVersion", + networkModel: "networkModel", + instanceUUID: "instanceUUID_5", + provStatus: "provStatus", + orchStatus: "orchStatus", + serviceInstanceName: "serviceInstanceName", + serviceUUID: "serviceUUID", + roles: ["network role 6", "network role 1"], + }, + { + networkInstanceName: "networkInstanceName", + instanceVersion: "instanceVersion", + networkModel: "networkModel", + instanceUUID: "instanceUUID_6", + provStatus: "provStatus", + orchStatus: "orchStatus", + serviceInstanceName: "serviceInstanceName", + serviceUUID: "serviceUUID", + roles: ["network role 5"], + }, + { + networkInstanceName: "networkInstanceName", + instanceVersion: "instanceVersion", + networkModel: "networkModel", + instanceUUID: "instanceUUID_7", + provStatus: "provStatus", + orchStatus: "orchStatus", + serviceInstanceName: "serviceInstanceName", + serviceUUID: "serviceUUID", + roles: ["network role 3"], + }, + { + networkInstanceName: "networkInstanceName", + instanceVersion: "instanceVersion", + networkModel: "networkModel", + instanceUUID: "instanceUUID_8", + provStatus: "provStatus", + orchStatus: "orchStatus", + serviceInstanceName: "serviceInstanceName", + serviceUUID: "serviceUUID", + roles: ["network role 4"], + }, + { + networkInstanceName: "networkInstanceName", + instanceVersion: "instanceVersion", + networkModel: "networkModel", + instanceUUID: "instanceUUID_9", + provStatus: "provStatus", + orchStatus: "orchStatus", + serviceInstanceName: "serviceInstanceName", + serviceUUID: "serviceUUID", + roles: [], + } + ] + } + const getMockMembers = (): any[] => { return [ { diff --git a/vid-webpack-master/src/app/shared/services/aaiService/aai.service.ts b/vid-webpack-master/src/app/shared/services/aaiService/aai.service.ts index 1b102e623..4e7e4dad8 100644 --- a/vid-webpack-master/src/app/shared/services/aaiService/aai.service.ts +++ b/vid-webpack-master/src/app/shared/services/aaiService/aai.service.ts @@ -41,7 +41,8 @@ import {updateModel, createServiceInstance} from "../../storeUtil/utils/service/ import {FeatureFlagsService, Features} from "../featureFlag/feature-flags.service"; import {VnfMember} from "../../models/VnfMember"; import {setOptionalMembersVnfGroupInstance} from "../../storeUtil/utils/vnfGroup/vnfGroup.actions"; -import {Observable} from "rxjs"; +import {Observable} from "rxjs";import {NetworkModalRow} from "../../../drawingBoard/service-planning/objectsToTree/models/vrf/vrfModal/networkStep/network.step.model"; +import {VPNModalRow} from "../../../drawingBoard/service-planning/objectsToTree/models/vrf/vrfModal/vpnStep/vpn.step.model"; @Injectable() export class AaiService { @@ -217,7 +218,7 @@ export class AaiService { }; public static formatCloudOwnerTrailer(cloudOwner: string):string { - return " ("+ cloudOwner.trim().toLowerCase().replace(/^att-/, "").toUpperCase() + ")"; + return " ("+ cloudOwner.trim().toLowerCase().replace(/^[^-]*-/, "").toUpperCase() + ")"; } getServiceTypes = (subscriberId): Observable<ServiceType[]> => { @@ -235,7 +236,7 @@ export class AaiService { }; getSubscriberDetails = (subscriberId): Observable<GetSubDetailsResponse> => { - let pathQuery: string = Constants.Path.AAI_SUB_DETAILS_PATH + subscriberId + Constants.Path.ASSIGN + Math.random(); + let pathQuery: string = Constants.Path.AAI_SUB_DETAILS_PATH + subscriberId + Constants.Path.ASSIGN + Math.random() + Constants.Path.AAI_OMIT_SERVICE_INSTANCES + true; if (subscriberId != null) { return this.http.get<GetSubDetailsResponse>(pathQuery); @@ -257,6 +258,16 @@ export class AaiService { return this.http.get<ServiceInstance>(pathQuery); } + public retrieveActiveNetwork(cloudRegion : string, tenantId: string) : Observable<NetworkModalRow[]>{ + let pathQuery: string = `${Constants.Path.AAI_GET_ACTIVE_NETWORKS_PATH}?cloudRegion=${cloudRegion}&tenantId=${tenantId}`; + return this.http.get<NetworkModalRow[]>(pathQuery); + } + + public retrieveActiveVPNs() : Observable<VPNModalRow[]>{ + let pathQuery: string = `${Constants.Path.AAI_GET_VPNS_PATH}`; + return this.http.get<VPNModalRow[]>(pathQuery); + } + public retrieveAndStoreServiceInstanceTopology(serviceInstanceId: string, subscriberId: string, serviceType: string, serviceModeId: string):Observable<ServiceInstance> { return this.retrieveServiceInstanceTopology(serviceInstanceId, subscriberId, serviceType).do((service:ServiceInstance) => { this.store.dispatch(createServiceInstance(service, serviceModeId)); @@ -268,257 +279,6 @@ export class AaiService { let pathQuery: string = `${Constants.Path.SERVICES_RETRY_TOPOLOGY}/${jobId}`; return this.http.get<ServiceInstance>(pathQuery); - // return of( - // <any>{ - // "action": "None", - // "instanceName": "LXzQMx9clZl7D6ckJ", - // "instanceId": "service-instance-id", - // "orchStatus": "GARBAGE DATA", - // "productFamilyId": null, - // "lcpCloudRegionId": null, - // "tenantId": null, - // "modelInfo": { - // "modelInvariantId": "d27e42cf-087e-4d31-88ac-6c4b7585f800", - // "modelVersionId": "6e59c5de-f052-46fa-aa7e-2fca9d674c44", - // "modelName": "vf_vEPDG", - // "modelType": "service", - // "modelVersion": "5.0" - // }, - // "globalSubscriberId": "global-customer-id", - // "subscriptionServiceType": "service-instance-type", - // "owningEntityId": null, - // "owningEntityName": null, - // "tenantName": null, - // "aicZoneId": null, - // "aicZoneName": null, - // "projectName": null, - // "rollbackOnFailure": null, - // "isALaCarte": false, - // "vnfs": { - // "1e918ade-3dc6-4cec-b952-3ff94ed82d1c": { - // "action": "None", - // "instanceName": "DgZuxjJy5LMIc3755", - // "instanceId": "1e918ade-3dc6-4cec-b952-3ff94ed82d1c", - // "orchStatus": null, - // "productFamilyId": null, - // "lcpCloudRegionId": null, - // "tenantId": null, - // "modelInfo": { - // "modelInvariantId": "vnf-instance-model-invariant-id", - // "modelVersionId": "vnf-instance-model-version-id", - // "modelType": "vnf" - // }, - // "instanceType": "SXDBMhwdR9iO0g1Uv", - // "provStatus": null, - // "inMaint": false, - // "uuid": "vnf-instance-model-version-id", - // "originalName": null, - // "legacyRegion": null, - // "lineOfBusiness": null, - // "platformName": null, - // "trackById": "1e918ade-3dc6-4cec-b952-3ff94ed82d1c", - // "vfModules": {}, - // "networks": { - // "ff464c97-ea9c-4165-996a-fe400499af3e": { - // "action": "None", - // "instanceName": "ZI0quzIpu8TNXS7nl", - // "instanceId": "ff464c97-ea9c-4165-996a-fe400499af3e", - // "orchStatus": "Assigned", - // "productFamilyId": null, - // "lcpCloudRegionId": null, - // "tenantId": null, - // "modelInfo": { - // "modelInvariantId": "network-instance-model-invariant-id", - // "modelVersionId": "network-instance-model-version-id", - // "modelType": "network" - // }, - // "instanceType": "CONTRAIL30_BASIC", - // "provStatus": "prov", - // "inMaint": false, - // "uuid": "network-instance-model-version-id", - // "originalName": null, - // "legacyRegion": null, - // "lineOfBusiness": null, - // "platformName": null, - // "trackById": "ff464c97-ea9c-4165-996a-fe400499af3e", - // "isFailed": true - // }, - // "3e41d57c-8bb4-443e-af02-9f86487ba938": { - // "action": "None", - // "instanceName": "0i9asscqSLm7Poeb8", - // "instanceId": "3e41d57c-8bb4-443e-af02-9f86487ba938", - // "orchStatus": "Created", - // "productFamilyId": null, - // "lcpCloudRegionId": null, - // "tenantId": null, - // "modelInfo": { - // "modelInvariantId": "network-instance-model-invariant-id", - // "modelVersionId": "network-instance-model-version-id", - // "modelType": "network" - // }, - // "instanceType": "CONTRAIL30_BASIC", - // "provStatus": "prov", - // "inMaint": false, - // "uuid": "network-instance-model-version-id", - // "originalName": null, - // "legacyRegion": null, - // "lineOfBusiness": null, - // "platformName": null, - // "trackById": "3e41d57c-8bb4-443e-af02-9f86487ba938", - // "isFailed": true - // } - // }, - // "isFailed": true - // }, - // "9a9b2705-c569-4f1b-9a67-13e9f86e6c55": { - // "isFailed": true, - // "action": "None", - // "instanceName": "TFn0SYhrCUs7L3qWS", - // "instanceId": "9a9b2705-c569-4f1b-9a67-13e9f86e6c55", - // "orchStatus": null, - // "productFamilyId": null, - // "lcpCloudRegionId": null, - // "tenantId": null, - // "modelInfo": { - // "modelCustomizationName": "VF_vMee 0", - // "modelInvariantId": "vnf-instance-model-invariant-id", - // "modelVersionId": "d6557200-ecf2-4641-8094-5393ae3aae60", - // "modelType": "vnf" - // }, - // "instanceType": "WIT68GUnH34VaGZgp", - // "provStatus": null, - // "inMaint": true, - // "uuid": "d6557200-ecf2-4641-8094-5393ae3aae60", - // "originalName": "VF_vMee 0", - // "legacyRegion": null, - // "lineOfBusiness": null, - // "platformName": null, - // "trackById": "9a9b2705-c569-4f1b-9a67-13e9f86e6c55", - // "vfModules": { - // "vf_vmee0..VfVmee..vmme_vlc..module-1": { - // "2c1ca484-cbc2-408b-ab86-25a2c15ce280": { - // "action": "None", - // "instanceName": "ss820f_0918_db", - // "instanceId": "2c1ca484-cbc2-408b-ab86-25a2c15ce280", - // "orchStatus": "deleted", - // "productFamilyId": null, - // "lcpCloudRegionId": null, - // "tenantId": null, - // "modelInfo": { - // "modelCustomizationName": "VfVmee..vmme_vlc..module-1", - // "modelCustomizationId": "b200727a-1bf9-4e7c-bd06-b5f4c9d920b9", - // "modelInvariantId": "09edc9ef-85d0-4b26-80de-1f569d49e750", - // "modelVersionId": "522159d5-d6e0-4c2a-aa44-5a542a12a830", - // "modelType": "vfModule" - // }, - // "instanceType": null, - // "provStatus": null, - // "inMaint": true, - // "uuid": "522159d5-d6e0-4c2a-aa44-5a542a12a830", - // "originalName": "VfVmee..vmme_vlc..module-1", - // "legacyRegion": null, - // "lineOfBusiness": null, - // "platformName": null, - // "trackById": "2c1ca484-cbc2-408b-ab86-25a2c15ce280", - // "isBase": false, - // "volumeGroupName": null, - // "isFailed": true - // } - // }, - // "dc229cd8-c132-4455-8517-5c1787c18b14": { - // "3ef042c4-259f-45e0-9aba-0989bd8d1cc5": { - // "action": "None", - // "instanceName": "ss820f_0918_base", - // "instanceId": "3ef042c4-259f-45e0-9aba-0989bd8d1cc5", - // "orchStatus": "Assigned", - // "productFamilyId": null, - // "lcpCloudRegionId": null, - // "tenantId": null, - // "modelInfo": { - // "modelCustomizationId": "8ad8670b-0541-4499-8101-275bbd0e8b6a", - // "modelInvariantId": "1e463c9c-404d-4056-ba56-28fd102608de", - // "modelVersionId": "dc229cd8-c132-4455-8517-5c1787c18b14", - // "modelType": "vfModule" - // }, - // "instanceType": null, - // "provStatus": null, - // "inMaint": false, - // "uuid": "dc229cd8-c132-4455-8517-5c1787c18b14", - // "originalName": null, - // "legacyRegion": null, - // "lineOfBusiness": null, - // "platformName": null, - // "trackById": "3ef042c4-259f-45e0-9aba-0989bd8d1cc5", - // "isBase": true, - // "volumeGroupName": null - // } - // } - // }, - // "networks": {} - // } - // }, - // "networks": { - // "e1edb09e-e68b-4ebf-adb8-e2587be56257": { - // "action": "None", - // "instanceName": "cNpGlYQDsmrUDK5iG", - // "instanceId": "e1edb09e-e68b-4ebf-adb8-e2587be56257", - // "orchStatus": "Created", - // "productFamilyId": null, - // "lcpCloudRegionId": null, - // "tenantId": null, - // "modelInfo": { - // "modelInvariantId": "network-instance-model-invariant-id", - // "modelVersionId": "ddc3f20c-08b5-40fd-af72-c6d14636b986", - // "modelType": "network" - // }, - // "instanceType": "CONTRAIL30_HIMELGUARD", - // "provStatus": "preprov", - // "inMaint": false, - // "uuid": "ddc3f20c-08b5-40fd-af72-c6d14636b986", - // "originalName": null, - // "legacyRegion": null, - // "lineOfBusiness": null, - // "platformName": null, - // "trackById": "e1edb09e-e68b-4ebf-adb8-e2587be56257" - // }, - // "de4b5203-ad1c-4f2b-8843-5236fb8dc9ba": { - // "action": "None", - // "instanceName": "EI9QlSRVK0lon54Cb", - // "instanceId": "de4b5203-ad1c-4f2b-8843-5236fb8dc9ba", - // "orchStatus": "Assigned", - // "productFamilyId": null, - // "lcpCloudRegionId": null, - // "tenantId": null, - // "modelInfo": { - // "modelInvariantId": "network-instance-model-invariant-id", - // "modelVersionId": "ddc3f20c-08b5-40fd-af72-c6d14636b986", - // "modelType": "network" - // }, - // "instanceType": "CONTRAIL30_BASIC", - // "provStatus": "nvtprov", - // "inMaint": false, - // "uuid": "ddc3f20c-08b5-40fd-af72-c6d14636b986", - // "originalName": null, - // "legacyRegion": null, - // "lineOfBusiness": null, - // "platformName": null, - // "trackById": "de4b5203-ad1c-4f2b-8843-5236fb8dc9ba", - // "isFailed": true - // } - // }, - // "vnfGroups": {}, - // "validationCounter": 0, - // "existingVNFCounterMap": { - // "vnf-instance-model-version-id": 1, - // "d6557200-ecf2-4641-8094-5393ae3aae60": 1 - // }, - // "existingNetworksCounterMap": { - // "ddc3f20c-08b5-40fd-af72-c6d14636b986": 2 - // }, - // "existingVnfGroupCounterMap": {} - // } - // ); - } public retrieveAndStoreServiceInstanceRetryTopology(jobId: string, serviceModeId : string):Observable<ServiceInstance> { @@ -561,7 +321,7 @@ export class AaiService { "instanceId":"VNF1_INSTANCE_ID", "orchStatus":null, "productFamilyId":null, - "lcpCloudRegionId":"mtn23b", + "lcpCloudRegionId":"hvf23b", "tenantId":"3e9a20a3e89e45f884e09df0cc2d2d2a", "tenantName":"APPC-24595-T-IST-02C", "modelInfo":{ @@ -589,7 +349,7 @@ export class AaiService { "instanceId":"VNF2_INSTANCE_ID", "orchStatus":null, "productFamilyId":null, - "lcpCloudRegionId":"mtn23b", + "lcpCloudRegionId":"hvf23b", "tenantId":"3e9a20a3e89e45f884e09df0cc2d2d2a", "tenantName":"APPC-24595-T-IST-02C", "modelInfo":{ diff --git a/vid-webpack-master/src/app/shared/services/defaultDataServiceGenerator/default.data.generator.service.spec.ts b/vid-webpack-master/src/app/shared/services/defaultDataServiceGenerator/default.data.generator.service.spec.ts index c4ef881f0..a34f2fe20 100644 --- a/vid-webpack-master/src/app/shared/services/defaultDataServiceGenerator/default.data.generator.service.spec.ts +++ b/vid-webpack-master/src/app/shared/services/defaultDataServiceGenerator/default.data.generator.service.spec.ts @@ -4,6 +4,7 @@ import {NgRedux} from '@angular-redux/store'; import {DefaultDataGeneratorService} from './default.data.generator.service'; import {ServiceNodeTypes} from "../../models/ServiceNodeTypes"; import {VNFModel} from "../../models/vnfModel"; + class MockAppStore<T> {} describe('Default Data Generator Service', () => { @@ -26,8 +27,8 @@ describe('Default Data Generator Service', () => { test('generateVFModule aLaCarte vf module object should missed data', () => { const serviceHierarchy = generateServiceHierarchy(); - const vnfUUID: string = 'VF_vMee 0'; - const vnfModuleUUID: string = 'vf_vmee0..VfVmee..base_vmme..module-0'; + const vnfUUID: string = 'VF_vGeraldine 0'; + const vnfModuleUUID: string = 'vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0'; let result = service.generateVFModule(serviceHierarchy.vnfs[vnfUUID].vfModules[vnfModuleUUID], [], false, true); expect(result.isMissingData).toBeTruthy(); @@ -35,8 +36,8 @@ describe('Default Data Generator Service', () => { test('generateVFModule should create vf module object', () => { const serviceHierarchy = generateServiceHierarchy(); - const vnfUUID: string = 'VF_vMee 0'; - const vnfModuleUUID: string = 'vf_vmee0..VfVmee..base_vmme..module-0'; + const vnfUUID: string = 'VF_vGeraldine 0'; + const vnfModuleUUID: string = 'vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0'; let result = service.generateVFModule(serviceHierarchy.vnfs[vnfUUID].vfModules[vnfModuleUUID], [], false, false); @@ -54,7 +55,7 @@ describe('Default Data Generator Service', () => { test('generateVNFData should create vnf object', () => { const serviceHierarchy = generateServiceHierarchy(); - const vnfName: string = 'VF_vMee 0'; + const vnfName: string = 'VF_vGeraldine 0'; const formValues = generateVNFFormValues(); let result = service.generateVNFData(serviceHierarchy, vnfName, formValues, false); @@ -79,16 +80,16 @@ describe('Default Data Generator Service', () => { test('get vfModule instance params', () => { let dynamicInputs = service.updateDynamicInputsVnfDataFromModel(ServiceNodeTypes.VFmodule, generateVFModule()); expect(dynamicInputs).toEqual([{ - id: '2017488_adiodvpe0_vnf_config_template_version', + id: '2017488_pasqualevpe0_vnf_config_template_version', type: 'string', - name: '2017488_adiodvpe0_vnf_config_template_version', + name: '2017488_pasqualevpe0_vnf_config_template_version', value: '17.2', isRequired: true, description: 'VPE Software Version' }, { - id: '2017488_adiodvpe0_AIC_CLLI', + id: '2017488_pasqualevpe0_AIC_CLLI', type: 'string', - name: '2017488_adiodvpe0_AIC_CLLI', + name: '2017488_pasqualevpe0_AIC_CLLI', value: 'ATLMY8GA', isRequired: true, description: 'AIC Site CLLI' @@ -106,8 +107,8 @@ describe('Default Data Generator Service', () => { describe('#createNewVfModuleTreeNode', () => { test('createNewVfModuleTreeNode with isEcompGeneratedNaming instance name not fill - missing data true', () => { - const vnfModuleUUID: string = 'vf_vmee0..VfVmee..base_vmme..module-0'; - const vfModuleModel = generateServiceHierarchy().vnfs['VF_vMee 0'].vfModules['vf_vmee0..VfVmee..base_vmme..module-0']; + const vnfModuleUUID: string = 'vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0'; + const vfModuleModel = generateServiceHierarchy().vnfs['VF_vGeraldine 0'].vfModules['vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0']; const newVfModule = service.createNewVfModuleTreeNode(<any>{ instanceName: "", instanceParams: {}, @@ -120,8 +121,8 @@ describe('Default Data Generator Service', () => { }); test('createNewVfModuleTreeNode without isEcompGeneratedNaming missing data false', () => { - const vnfModuleUUID: string = 'vf_vmee0..VfVmee..base_vmme..module-0'; - const vfModuleModel = generateServiceHierarchy().vnfs['VF_vMee 0'].vfModules['vf_vmee0..VfVmee..base_vmme..module-0']; + const vnfModuleUUID: string = 'vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0'; + const vfModuleModel = generateServiceHierarchy().vnfs['VF_vGeraldine 0'].vfModules['vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0']; const newVfModule = service.createNewVfModuleTreeNode(<any>{ instanceName: "", instanceParams: {}, @@ -136,7 +137,7 @@ describe('Default Data Generator Service', () => { describe('#createNewVnfTreeNode', () => { test('createNewVnfTreeNode with isEcompGeneratedNaming instance name not filled - missing data true', () => { - const vnfModel = generateServiceHierarchy().vnfs['VF_vMee 0']; + const vnfModel = generateServiceHierarchy().vnfs['VF_vGeraldine 0']; const newVnf = service.createNewTreeNode({ uuid : '', instanceName: "", @@ -152,13 +153,13 @@ describe('Default Data Generator Service', () => { isMissingData: false, trackById: Math.random().toString(), vnfStoreKey: "abc" - }, new VNFModel(vnfModel),'VF_vMee 0', 'vnfs'); - expect(newVnf.name).toEqual('VF_vMee 0'); + }, new VNFModel(vnfModel),'VF_vGeraldine 0', 'vnfs'); + expect(newVnf.name).toEqual('VF_vGeraldine 0'); expect(newVnf.missingData).toEqual(true); }); test('createNewVnfTreeNode with isEcompGeneratedNaming instance name filled - missing data false', () => { - const vnfModel = generateServiceHierarchy().vnfs['VF_vMee 0']; + const vnfModel = generateServiceHierarchy().vnfs['VF_vGeraldine 0']; const newVnf = service.createNewTreeNode({ uuid : '', instanceName: "instanceName", @@ -174,7 +175,7 @@ describe('Default Data Generator Service', () => { isMissingData: false, trackById: Math.random().toString(), vnfStoreKey: "abc" - }, vnfModel,'VF_vMee 0', 'vnfs'); + }, vnfModel,'VF_vGeraldine 0', 'vnfs'); expect(newVnf.name).toEqual("instanceName"); expect(newVnf.missingData).toEqual(false); }); @@ -184,7 +185,7 @@ describe('Default Data Generator Service', () => { function generateServiceHierarchy() { - return JSON.parse('{"service":{"uuid":"6e59c5de-f052-46fa-aa7e-2fca9d674c44","invariantUuid":"e49fbd11-e60c-4a8e-b4bf-30fbe8f4fcc0","name":"ComplexService","version":"1.0","toscaModelURL":null,"category":"Emanuel","serviceType":"","serviceRole":"","description":"ComplexService","serviceEcompNaming":"true","instantiationType":"Macro","inputs":{}},"vnfs":{"VF_vMee 0":{"uuid":"d6557200-ecf2-4641-8094-5393ae3aae60","invariantUuid":"4160458e-f648-4b30-a176-43881ffffe9e","description":"VSP_vMee","name":"VF_vMee","version":"2.0","customizationUuid":"91415b44-753d-494c-926a-456a9172bbb9","inputs":{},"commands":{},"properties":{"gpb2_Internal2_mac":"00:11:22:EF:AC:DF","sctp-b-ipv6-egress_src_start_port":"0","sctp-a-ipv6-egress_rule_application":"any","Internal2_allow_transit":"true","sctp-b-IPv6_ethertype":"IPv6","sctp-a-egress_rule_application":"any","sctp-b-ingress_action":"pass","sctp-b-ingress_rule_protocol":"icmp","ncb2_Internal1_mac":"00:11:22:EF:AC:DF","sctp-b-ipv6-ingress-src_start_port":"0.0","ncb1_Internal2_mac":"00:11:22:EF:AC:DF","fsb_volume_size_0":"320.0","sctp-b-egress_src_addresses":"local","sctp-a-ipv6-ingress_ethertype":"IPv4","sctp-a-ipv6-ingress-dst_start_port":"0","sctp-b-ipv6-ingress_rule_application":"any","domain_name":"default-domain","sctp-a-ingress_rule_protocol":"icmp","sctp-b-egress-src_start_port":"0.0","sctp-a-egress_src_addresses":"local","sctp-b-display_name":"epc-sctp-b-ipv4v6-sec-group","sctp-a-egress-src_start_port":"0.0","sctp-a-ingress_ethertype":"IPv4","sctp-b-ipv6-ingress-dst_end_port":"65535","sctp-b-dst_subnet_prefix_v6":"::","nf_naming":"{ecomp_generated_naming=true}","sctp-a-ipv6-ingress_src_subnet_prefix":"0.0.0.0","sctp-b-egress-dst_start_port":"0.0","ncb_flavor_name":"nv.c20r64d1","gpb1_Internal1_mac":"00:11:22:EF:AC:DF","sctp-b-egress_dst_subnet_prefix_len":"0.0","Internal2_net_cidr":"10.0.0.10","sctp-a-ingress-dst_start_port":"0.0","sctp-a-egress-dst_start_port":"0.0","fsb1_Internal2_mac":"00:11:22:EF:AC:DF","sctp-a-egress_ethertype":"IPv4","vlc_st_service_mode":"in-network-nat","sctp-a-ipv6-egress_ethertype":"IPv4","sctp-a-egress-src_end_port":"65535.0","sctp-b-ipv6-egress_rule_application":"any","sctp-b-egress_action":"pass","sctp-a-ingress-src_subnet_prefix_len":"0.0","sctp-b-ipv6-ingress-src_end_port":"65535.0","sctp-b-name":"epc-sctp-b-ipv4v6-sec-group","fsb2_Internal1_mac":"00:11:22:EF:AC:DF","sctp-a-ipv6-ingress-src_start_port":"0.0","sctp-b-ipv6-egress_ethertype":"IPv4","Internal1_net_cidr":"10.0.0.10","sctp-a-egress_dst_subnet_prefix":"0.0.0.0","fsb_flavor_name":"nv.c20r64d1","sctp_rule_protocol":"132","sctp-b-ipv6-ingress_src_subnet_prefix_len":"0","sctp-a-ipv6-ingress_rule_application":"any","ecomp_generated_naming":"false","sctp-a-IPv6_ethertype":"IPv6","vlc2_Internal1_mac":"00:11:22:EF:AC:DF","vlc_st_virtualization_type":"virtual-machine","sctp-b-ingress-dst_start_port":"0.0","sctp-b-ingress-dst_end_port":"65535.0","sctp-a-ipv6-ingress-src_end_port":"65535.0","sctp-a-display_name":"epc-sctp-a-ipv4v6-sec-group","sctp-b-ingress_rule_application":"any","int2_sec_group_name":"int2-sec-group","vlc_flavor_name":"nd.c16r64d1","sctp-b-ipv6-egress_src_addresses":"local","vlc_st_interface_type_int1":"other1","sctp-b-egress-src_end_port":"65535.0","sctp-a-ipv6-egress-dst_start_port":"0","vlc_st_interface_type_int2":"other2","sctp-a-ipv6-egress_rule_protocol":"any","Internal2_shared":"false","sctp-a-ipv6-egress_dst_subnet_prefix_len":"0","Internal2_rpf":"disable","vlc1_Internal1_mac":"00:11:22:EF:AC:DF","sctp-b-ipv6-egress_src_end_port":"65535","sctp-a-ipv6-egress_src_addresses":"local","sctp-a-ingress-dst_end_port":"65535.0","sctp-a-ipv6-egress_src_end_port":"65535","Internal1_forwarding_mode":"l2","Internal2_dhcp":"false","sctp-a-dst_subnet_prefix_v6":"::","pxe_image_name":"MME_PXE-Boot_16ACP04_GA.qcow2","vlc_st_interface_type_gtp":"other0","ncb1_Internal1_mac":"00:11:22:EF:AC:DF","sctp-b-src_subnet_prefix_v6":"::","sctp-a-egress_dst_subnet_prefix_len":"0.0","int1_sec_group_name":"int1-sec-group","Internal1_dhcp":"false","sctp-a-ipv6-egress_dst_end_port":"65535","Internal2_forwarding_mode":"l2","fsb2_Internal2_mac":"00:11:22:EF:AC:DF","sctp-b-egress_dst_subnet_prefix":"0.0.0.0","Internal1_net_cidr_len":"17","gpb2_Internal1_mac":"00:11:22:EF:AC:DF","sctp-b-ingress-src_subnet_prefix_len":"0.0","sctp-a-ingress_dst_addresses":"local","sctp-a-egress_action":"pass","fsb_volume_type_0":"SF-Default-SSD","ncb2_Internal2_mac":"00:11:22:EF:AC:DF","vlc_st_interface_type_sctp_a":"left","vlc_st_interface_type_sctp_b":"right","sctp-a-src_subnet_prefix_v6":"::","vlc_st_version":"2","sctp-b-egress_ethertype":"IPv4","sctp-a-ingress_rule_application":"any","gpb1_Internal2_mac":"00:11:22:EF:AC:DF","instance_ip_family_v6":"v6","sctp-a-ipv6-egress_src_start_port":"0","sctp-b-ingress-src_start_port":"0.0","sctp-b-ingress_dst_addresses":"local","fsb1_Internal1_mac":"00:11:22:EF:AC:DF","vlc_st_interface_type_oam":"management","multi_stage_design":"false","oam_sec_group_name":"oam-sec-group","Internal2_net_gateway":"10.0.0.10","sctp-a-ipv6-ingress-dst_end_port":"65535","sctp-b-ipv6-egress-dst_start_port":"0","Internal1_net_gateway":"10.0.0.10","sctp-b-ipv6-egress_rule_protocol":"any","gtp_sec_group_name":"gtp-sec-group","sctp-a-ipv6-egress_dst_subnet_prefix":"0.0.0.0","sctp-b-ipv6-egress_dst_subnet_prefix_len":"0","sctp-a-ipv6-ingress_dst_addresses":"local","sctp-a-egress_rule_protocol":"icmp","sctp-b-ipv6-egress_action":"pass","sctp-a-ipv6-egress_action":"pass","Internal1_shared":"false","sctp-b-ipv6-ingress_rule_protocol":"any","Internal2_net_cidr_len":"17","sctp-a-name":"epc-sctp-a-ipv4v6-sec-group","sctp-a-ingress-src_end_port":"65535.0","sctp-b-ipv6-ingress_src_subnet_prefix":"0.0.0.0","sctp-a-egress-dst_end_port":"65535.0","sctp-a-ingress_action":"pass","sctp-b-egress_rule_protocol":"icmp","sctp-b-ipv6-ingress_action":"pass","vlc_st_service_type":"firewall","sctp-b-ipv6-egress_dst_end_port":"65535","sctp-b-ipv6-ingress-dst_start_port":"0","vlc2_Internal2_mac":"00:11:22:EF:AC:DF","vlc_st_availability_zone":"true","fsb_volume_image_name_1":"MME_FSB2_16ACP04_GA.qcow2","sctp-b-ingress-src_subnet_prefix":"0.0.0.0","sctp-a-ipv6-ingress_src_subnet_prefix_len":"0","Internal1_allow_transit":"true","gpb_flavor_name":"nv.c20r64d1","availability_zone_max_count":"1","fsb_volume_image_name_0":"MME_FSB1_16ACP04_GA.qcow2","sctp-b-ipv6-ingress_dst_addresses":"local","sctp-b-ipv6-egress_dst_subnet_prefix":"0.0.0.0","sctp-b-ipv6-ingress_ethertype":"IPv4","vlc1_Internal2_mac":"00:11:22:EF:AC:DF","sctp-a-ingress-src_subnet_prefix":"0.0.0.0","sctp-a-ipv6-ingress_action":"pass","Internal1_rpf":"disable","sctp-b-ingress_ethertype":"IPv4","sctp-b-egress_rule_application":"any","sctp-b-ingress-src_end_port":"65535.0","sctp-a-ipv6-ingress_rule_protocol":"any","sctp-a-ingress-src_start_port":"0.0","sctp-b-egress-dst_end_port":"65535.0"},"type":"VF","modelCustomizationName":"VF_vMee 0","vfModules":{"vf_vmee0..VfVmee..vmme_vlc..module-1":{"uuid":"522159d5-d6e0-4c2a-aa44-5a542a12a830","invariantUuid":"98a7c88b-b577-476a-90e4-e25a5871e02b","customizationUuid":"55b1be94-671a-403e-a26c-667e9c47d091","description":null,"name":"VfVmee..vmme_vlc..module-1","version":"2","modelCustomizationName":"VfVmee..vmme_vlc..module-1","properties":{"minCountInstances":0,"maxCountInstances":null,"initialCount":0,"vfModuleLabel":"vmme_vlc"},"inputs":{},"volumeGroupAllowed":false},"vf_vmee0..VfVmee..vmme_gpb..module-2":{"uuid":"41708296-e443-4c71-953f-d9a010f059e1","invariantUuid":"1cca90b8-3490-495e-87da-3f3e4c57d5b9","customizationUuid":"6add59e0-7fe1-4bc4-af48-f8812422ae7c","description":null,"name":"VfVmee..vmme_gpb..module-2","version":"2","modelCustomizationName":"VfVmee..vmme_gpb..module-2","properties":{"minCountInstances":0,"maxCountInstances":null,"initialCount":0,"vfModuleLabel":"vmme_gpb"},"inputs":{},"volumeGroupAllowed":false},"vf_vmee0..VfVmee..base_vmme..module-0":{"uuid":"a27f5cfc-7f12-4f99-af08-0af9c3885c87","invariantUuid":"a6f9e51a-2b35-416a-ae15-15e58d61f36d","customizationUuid":"f8c040f1-7e51-4a11-aca8-acf256cfd861","description":null,"name":"VfVmee..base_vmme..module-0","version":"2","modelCustomizationName":"VfVmee..base_vmme..module-0","properties":{"minCountInstances":1,"maxCountInstances":1,"initialCount":1,"vfModuleLabel":"base_vmme"},"inputs":{},"volumeGroupAllowed":true}},"volumeGroups":{"vf_vmee0..VfVmee..base_vmme..module-0":{"uuid":"a27f5cfc-7f12-4f99-af08-0af9c3885c87","invariantUuid":"a6f9e51a-2b35-416a-ae15-15e58d61f36d","customizationUuid":"f8c040f1-7e51-4a11-aca8-acf256cfd861","description":null,"name":"VfVmee..base_vmme..module-0","version":"2","modelCustomizationName":"VfVmee..base_vmme..module-0","properties":{"minCountInstances":1,"maxCountInstances":1,"initialCount":1,"vfModuleLabel":"base_vmme"},"inputs":{}}},"vfcInstanceGroups":{}}},"networks":{"ExtVL 0":{"uuid":"ddc3f20c-08b5-40fd-af72-c6d14636b986","invariantUuid":"379f816b-a7aa-422f-be30-17114ff50b7c","description":"ECOMP generic virtual link (network) base type for all other service-level and global networks","name":"ExtVL","version":"37.0","customizationUuid":"94fdd893-4a36-4d70-b16a-ec29c54c184f","inputs":{},"commands":{},"properties":{"network_assignments":"{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}}","exVL_naming":"{ecomp_generated_naming=true}","network_flows":"{is_network_policy=false, is_bound_to_vpn=false}","network_homing":"{ecomp_selected_instance_node_target=false}"},"type":"VL","modelCustomizationName":"ExtVL 0"}},"collectionResource":{},"configurations":{"Port Mirroring Configuration By Policy 0":{"uuid":"b4398538-e89d-4f13-b33d-ca323434ba50","invariantUuid":"6ef0ca40-f366-4897-951f-abd65d25f6f7","description":"A port mirroring configuration by policy object","name":"Port Mirroring Configuration By Policy","version":"27.0","customizationUuid":"3c3b7b8d-8669-4b3b-8664-61970041fad2","inputs":{},"commands":{},"properties":{},"type":"Configuration","modelCustomizationName":"Port Mirroring Configuration By Policy 0","sourceNodes":[],"collectorNodes":null,"configurationByPolicy":false}},"serviceProxies":{},"vfModules":{"vf_vmee0..VfVmee..vmme_vlc..module-1":{"uuid":"522159d5-d6e0-4c2a-aa44-5a542a12a830","invariantUuid":"98a7c88b-b577-476a-90e4-e25a5871e02b","customizationUuid":"55b1be94-671a-403e-a26c-667e9c47d091","description":null,"name":"VfVmee..vmme_vlc..module-1","version":"2","modelCustomizationName":"VfVmee..vmme_vlc..module-1","properties":{"minCountInstances":0,"maxCountInstances":null,"initialCount":0,"vfModuleLabel":"vmme_vlc"},"inputs":{},"volumeGroupAllowed":false},"vf_vmee0..VfVmee..vmme_gpb..module-2":{"uuid":"41708296-e443-4c71-953f-d9a010f059e1","invariantUuid":"1cca90b8-3490-495e-87da-3f3e4c57d5b9","customizationUuid":"6add59e0-7fe1-4bc4-af48-f8812422ae7c","description":null,"name":"VfVmee..vmme_gpb..module-2","version":"2","modelCustomizationName":"VfVmee..vmme_gpb..module-2","properties":{"minCountInstances":0,"maxCountInstances":null,"initialCount":0,"vfModuleLabel":"vmme_gpb"},"inputs":{},"volumeGroupAllowed":false},"vf_vmee0..VfVmee..base_vmme..module-0":{"uuid":"a27f5cfc-7f12-4f99-af08-0af9c3885c87","invariantUuid":"a6f9e51a-2b35-416a-ae15-15e58d61f36d","customizationUuid":"f8c040f1-7e51-4a11-aca8-acf256cfd861","description":null,"name":"VfVmee..base_vmme..module-0","version":"2","modelCustomizationName":"VfVmee..base_vmme..module-0","properties":{"minCountInstances":1,"maxCountInstances":1,"initialCount":1,"vfModuleLabel":"base_vmme"},"inputs":{},"volumeGroupAllowed":true}},"volumeGroups":{"vf_vmee0..VfVmee..base_vmme..module-0":{"uuid":"a27f5cfc-7f12-4f99-af08-0af9c3885c87","invariantUuid":"a6f9e51a-2b35-416a-ae15-15e58d61f36d","customizationUuid":"f8c040f1-7e51-4a11-aca8-acf256cfd861","description":null,"name":"VfVmee..base_vmme..module-0","version":"2","modelCustomizationName":"VfVmee..base_vmme..module-0","properties":{"minCountInstances":1,"maxCountInstances":1,"initialCount":1,"vfModuleLabel":"base_vmme"},"inputs":{}}},"pnfs":{}}'); + return JSON.parse('{"service":{"uuid":"6e59c5de-f052-46fa-aa7e-2fca9d674c44","invariantUuid":"e49fbd11-e60c-4a8e-b4bf-30fbe8f4fcc0","name":"ComplexService","version":"1.0","toscaModelURL":null,"category":"Emanuel","serviceType":"","serviceRole":"","description":"ComplexService","serviceEcompNaming":"true","instantiationType":"Macro","inputs":{}},"vnfs":{"VF_vGeraldine 0":{"uuid":"d6557200-ecf2-4641-8094-5393ae3aae60","invariantUuid":"4160458e-f648-4b30-a176-43881ffffe9e","description":"VSP_vGeraldine","name":"VF_vGeraldine","version":"2.0","customizationUuid":"91415b44-753d-494c-926a-456a9172bbb9","inputs":{},"commands":{},"properties":{"gpb2_Internal2_mac":"00:11:22:EF:AC:DF","sctp-b-ipv6-egress_src_start_port":"0","sctp-a-ipv6-egress_rule_application":"any","Internal2_allow_transit":"true","sctp-b-IPv6_ethertype":"IPv6","sctp-a-egress_rule_application":"any","sctp-b-ingress_action":"pass","sctp-b-ingress_rule_protocol":"icmp","ncb2_Internal1_mac":"00:11:22:EF:AC:DF","sctp-b-ipv6-ingress-src_start_port":"0.0","ncb1_Internal2_mac":"00:11:22:EF:AC:DF","fsb_volume_size_0":"320.0","sctp-b-egress_src_addresses":"local","sctp-a-ipv6-ingress_ethertype":"IPv4","sctp-a-ipv6-ingress-dst_start_port":"0","sctp-b-ipv6-ingress_rule_application":"any","domain_name":"default-domain","sctp-a-ingress_rule_protocol":"icmp","sctp-b-egress-src_start_port":"0.0","sctp-a-egress_src_addresses":"local","sctp-b-display_name":"epc-sctp-b-ipv4v6-sec-group","sctp-a-egress-src_start_port":"0.0","sctp-a-ingress_ethertype":"IPv4","sctp-b-ipv6-ingress-dst_end_port":"65535","sctp-b-dst_subnet_prefix_v6":"::","nf_naming":"{ecomp_generated_naming=true}","sctp-a-ipv6-ingress_src_subnet_prefix":"0.0.0.0","sctp-b-egress-dst_start_port":"0.0","ncb_flavor_name":"nv.c20r64d1","gpb1_Internal1_mac":"00:11:22:EF:AC:DF","sctp-b-egress_dst_subnet_prefix_len":"0.0","Internal2_net_cidr":"10.0.0.10","sctp-a-ingress-dst_start_port":"0.0","sctp-a-egress-dst_start_port":"0.0","fsb1_Internal2_mac":"00:11:22:EF:AC:DF","sctp-a-egress_ethertype":"IPv4","vlc_st_service_mode":"in-network-nat","sctp-a-ipv6-egress_ethertype":"IPv4","sctp-a-egress-src_end_port":"65535.0","sctp-b-ipv6-egress_rule_application":"any","sctp-b-egress_action":"pass","sctp-a-ingress-src_subnet_prefix_len":"0.0","sctp-b-ipv6-ingress-src_end_port":"65535.0","sctp-b-name":"epc-sctp-b-ipv4v6-sec-group","fsb2_Internal1_mac":"00:11:22:EF:AC:DF","sctp-a-ipv6-ingress-src_start_port":"0.0","sctp-b-ipv6-egress_ethertype":"IPv4","Internal1_net_cidr":"10.0.0.10","sctp-a-egress_dst_subnet_prefix":"0.0.0.0","fsb_flavor_name":"nv.c20r64d1","sctp_rule_protocol":"132","sctp-b-ipv6-ingress_src_subnet_prefix_len":"0","sctp-a-ipv6-ingress_rule_application":"any","ecomp_generated_naming":"false","sctp-a-IPv6_ethertype":"IPv6","vlc2_Internal1_mac":"00:11:22:EF:AC:DF","vlc_st_virtualization_type":"virtual-machine","sctp-b-ingress-dst_start_port":"0.0","sctp-b-ingress-dst_end_port":"65535.0","sctp-a-ipv6-ingress-src_end_port":"65535.0","sctp-a-display_name":"epc-sctp-a-ipv4v6-sec-group","sctp-b-ingress_rule_application":"any","int2_sec_group_name":"int2-sec-group","vlc_flavor_name":"nd.c16r64d1","sctp-b-ipv6-egress_src_addresses":"local","vlc_st_interface_type_int1":"other1","sctp-b-egress-src_end_port":"65535.0","sctp-a-ipv6-egress-dst_start_port":"0","vlc_st_interface_type_int2":"other2","sctp-a-ipv6-egress_rule_protocol":"any","Internal2_shared":"false","sctp-a-ipv6-egress_dst_subnet_prefix_len":"0","Internal2_rpf":"disable","vlc1_Internal1_mac":"00:11:22:EF:AC:DF","sctp-b-ipv6-egress_src_end_port":"65535","sctp-a-ipv6-egress_src_addresses":"local","sctp-a-ingress-dst_end_port":"65535.0","sctp-a-ipv6-egress_src_end_port":"65535","Internal1_forwarding_mode":"l2","Internal2_dhcp":"false","sctp-a-dst_subnet_prefix_v6":"::","pxe_image_name":"MME_PXE-Boot_16ACP04_GA.qcow2","vlc_st_interface_type_gtp":"other0","ncb1_Internal1_mac":"00:11:22:EF:AC:DF","sctp-b-src_subnet_prefix_v6":"::","sctp-a-egress_dst_subnet_prefix_len":"0.0","int1_sec_group_name":"int1-sec-group","Internal1_dhcp":"false","sctp-a-ipv6-egress_dst_end_port":"65535","Internal2_forwarding_mode":"l2","fsb2_Internal2_mac":"00:11:22:EF:AC:DF","sctp-b-egress_dst_subnet_prefix":"0.0.0.0","Internal1_net_cidr_len":"17","gpb2_Internal1_mac":"00:11:22:EF:AC:DF","sctp-b-ingress-src_subnet_prefix_len":"0.0","sctp-a-ingress_dst_addresses":"local","sctp-a-egress_action":"pass","fsb_volume_type_0":"SF-Default-SSD","ncb2_Internal2_mac":"00:11:22:EF:AC:DF","vlc_st_interface_type_sctp_a":"left","vlc_st_interface_type_sctp_b":"right","sctp-a-src_subnet_prefix_v6":"::","vlc_st_version":"2","sctp-b-egress_ethertype":"IPv4","sctp-a-ingress_rule_application":"any","gpb1_Internal2_mac":"00:11:22:EF:AC:DF","instance_ip_family_v6":"v6","sctp-a-ipv6-egress_src_start_port":"0","sctp-b-ingress-src_start_port":"0.0","sctp-b-ingress_dst_addresses":"local","fsb1_Internal1_mac":"00:11:22:EF:AC:DF","vlc_st_interface_type_oam":"management","multi_stage_design":"false","oam_sec_group_name":"oam-sec-group","Internal2_net_gateway":"10.0.0.10","sctp-a-ipv6-ingress-dst_end_port":"65535","sctp-b-ipv6-egress-dst_start_port":"0","Internal1_net_gateway":"10.0.0.10","sctp-b-ipv6-egress_rule_protocol":"any","gtp_sec_group_name":"gtp-sec-group","sctp-a-ipv6-egress_dst_subnet_prefix":"0.0.0.0","sctp-b-ipv6-egress_dst_subnet_prefix_len":"0","sctp-a-ipv6-ingress_dst_addresses":"local","sctp-a-egress_rule_protocol":"icmp","sctp-b-ipv6-egress_action":"pass","sctp-a-ipv6-egress_action":"pass","Internal1_shared":"false","sctp-b-ipv6-ingress_rule_protocol":"any","Internal2_net_cidr_len":"17","sctp-a-name":"epc-sctp-a-ipv4v6-sec-group","sctp-a-ingress-src_end_port":"65535.0","sctp-b-ipv6-ingress_src_subnet_prefix":"0.0.0.0","sctp-a-egress-dst_end_port":"65535.0","sctp-a-ingress_action":"pass","sctp-b-egress_rule_protocol":"icmp","sctp-b-ipv6-ingress_action":"pass","vlc_st_service_type":"firewall","sctp-b-ipv6-egress_dst_end_port":"65535","sctp-b-ipv6-ingress-dst_start_port":"0","vlc2_Internal2_mac":"00:11:22:EF:AC:DF","vlc_st_availability_zone":"true","fsb_volume_image_name_1":"MME_FSB2_16ACP04_GA.qcow2","sctp-b-ingress-src_subnet_prefix":"0.0.0.0","sctp-a-ipv6-ingress_src_subnet_prefix_len":"0","Internal1_allow_transit":"true","gpb_flavor_name":"nv.c20r64d1","availability_zone_max_count":"1","fsb_volume_image_name_0":"MME_FSB1_16ACP04_GA.qcow2","sctp-b-ipv6-ingress_dst_addresses":"local","sctp-b-ipv6-egress_dst_subnet_prefix":"0.0.0.0","sctp-b-ipv6-ingress_ethertype":"IPv4","vlc1_Internal2_mac":"00:11:22:EF:AC:DF","sctp-a-ingress-src_subnet_prefix":"0.0.0.0","sctp-a-ipv6-ingress_action":"pass","Internal1_rpf":"disable","sctp-b-ingress_ethertype":"IPv4","sctp-b-egress_rule_application":"any","sctp-b-ingress-src_end_port":"65535.0","sctp-a-ipv6-ingress_rule_protocol":"any","sctp-a-ingress-src_start_port":"0.0","sctp-b-egress-dst_end_port":"65535.0"},"type":"VF","modelCustomizationName":"VF_vGeraldine 0","vfModules":{"vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1":{"uuid":"522159d5-d6e0-4c2a-aa44-5a542a12a830","invariantUuid":"98a7c88b-b577-476a-90e4-e25a5871e02b","customizationUuid":"55b1be94-671a-403e-a26c-667e9c47d091","description":null,"name":"VfVgeraldine..vflorence_vlc..module-1","version":"2","modelCustomizationName":"VfVgeraldine..vflorence_vlc..module-1","properties":{"minCountInstances":0,"maxCountInstances":null,"initialCount":0,"vfModuleLabel":"vflorence_vlc"},"inputs":{},"volumeGroupAllowed":false},"vf_vgeraldine0..VfVgeraldine..vflorence_gpb..module-2":{"uuid":"41708296-e443-4c71-953f-d9a010f059e1","invariantUuid":"1cca90b8-3490-495e-87da-3f3e4c57d5b9","customizationUuid":"6add59e0-7fe1-4bc4-af48-f8812422ae7c","description":null,"name":"VfVgeraldine..vflorence_gpb..module-2","version":"2","modelCustomizationName":"VfVgeraldine..vflorence_gpb..module-2","properties":{"minCountInstances":0,"maxCountInstances":null,"initialCount":0,"vfModuleLabel":"vflorence_gpb"},"inputs":{},"volumeGroupAllowed":false},"vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0":{"uuid":"a27f5cfc-7f12-4f99-af08-0af9c3885c87","invariantUuid":"a6f9e51a-2b35-416a-ae15-15e58d61f36d","customizationUuid":"f8c040f1-7e51-4a11-aca8-acf256cfd861","description":null,"name":"VfVgeraldine..base_vflorence..module-0","version":"2","modelCustomizationName":"VfVgeraldine..base_vflorence..module-0","properties":{"minCountInstances":1,"maxCountInstances":1,"initialCount":1,"vfModuleLabel":"base_vflorence"},"inputs":{},"volumeGroupAllowed":true}},"volumeGroups":{"vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0":{"uuid":"a27f5cfc-7f12-4f99-af08-0af9c3885c87","invariantUuid":"a6f9e51a-2b35-416a-ae15-15e58d61f36d","customizationUuid":"f8c040f1-7e51-4a11-aca8-acf256cfd861","description":null,"name":"VfVgeraldine..base_vflorence..module-0","version":"2","modelCustomizationName":"VfVgeraldine..base_vflorence..module-0","properties":{"minCountInstances":1,"maxCountInstances":1,"initialCount":1,"vfModuleLabel":"base_vflorence"},"inputs":{}}},"vfcInstanceGroups":{}}},"networks":{"ExtVL 0":{"uuid":"ddc3f20c-08b5-40fd-af72-c6d14636b986","invariantUuid":"379f816b-a7aa-422f-be30-17114ff50b7c","description":"ECOMP generic virtual link (network) base type for all other service-level and global networks","name":"ExtVL","version":"37.0","customizationUuid":"94fdd893-4a36-4d70-b16a-ec29c54c184f","inputs":{},"commands":{},"properties":{"network_assignments":"{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}}","exVL_naming":"{ecomp_generated_naming=true}","network_flows":"{is_network_policy=false, is_bound_to_vpn=false}","network_homing":"{ecomp_selected_instance_node_target=false}"},"type":"VL","modelCustomizationName":"ExtVL 0"}},"collectionResources":{},"configurations":{"Port Mirroring Configuration By Policy 0":{"uuid":"b4398538-e89d-4f13-b33d-ca323434ba50","invariantUuid":"6ef0ca40-f366-4897-951f-abd65d25f6f7","description":"A port mirroring configuration by policy object","name":"Port Mirroring Configuration By Policy","version":"27.0","customizationUuid":"3c3b7b8d-8669-4b3b-8664-61970041fad2","inputs":{},"commands":{},"properties":{},"type":"Configuration","modelCustomizationName":"Port Mirroring Configuration By Policy 0","sourceNodes":[],"collectorNodes":null,"configurationByPolicy":false}},"serviceProxies":{},"vfModules":{"vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1":{"uuid":"522159d5-d6e0-4c2a-aa44-5a542a12a830","invariantUuid":"98a7c88b-b577-476a-90e4-e25a5871e02b","customizationUuid":"55b1be94-671a-403e-a26c-667e9c47d091","description":null,"name":"VfVgeraldine..vflorence_vlc..module-1","version":"2","modelCustomizationName":"VfVgeraldine..vflorence_vlc..module-1","properties":{"minCountInstances":0,"maxCountInstances":null,"initialCount":0,"vfModuleLabel":"vflorence_vlc"},"inputs":{},"volumeGroupAllowed":false},"vf_vgeraldine0..VfVgeraldine..vflorence_gpb..module-2":{"uuid":"41708296-e443-4c71-953f-d9a010f059e1","invariantUuid":"1cca90b8-3490-495e-87da-3f3e4c57d5b9","customizationUuid":"6add59e0-7fe1-4bc4-af48-f8812422ae7c","description":null,"name":"VfVgeraldine..vflorence_gpb..module-2","version":"2","modelCustomizationName":"VfVgeraldine..vflorence_gpb..module-2","properties":{"minCountInstances":0,"maxCountInstances":null,"initialCount":0,"vfModuleLabel":"vflorence_gpb"},"inputs":{},"volumeGroupAllowed":false},"vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0":{"uuid":"a27f5cfc-7f12-4f99-af08-0af9c3885c87","invariantUuid":"a6f9e51a-2b35-416a-ae15-15e58d61f36d","customizationUuid":"f8c040f1-7e51-4a11-aca8-acf256cfd861","description":null,"name":"VfVgeraldine..base_vflorence..module-0","version":"2","modelCustomizationName":"VfVgeraldine..base_vflorence..module-0","properties":{"minCountInstances":1,"maxCountInstances":1,"initialCount":1,"vfModuleLabel":"base_vflorence"},"inputs":{},"volumeGroupAllowed":true}},"volumeGroups":{"vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0":{"uuid":"a27f5cfc-7f12-4f99-af08-0af9c3885c87","invariantUuid":"a6f9e51a-2b35-416a-ae15-15e58d61f36d","customizationUuid":"f8c040f1-7e51-4a11-aca8-acf256cfd861","description":null,"name":"VfVgeraldine..base_vflorence..module-0","version":"2","modelCustomizationName":"VfVgeraldine..base_vflorence..module-0","properties":{"minCountInstances":1,"maxCountInstances":1,"initialCount":1,"vfModuleLabel":"base_vflorence"},"inputs":{}}},"pnfs":{}}'); } @@ -198,14 +199,14 @@ function generateVFModule() { 'invariantUuid': '7253ff5c-97f0-4b8b-937c-77aeb4d79aa1', 'customizationUuid': 'f7e7c365-60cf-49a9-9ebf-a1aa11b9d401', 'description': null, - 'name': '2017488AdiodVpe..ADIOD_vRE_BV..module-1', + 'name': '2017488PasqualeVpe..PASQUALE_vRE_BV..module-1', 'version': '6', - 'modelCustomizationName': '2017488AdiodVpe..ADIOD_vRE_BV..module-1', + 'modelCustomizationName': '2017488PasqualeVpe..PASQUALE_vRE_BV..module-1', 'properties': {'minCountInstances': 0, 'maxCountInstances': null, 'initialCount': 0}, 'commands': {}, 'volumeGroupAllowed': true, 'inputs': { - '2017488_adiodvpe0_vnf_config_template_version': { + '2017488_pasqualevpe0_vnf_config_template_version': { 'type': 'string', 'description': 'VPE Software Version', 'entry_schema': null, @@ -213,7 +214,7 @@ function generateVFModule() { 'required': true, 'default': '17.2' }, - '2017488_adiodvpe0_AIC_CLLI': { + '2017488_pasqualevpe0_AIC_CLLI': { 'type': 'string', 'description': 'AIC Site CLLI', 'entry_schema': null, @@ -231,9 +232,9 @@ function generateVFModule2() { 'invariantUuid': 'eff8cc59-53a1-4101-aed7-8cf24ecf8339', 'customizationUuid': '3cd946bb-50e0-40d8-96d3-c9023520b557', 'description': null, - 'name': '2017488AdiodVpe..ADIOD_vPFE_BV..module-2', + 'name': '2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2', 'version': '6', - 'modelCustomizationName': '2017488AdiodVpe..ADIOD_vPFE_BV..module-2', + 'modelCustomizationName': '2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2', 'properties': {'minCountInstances': 0, 'maxCountInstances': null, 'initialCount': 0}, 'commands': {}, 'volumeGroupAllowed': true, @@ -245,8 +246,8 @@ function generateVNF() { return { 'uuid': '0903e1c0-8e03-4936-b5c2-260653b96413', 'invariantUuid': '00beb8f9-6d39-452f-816d-c709b9cbb87d', - 'description': 'Name ADIOD vPE Description The provider edge function for the ADIOD service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM', - 'name': '2017-388_ADIOD-vPE', + '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', + 'name': '2017-388_PASQUALE-vPE', 'version': '1.0', 'customizationUuid': '280dec31-f16d-488b-9668-4aae55d6648a', 'inputs': { @@ -303,25 +304,25 @@ function generateVNF() { 'vnf_config_template_version': { 'displayName': 'vnf_config_template_version', 'command': 'get_input', - 'inputName': '2017488_adiodvpe0_vnf_config_template_version' + 'inputName': '2017488_pasqualevpe0_vnf_config_template_version' }, 'bandwidth_units': { 'displayName': 'bandwidth_units', 'command': 'get_input', - 'inputName': 'adiodvpe0_bandwidth_units' + 'inputName': 'pasqualevpe0_bandwidth_units' }, - 'bandwidth': {'displayName': 'bandwidth', 'command': 'get_input', 'inputName': 'adiodvpe0_bandwidth'}, - 'AIC_CLLI': {'displayName': 'AIC_CLLI', 'command': 'get_input', 'inputName': '2017488_adiodvpe0_AIC_CLLI'}, - 'ASN': {'displayName': 'ASN', 'command': 'get_input', 'inputName': '2017488_adiodvpe0_ASN'}, + 'bandwidth': {'displayName': 'bandwidth', 'command': 'get_input', 'inputName': 'pasqualevpe0_bandwidth'}, + 'AIC_CLLI': {'displayName': 'AIC_CLLI', 'command': 'get_input', 'inputName': '2017488_pasqualevpe0_AIC_CLLI'}, + 'ASN': {'displayName': 'ASN', 'command': 'get_input', 'inputName': '2017488_pasqualevpe0_ASN'}, 'vnf_instance_name': { 'displayName': 'vnf_instance_name', 'command': 'get_input', - 'inputName': '2017488_adiodvpe0_vnf_instance_name' + 'inputName': '2017488_pasqualevpe0_vnf_instance_name' } }, 'properties': { 'vmxvre_retype': 'RE-VMX', - 'vnf_config_template_version': 'get_input:2017488_adiodvpe0_vnf_config_template_version', + 'vnf_config_template_version': 'get_input:2017488_pasqualevpe0_vnf_config_template_version', 'sriov44_net_id': '48d399b3-11ee-48a8-94d2-f0ea94d6be8d', 'int_ctl_net_id': '2f323477-6936-4d01-ac53-d849430281d9', 'vmxvpfe_sriov41_0_port_mac': '00:11:22:EF:AC:DF', @@ -365,7 +366,7 @@ function generateVNF() { 'nf_function': 'JAI', 'vmxvpfe_sriov43_0_port_unknownmulticastallow': 'true', 'vmxvre_int_ctl_ip_0': '10.0.0.10', - 'AIC_CLLI': 'get_input:2017488_adiodvpe0_AIC_CLLI', + 'AIC_CLLI': 'get_input:2017488_pasqualevpe0_AIC_CLLI', 'vnf_name': 'mtnj309me6vre', 'vmxvpfe_sriov41_0_port_unknownunicastallow': 'true', 'vmxvre_volume_type_1': 'HITACHI', @@ -373,14 +374,14 @@ function generateVNF() { 'vmxvre_volume_type_0': 'HITACHI', 'vmxvpfe_volume_type_0': 'HITACHI', 'vmxvpfe_sriov43_0_port_broadcastallow': 'true', - 'bandwidth_units': 'get_input:adiodvpe0_bandwidth_units', + 'bandwidth_units': 'get_input:pasqualevpe0_bandwidth_units', 'vnf_id': '123', 'vmxvre_oam_prefix': '24', 'availability_zone_0': 'mtpocfo-kvm-az01', - 'ASN': 'get_input:2017488_adiodvpe0_ASN', + 'ASN': 'get_input:2017488_pasqualevpe0_ASN', 'vmxvre_chassis_i2cid': '161', 'vmxvpfe_name_0': 'vPFEXI', - 'bandwidth': 'get_input:adiodvpe0_bandwidth', + 'bandwidth': 'get_input:pasqualevpe0_bandwidth', 'availability_zone_max_count': '1', 'vmxvre_volume_size_0': '45.0', 'vmxvre_volume_size_1': '50.0', @@ -390,7 +391,7 @@ function generateVNF() { 'vmxvre_ore_present': '0', 'vmxvre_volume_name_0': 'vREXI_FBVolume', 'vmxvre_type': '0', - 'vnf_instance_name': 'get_input:2017488_adiodvpe0_vnf_instance_name', + 'vnf_instance_name': 'get_input:2017488_pasqualevpe0_vnf_instance_name', 'vmxvpfe_sriov41_0_port_unknownmulticastallow': 'true', 'oam_net_id': 'b95eeb1d-d55d-4827-abb4-8ebb94941429', 'vmx_int_ctl_len': '24', @@ -404,7 +405,7 @@ function generateVNF() { 'vmxvpfe_flavor_name': 'ns.c20r16d25.v5' }, 'type': 'VF', - 'modelCustomizationName': '2017-388_ADIOD-vPE 1', + 'modelCustomizationName': '2017-388_PASQUALE-vPE 1', 'vfModules': {}, 'volumeGroups': {} }; diff --git a/vid-webpack-master/src/app/shared/services/featureFlag/feature-flags.service.ts b/vid-webpack-master/src/app/shared/services/featureFlag/feature-flags.service.ts index ec7bb0214..01ecb2cdf 100644 --- a/vid-webpack-master/src/app/shared/services/featureFlag/feature-flags.service.ts +++ b/vid-webpack-master/src/app/shared/services/featureFlag/feature-flags.service.ts @@ -9,6 +9,7 @@ export enum Features { FLAG_VF_MODULE_RESUME_STATUS_CREATE = 'FLAG_VF_MODULE_RESUME_STATUS_CREATE', DRAG_AND_DROP_OPERATION = 'DRAG_AND_DROP_OPERATION', FLAG_1906_COMPONENT_INFO = 'FLAG_1906_COMPONENT_INFO', + FLAG_1908_RESUME_MACRO_SERVICE = 'FLAG_1908_RESUME_MACRO_SERVICE' } @Injectable() diff --git a/vid-webpack-master/src/app/shared/shared.module.ts b/vid-webpack-master/src/app/shared/shared.module.ts index 57af070c1..93452256b 100644 --- a/vid-webpack-master/src/app/shared/shared.module.ts +++ b/vid-webpack-master/src/app/shared/shared.module.ts @@ -59,9 +59,9 @@ import {AuditInfoModalComponent} from "./components/auditInfoModal/auditInfoModa import {BootstrapModalModule} from 'ng2-bootstrap-modal'; import {DataTableModule} from "angular2-datatable"; import {AuditInfoModalComponentService} from "./components/auditInfoModal/auditInfoModal.component.service"; -import {SearchMembersModalComponent} from "./components/searchMembersModal/search-members-modal.component"; -import {MembersTableComponent} from "./components/searchMembersModal/members-table/members-table.component"; -import {MembersTableService} from "./components/searchMembersModal/members-table/members-table.service"; +import {SearchElementsModalComponent} from "./components/searchMembersModal/search-elements-modal.component"; +import {ElementsTableComponent} from "./components/searchMembersModal/members-table/elements-table.component"; +import {ElementsTableService} from "./components/searchMembersModal/members-table/elements-table.service"; import {ObjectToArrayPipe} from "./pipes/objectToArray/objectToArray.pipe"; import {DataFilterPipe} from "./pipes/dataFilter/data-filter.pipe"; import {SvgComponent} from "./components/svg/svg-component"; @@ -115,11 +115,11 @@ import {ModelInformationService} from "./components/model-information/model-info InputFormControlComponent, FormControlMessageErrorComponent, GenericFormPopupComponent, - SearchMembersModalComponent, + SearchElementsModalComponent, AuditInfoModalComponent, GenericFormComponent, CheckboxFormControlComponent, - MembersTableComponent, + ElementsTableComponent, SvgComponent, ErrorMsgComponent, DynamicInputsComponent, @@ -146,11 +146,11 @@ import {ModelInformationService} from "./components/model-information/model-info InputFormControlComponent, FormControlMessageErrorComponent, GenericFormPopupComponent, - SearchMembersModalComponent, + SearchElementsModalComponent, AuditInfoModalComponent, GenericFormComponent, CheckboxFormControlComponent, - MembersTableComponent, + ElementsTableComponent, ErrorMsgComponent, SvgComponent, DynamicInputsComponent, @@ -158,7 +158,7 @@ import {ModelInformationService} from "./components/model-information/model-info ], entryComponents : [ GenericFormPopupComponent, - SearchMembersModalComponent + SearchElementsModalComponent ], providers: [ ServiceInfoService, @@ -190,7 +190,7 @@ import {ModelInformationService} from "./components/model-information/model-info VnfPopupService, AuditInfoModalComponentService, VnfPopupService, - MembersTableService, + ElementsTableService, ErrorMsgService, DataFilterPipe, ModelInformationService, diff --git a/vid-webpack-master/src/app/shared/storeUtil/utils/cr/cr.actions.ts b/vid-webpack-master/src/app/shared/storeUtil/utils/cr/cr.actions.ts new file mode 100644 index 000000000..428a309d7 --- /dev/null +++ b/vid-webpack-master/src/app/shared/storeUtil/utils/cr/cr.actions.ts @@ -0,0 +1,21 @@ +import {Action, ActionCreator} from "redux"; +import {ActionOnFirstLevel} from "../firstLevel/firstLevel.actions"; + +export enum CrActions{ + DELETE_ACTION_CR_INSTANCE = "DELETE_ACTION_CR_INSTANCE", + UNDO_DELETE_ACTION_CR_INSTANCE = "UNDO_DELETE_ACTION_CR_INSTANCE" +} + +export const deleteActionCrInstance: ActionCreator<ActionOnFirstLevel> = (collectionResourceStoreKey, serviceId) => ({ + type: CrActions.DELETE_ACTION_CR_INSTANCE, + firstLevelName: 'collectionResources', + storeKey: collectionResourceStoreKey, + serviceId: serviceId +}); + +export const undoDeleteActionCrInstance: ActionCreator<ActionOnFirstLevel> = (collectionResourceStoreKey, serviceId) => ({ + type: CrActions.UNDO_DELETE_ACTION_CR_INSTANCE, + firstLevelName: 'collectionResources', + storeKey: collectionResourceStoreKey, + serviceId: serviceId +}); diff --git a/vid-webpack-master/src/app/shared/storeUtil/utils/cr/cr.reducer.spec.ts b/vid-webpack-master/src/app/shared/storeUtil/utils/cr/cr.reducer.spec.ts new file mode 100644 index 000000000..e457cf9dc --- /dev/null +++ b/vid-webpack-master/src/app/shared/storeUtil/utils/cr/cr.reducer.spec.ts @@ -0,0 +1,56 @@ + +import {ServiceInstanceActions} from "../../../models/serviceInstanceActions"; +import { crReducer} from "./cr.reducer"; +import {ActionOnFirstLevel} from "../firstLevel/firstLevel.actions"; +import {CrActions} from "./cr.actions"; +describe('crReducer', () => { + + test('#DELETE_ACTION_CR_INSTANCE', () => { + let crState = crReducer(<any>{ + serviceInstance: { + 'serviceModelId': { + collectionResources: { + 'crStoreKey': { + isMissingData: true, + action: 'None' + } + } + } + } + }, + <ActionOnFirstLevel>{ + type: CrActions.DELETE_ACTION_CR_INSTANCE, + storeKey: 'crStoreKey', + firstLevelName: 'collectionResources', + serviceId: 'serviceModelId' + }).serviceInstance['serviceModelId']['collectionResources']['crStoreKey']; + + expect(crState).toBeDefined(); + expect(crState.action).toEqual(ServiceInstanceActions.None_Delete); + }); + + test('#UNDO_DELETE_ACTION_CR_INSTANCE', () => { + let crState = crReducer(<any>{ + serviceInstance: { + 'serviceModelId': { + collectionResources: { + 'crStoreKey': { + isMissingData: true, + action: 'Update_Delete' + } + } + } + } + }, + <ActionOnFirstLevel>{ + type: CrActions.UNDO_DELETE_ACTION_CR_INSTANCE, + storeKey: 'crStoreKey', + firstLevelName: 'collectionResources', + serviceId: 'serviceModelId' + }).serviceInstance['serviceModelId']['collectionResources']['crStoreKey']; + + expect(crState).toBeDefined(); + expect(crState.action).toEqual(ServiceInstanceActions.Update); + }); + +}); diff --git a/vid-webpack-master/src/app/shared/storeUtil/utils/cr/cr.reducer.ts b/vid-webpack-master/src/app/shared/storeUtil/utils/cr/cr.reducer.ts new file mode 100644 index 000000000..72894e6f0 --- /dev/null +++ b/vid-webpack-master/src/app/shared/storeUtil/utils/cr/cr.reducer.ts @@ -0,0 +1,23 @@ +import {ServiceState} from "../main.reducer"; +import {Action} from "redux"; +import * as _ from "lodash"; +import {ServiceInstanceActions} from "../../../models/serviceInstanceActions"; +import {CrActions} from "./cr.actions"; +import {ActionOnFirstLevel} from "../firstLevel/firstLevel.actions"; +import {deleteFirstLevel} from "../reducersHelper"; + +export function crReducer(state: ServiceState, action: Action): ServiceState { + switch (action.type) { + case CrActions.DELETE_ACTION_CR_INSTANCE : { + return deleteFirstLevel(state, <ActionOnFirstLevel>action, false); + } + + case CrActions.UNDO_DELETE_ACTION_CR_INSTANCE : { + let newState = _.cloneDeep(state); + let vnf = newState.serviceInstance[(<ActionOnFirstLevel>action).serviceId]['collectionResources'][(<ActionOnFirstLevel>action).storeKey]; + let oldState = vnf.action; + newState.serviceInstance[(<ActionOnFirstLevel>action).serviceId]['collectionResources'][(<ActionOnFirstLevel>action).storeKey].action = (oldState.split('_')[0]) as ServiceInstanceActions; + return newState; + } + } + } diff --git a/vid-webpack-master/src/app/shared/storeUtil/utils/firstLevel/firstLevel.actions.ts b/vid-webpack-master/src/app/shared/storeUtil/utils/firstLevel/firstLevel.actions.ts new file mode 100644 index 000000000..a4ca9ffdb --- /dev/null +++ b/vid-webpack-master/src/app/shared/storeUtil/utils/firstLevel/firstLevel.actions.ts @@ -0,0 +1,8 @@ +import {Action} from "redux"; + +export interface ActionOnFirstLevel extends Action { + type: string; + firstLevelName: string; + storeKey : string; + serviceId? : string; +} diff --git a/vid-webpack-master/src/app/shared/storeUtil/utils/general/general.reducers.ts b/vid-webpack-master/src/app/shared/storeUtil/utils/general/general.reducers.ts index 8ee47331f..5b265dbfd 100644 --- a/vid-webpack-master/src/app/shared/storeUtil/utils/general/general.reducers.ts +++ b/vid-webpack-master/src/app/shared/storeUtil/utils/general/general.reducers.ts @@ -12,6 +12,7 @@ import * as _ from "lodash"; import {ITreeNode} from "angular-tree-component/dist/defs/api"; import {ServiceInstance} from "../../../models/serviceInstance"; import {ServiceState} from "../main.reducer"; +import {updateServiceValidationCounter} from "../reducersHelper"; export function generalReducer(state: ServiceState, action: Action) : ServiceState { switch (action.type) { @@ -90,6 +91,8 @@ export function generalReducer(state: ServiceState, action: Action) : ServiceSta newState.serviceInstance[serviceId][typeNodeInformation.hierarchyName] = Object.assign({}, newState.serviceInstance[serviceId][typeNodeInformation.hierarchyName], objects); return newState; } + + } } @@ -135,13 +138,6 @@ const updateIsMissingDataOnDeleteVFModule = (state: any, serviceModelId: string, }); }; -const updateServiceValidationCounter = (newState: any, oldValidationState: boolean, newValidationState: boolean, serviceUuid: string) => { - if (oldValidationState && !newValidationState) { - newState.serviceInstance[serviceUuid].validationCounter--; - } else if (!oldValidationState && newValidationState) { - newState.serviceInstance[serviceUuid].validationCounter++; - } -}; diff --git a/vid-webpack-master/src/app/shared/storeUtil/utils/global/global.actions.ts b/vid-webpack-master/src/app/shared/storeUtil/utils/global/global.actions.ts index 609ec69f4..4af0243e6 100644 --- a/vid-webpack-master/src/app/shared/storeUtil/utils/global/global.actions.ts +++ b/vid-webpack-master/src/app/shared/storeUtil/utils/global/global.actions.ts @@ -3,7 +3,15 @@ import {Action, ActionCreator} from "redux"; export enum GlobalActions { UPDATE_NAME = 'UPDATE_NAME', UPDATE_FLAGS = 'UPDATE_FLAGS', - UPDATE_DRAWING_BOARD_STATUS = 'UPDATE_DRAWING_BOARD_STATUS' + UPDATE_DRAWING_BOARD_STATUS = 'UPDATE_DRAWING_BOARD_STATUS', + UPDATE_GENERIC_MODAL_CRITERIA = 'UPDATE_GENERIC_MODAL_CRITERIA', + UPDATE_GENERIC_MODAL_HELPER = 'UPDATE_GENERIC_MODAL_HELPER', + DELETE_GENERIC_MODAL_HELPER = 'DELETE_GENERIC_MODAL_HELPER', + CLEAR_ALL_GENERIC_MODAL_HELPER = 'CLEAR_ALL_GENERIC_MODAL_HELPER', + UPDATE_GENERIC_MODAL_TABLE_DATA_HELPER = 'UPDATE_GENERIC_MODAL_TABLE_DATA_HELPER', + DELETE_GENERIC_MODAL_TABLE_DATA_HELPER = 'DELETE_GENERIC_MODAL_TABLE_DATA_HELPER', + UPDATE_GENERIC_CURRNT_VRF_HELPER = 'UPDATE_GENERIC_CURRNT_VRF_HELPER', + DELETE_GENERIC_CURRNT_VRF_HELPER = 'DELETE_GENERIC_CURRNT_VRF_HELPER' } export interface UpdateGlobalAction extends Action { @@ -18,6 +26,33 @@ export interface UpdateDrawingBoardStatusAction extends Action{ drawingBoardStatus?: any; } +export interface UpdateGenericModalCriteria extends Action { + field: any; + values: any; +} + +export interface UpdateGenericModalTableDataHelper extends Action { + field: any; + values: any; +} +export interface UpdateGenericModalHelper extends Action { + field: any; + values: any; + uniqObjectField : string; +} + +export interface DeleteGenericModalHelper extends Action { + field: any; + uniqObjectField : string; +} + +export interface DeleteGenericModalTabelDataHelper extends Action { + field: any; +} + + +export interface ClearGenericModalHelper extends Action {} + export const updateName: ActionCreator<UpdateGlobalAction> = (name) => ({ type: GlobalActions.UPDATE_NAME, @@ -35,3 +70,39 @@ export const updateDrawingBoardStatus: ActionCreator<UpdateDrawingBoardStatusAct type: GlobalActions.UPDATE_DRAWING_BOARD_STATUS, drawingBoardStatus: drawingBoardStatus }); + + +export const updateGenericModalCriteria: ActionCreator<UpdateGenericModalCriteria> = (field, values) => ({ + type : GlobalActions.UPDATE_GENERIC_MODAL_CRITERIA, + field: field, + values: values +}); + +export const updateGenericModalhelper: ActionCreator<UpdateGenericModalHelper> = (field, values, uniqObjectField) => ({ + type : GlobalActions.UPDATE_GENERIC_MODAL_HELPER, + field: field, + values: values, + uniqObjectField : uniqObjectField +}); + +export const deleteGenericModalhelper: ActionCreator<DeleteGenericModalHelper> = (field, uniqObjectField) => ({ + type : GlobalActions.DELETE_GENERIC_MODAL_HELPER, + field: field, + uniqObjectField : uniqObjectField +}); + + +export const updateGenericModalTableDataHelper: ActionCreator<UpdateGenericModalTableDataHelper> = (field, values) => ({ + type : GlobalActions.UPDATE_GENERIC_MODAL_TABLE_DATA_HELPER, + field: field, + values: values, +}); + +export const deleteGenericModalTableDataHelper: ActionCreator<DeleteGenericModalTabelDataHelper> = (field) => ({ + type : GlobalActions.DELETE_GENERIC_MODAL_TABLE_DATA_HELPER, + field: field, +}); + +export const clearAllGenericModalhelper: ActionCreator<ClearGenericModalHelper> = (field, uniqObjectField) => ({ + type : GlobalActions.CLEAR_ALL_GENERIC_MODAL_HELPER +}); diff --git a/vid-webpack-master/src/app/shared/storeUtil/utils/global/global.reducers.spec.ts b/vid-webpack-master/src/app/shared/storeUtil/utils/global/global.reducers.spec.ts index 4fc80863a..c8aecdd57 100644 --- a/vid-webpack-master/src/app/shared/storeUtil/utils/global/global.reducers.spec.ts +++ b/vid-webpack-master/src/app/shared/storeUtil/utils/global/global.reducers.spec.ts @@ -1,4 +1,14 @@ -import {GlobalActions, UpdateFlagsAction, UpdateGlobalAction, UpdateDrawingBoardStatusAction} from "./global.actions"; +import { + GlobalActions, + UpdateFlagsAction, + UpdateGlobalAction, + UpdateDrawingBoardStatusAction, + UpdateGenericModalCriteria, + UpdateGenericModalHelper, + DeleteGenericModalHelper, + ClearGenericModalHelper, + UpdateGenericModalTableDataHelper +} from "./global.actions"; import {globalReducer} from "./global.reducers"; @@ -42,6 +52,96 @@ describe('globalReducer', () => { expect(globalDrawingBoardState).toBeDefined(); expect(globalDrawingBoardState.drawingBoardStatus).toEqual(drawingBoardStatus); }); + + test('#UPDATE_GENERIC_MODAL_CRITERIA : should update updateGenericModalCriteria object', ()=> { + const values = ["value1", "value2"]; + const fieldName = "someFieldName"; + let globalDrawingBoardState = globalReducer(<any>{global : {},genericModalCriteria : {}}, + <UpdateGenericModalCriteria>{ + type: GlobalActions.UPDATE_GENERIC_MODAL_CRITERIA, + field : fieldName, + values : values + }); + expect(globalDrawingBoardState).toBeDefined(); + expect(globalDrawingBoardState.genericModalCriteria[fieldName]).toEqual(values); + }); + + test('#UPDATE_GENERIC_MODAL_HELPER : should update updateGenericModalHelper object', ()=> { + const uniqObjectField = "uniqObjectField"; + const values = {name : "value1", uniqObjectField: uniqObjectField}; + const fieldName = "someFieldName"; + + let globalDrawingBoardState = globalReducer(<any>{global : {},genericModalHelper : {}}, + <UpdateGenericModalHelper>{ + type: GlobalActions.UPDATE_GENERIC_MODAL_HELPER, + field : fieldName, + values : values, + uniqObjectField : uniqObjectField + }); + expect(globalDrawingBoardState).toBeDefined(); + expect(globalDrawingBoardState.genericModalHelper[fieldName][uniqObjectField]).toEqual({"name": "value1", "uniqObjectField": "uniqObjectField"}); + }); + + test('#DELETE_GENERIC_MODAL_HELPER : should delete exist ', ()=> { + const uniqObjectField = "uniqObjectField"; + const fieldName = "someFieldName"; + + let globalDrawingBoardState = globalReducer(<any>{global : {},genericModalHelper : { + "someFieldName" : { + "uniqObjectField" : true + } + }}, + <DeleteGenericModalHelper>{ + type: GlobalActions.DELETE_GENERIC_MODAL_HELPER, + field : fieldName, + uniqObjectField : uniqObjectField + }); + expect(globalDrawingBoardState).toBeDefined(); + expect(globalDrawingBoardState.genericModalHelper[fieldName][uniqObjectField]).toBeUndefined(); + }); + + test('#CLEAR_ALL_GENERIC_MODAL_HELPER : should clear generic modal object', ()=> { + + let globalDrawingBoardState = globalReducer(<any>{global : {},genericModalHelper : { + "someFieldName" : { + "uniqObjectField" : true + } + }}, + <ClearGenericModalHelper>{ + type: GlobalActions.CLEAR_ALL_GENERIC_MODAL_HELPER + }); + expect(globalDrawingBoardState.genericModalHelper).toEqual({}); + }); + + test('#UPDATE_GENERIC_MODAL_TABLE_DATA_HELPER : should update table data with some values', ()=> { + const keyName: string = 'VPN_DATA'; + const someValue: string = 'SOME_VALUE'; + + let globalDrawingBoardState = globalReducer(<any>{global : {},genericModalHelper : { + + }}, + <UpdateGenericModalTableDataHelper>{ + type: GlobalActions.UPDATE_GENERIC_MODAL_TABLE_DATA_HELPER, + field : keyName, + values : someValue + }); + expect(globalDrawingBoardState.genericModalHelper[keyName]).toEqual(someValue); + }); + + test('#DELETE_GENERIC_MODAL_TABLE_DATA_HELPER : should delete table data', ()=> { + const keyName: string = 'VPN_DATA'; + const someValue: string = 'SOME_VALUE'; + + let globalDrawingBoardState = globalReducer(<any>{global : {},genericModalHelper : { + [keyName] : someValue + }}, + <UpdateGenericModalTableDataHelper>{ + type: GlobalActions.DELETE_GENERIC_MODAL_TABLE_DATA_HELPER, + field : keyName + }); + expect(globalDrawingBoardState.genericModalHelper[keyName]).toBeUndefined(); + }); + }); diff --git a/vid-webpack-master/src/app/shared/storeUtil/utils/global/global.reducers.ts b/vid-webpack-master/src/app/shared/storeUtil/utils/global/global.reducers.ts index f9e083414..aedcce24b 100644 --- a/vid-webpack-master/src/app/shared/storeUtil/utils/global/global.reducers.ts +++ b/vid-webpack-master/src/app/shared/storeUtil/utils/global/global.reducers.ts @@ -1,16 +1,34 @@ import {Action} from 'redux'; -import {GlobalActions, UpdateFlagsAction, UpdateGlobalAction, UpdateDrawingBoardStatusAction} from "./global.actions"; +import { + GlobalActions, + UpdateFlagsAction, + UpdateGlobalAction, + UpdateDrawingBoardStatusAction, + UpdateGenericModalCriteria, + UpdateGenericModalHelper, + DeleteGenericModalHelper, + DeleteGenericModalTabelDataHelper, + UpdateGenericModalTableDataHelper +} from "./global.actions"; +import * as _ from "lodash"; export interface GlobalState { name : string; flags : { [key: string]: boolean }; drawingBoardStatus : string; + genericModalCriteria : { [key: string]: any }; + genericModalHelper : { [key: string]: any }; + } const initialState: GlobalState = { name : null, flags : null, - drawingBoardStatus : null + drawingBoardStatus : null, + genericModalCriteria : { + roles : [] + }, + genericModalHelper : {} }; export const globalReducer = @@ -23,6 +41,46 @@ export const globalReducer = return Object.assign({}, state); case GlobalActions.UPDATE_DRAWING_BOARD_STATUS: return Object.assign(state, state, (<UpdateDrawingBoardStatusAction>action)); + case GlobalActions.UPDATE_GENERIC_MODAL_CRITERIA : { + const updateGenericModalCriteria = <UpdateGenericModalCriteria>action; + let newState = _.cloneDeep(state); + if(_.isNil(newState.genericModalCriteria)){ + newState.genericModalCriteria = {}; + } + newState.genericModalCriteria[updateGenericModalCriteria.field] = updateGenericModalCriteria.values; + return newState; + } + case GlobalActions.UPDATE_GENERIC_MODAL_HELPER : { + const updateGenericModalHelper= <UpdateGenericModalHelper>action; + let newState = _.cloneDeep(state); + if(_.isNil(newState.genericModalHelper) ){newState.genericModalHelper = {}; } + if(_.isNil(newState.genericModalHelper[updateGenericModalHelper.field])){ + newState.genericModalHelper[updateGenericModalHelper.field] = {}; + } + newState.genericModalHelper[updateGenericModalHelper.field][updateGenericModalHelper.values[updateGenericModalHelper.uniqObjectField]] = updateGenericModalHelper.values; + return newState; + } + case GlobalActions.DELETE_GENERIC_MODAL_HELPER : { + const deleteGenericModalHelper= <DeleteGenericModalHelper>action; + let newState = _.cloneDeep(state); + delete newState.genericModalHelper[deleteGenericModalHelper.field][deleteGenericModalHelper.uniqObjectField]; + return newState; + } + case GlobalActions.CLEAR_ALL_GENERIC_MODAL_HELPER : { + let newState = _.cloneDeep(state); + newState.genericModalHelper = {}; + return newState; + } + case GlobalActions.DELETE_GENERIC_MODAL_TABLE_DATA_HELPER : { + let newState = _.cloneDeep(state); + delete newState.genericModalHelper[(<DeleteGenericModalTabelDataHelper>action).field]; + return newState; + } + case GlobalActions.UPDATE_GENERIC_MODAL_TABLE_DATA_HELPER : { + let newState = _.cloneDeep(state); + newState.genericModalHelper[(<UpdateGenericModalTableDataHelper>action).field] = (<UpdateGenericModalTableDataHelper>action).values ; + return newState; + } default: return state; } diff --git a/vid-webpack-master/src/app/shared/storeUtil/utils/main.reducer.ts b/vid-webpack-master/src/app/shared/storeUtil/utils/main.reducer.ts index 2166c81a0..c02049eb9 100644 --- a/vid-webpack-master/src/app/shared/storeUtil/utils/main.reducer.ts +++ b/vid-webpack-master/src/app/shared/storeUtil/utils/main.reducer.ts @@ -18,6 +18,12 @@ import {VnfGroupActions} from "./vnfGroup/vnfGroup.actions"; import {vnfGroupReducer} from "./vnfGroup/vnfGroup.reducers"; import {RelatedVnfActions} from "./relatedVnfMember/relatedVnfMember.actions"; import {relatedVnfMemeberReducer} from "./relatedVnfMember/relatedVnfMember.reducers"; +import {VrfActions} from "./vrf/vrf.actions"; +import {vrfReducer} from "./vrf/vrf.reducer"; +import {CrActions} from "./cr/cr.actions"; +import {crReducer} from "./cr/cr.reducer"; +import {NcfActions} from "./ncf/ncf.actions"; +import {ncfReducer} from "./ncf/ncf.reducer"; export let initialState: ServiceState = { serviceHierarchy: {}, @@ -27,7 +33,8 @@ export let initialState: ServiceState = { productFamilies: null, serviceTypes: {}, aicZones: null, - categoryParameters: new CategoryParams() + categoryParameters: new CategoryParams(), + genericModalCriteria : {} }; @@ -40,6 +47,7 @@ export interface ServiceState { serviceTypes: { [subscriberId: string]: ServiceType[]; }; aicZones: SelectOptionInterface[]; categoryParameters: CategoryParams; + genericModalCriteria : { [field: string]: any; } } export const MainReducer = function (state: ServiceState = initialState, action: Action): ServiceState { @@ -58,6 +66,12 @@ export const MainReducer = function (state: ServiceState = initialState, action: return vnfGroupReducer(state, action); }else if(Object.values(RelatedVnfActions).includes(action.type)){ return relatedVnfMemeberReducer(state, action); + }else if(Object.values(VrfActions).includes(action.type)) { + return vrfReducer(state, action); + }else if(Object.values(CrActions).includes(action.type)){ + return crReducer(state, action); + }else if(Object.values(NcfActions).includes(action.type)){ + return ncfReducer(state, action); } else { return Object.assign({}, state); } diff --git a/vid-webpack-master/src/app/shared/storeUtil/utils/ncf/ncf.actions.ts b/vid-webpack-master/src/app/shared/storeUtil/utils/ncf/ncf.actions.ts new file mode 100644 index 000000000..00b5d9f02 --- /dev/null +++ b/vid-webpack-master/src/app/shared/storeUtil/utils/ncf/ncf.actions.ts @@ -0,0 +1,33 @@ +import {Action, ActionCreator} from "redux"; + +export enum NcfActions{ + DELETE_ACTION_NCF_INSTANCE = "DELETE_ACTION_NCF_INSTANCE", + UNDO_DELETE_ACTION_NCF_INSTANCE = "UNDO_DELETE_ACTION_NCF_INSTANCE" + +} +export interface DeleteActionNcfInstanceAction extends Action { + collectionResourceStoreKey: string, + ncfStoreKey : string; + serviceId : string; +} + +export interface UndoDeleteActionNcfInstanceAction extends Action { + collectionResourceStoreKey: string, + ncfStoreKey: string; + serviceId?: string; +} + + +export const deleteActionNcfInstance: ActionCreator<DeleteActionNcfInstanceAction> = (collectionResourceStoreKey, ncfStoreKey, serviceId) => ({ + type: NcfActions.DELETE_ACTION_NCF_INSTANCE, + collectionResourceStoreKey: collectionResourceStoreKey, + ncfStoreKey: ncfStoreKey, + serviceId: serviceId +}); + +export const undoDeleteActionNcfInstance: ActionCreator<UndoDeleteActionNcfInstanceAction> = (collectionResourceStoreKey, ncfStoreKey, serviceId) => ({ + type: NcfActions.UNDO_DELETE_ACTION_NCF_INSTANCE, + collectionResourceStoreKey: collectionResourceStoreKey, + ncfStoreKey: ncfStoreKey, + serviceId: serviceId +}); diff --git a/vid-webpack-master/src/app/shared/storeUtil/utils/ncf/ncf.reducer.spec.ts b/vid-webpack-master/src/app/shared/storeUtil/utils/ncf/ncf.reducer.spec.ts new file mode 100644 index 000000000..ac7ab7419 --- /dev/null +++ b/vid-webpack-master/src/app/shared/storeUtil/utils/ncf/ncf.reducer.spec.ts @@ -0,0 +1,64 @@ + +import {ServiceInstanceActions} from "../../../models/serviceInstanceActions"; +import {ncfReducer} from "./ncf.reducer"; +import {DeleteActionNcfInstanceAction, NcfActions, UndoDeleteActionNcfInstanceAction} from "./ncf.actions"; +describe('ncfReducer', () => { + + test('#DELETE_ACTION_NCF_INSTANCE', () => { + let ncfState = ncfReducer(<any>{ + serviceInstance: { + 'serviceModelId': { + collectionResources: { + 'collectionResourceStoreKey': { + ncfs: { + 'ncfStoreKey': { + isMissingData: true, + action: 'None' + } + } + } + } + } + } + }, + <DeleteActionNcfInstanceAction>{ + type: NcfActions.DELETE_ACTION_NCF_INSTANCE, + collectionResourceStoreKey: 'collectionResourceStoreKey', + ncfStoreKey: 'ncfStoreKey', + serviceId: 'serviceModelId' + }).serviceInstance['serviceModelId']['collectionResources']['collectionResourceStoreKey']['ncfs']['ncfStoreKey']; + + expect(ncfState).toBeDefined(); + expect(ncfState.action).toEqual(ServiceInstanceActions.None_Delete); + }); + + test('#UNDO_DELETE_ACTION_NCF_INSTANCE', () => { + let ncfState = ncfReducer(<any>{ + serviceInstance: { + 'serviceModelId': { + collectionResources: { + 'collectionResourceStoreKey': { + ncfs: { + 'ncfStoreKey': { + isMissingData: true, + action: 'Update_Delete' + } + } + } + + } + } + } + }, + <UndoDeleteActionNcfInstanceAction>{ + type: NcfActions.UNDO_DELETE_ACTION_NCF_INSTANCE, + collectionResourceStoreKey: 'collectionResourceStoreKey', + ncfStoreKey: 'ncfStoreKey', + serviceId: 'serviceModelId' + }).serviceInstance['serviceModelId']['collectionResources']['collectionResourceStoreKey']['ncfs']['ncfStoreKey']; + + expect(ncfState).toBeDefined(); + expect(ncfState.action).toEqual(ServiceInstanceActions.Update); + }); + +}); diff --git a/vid-webpack-master/src/app/shared/storeUtil/utils/ncf/ncf.reducer.ts b/vid-webpack-master/src/app/shared/storeUtil/utils/ncf/ncf.reducer.ts new file mode 100644 index 000000000..9bb069e0d --- /dev/null +++ b/vid-webpack-master/src/app/shared/storeUtil/utils/ncf/ncf.reducer.ts @@ -0,0 +1,26 @@ +import {ServiceState} from "../main.reducer"; +import {Action} from "redux"; +import * as _ from "lodash"; +import {ServiceInstanceActions} from "../../../models/serviceInstanceActions"; +import {NcfActions, DeleteActionNcfInstanceAction, UndoDeleteActionNcfInstanceAction} from "./ncf.actions"; + +export function ncfReducer(state: ServiceState, action: Action): ServiceState { + switch (action.type) { + case NcfActions.DELETE_ACTION_NCF_INSTANCE : { + let newState = _.cloneDeep(state); + let ncf = newState.serviceInstance[(<DeleteActionNcfInstanceAction>action).serviceId]['collectionResources'][(<DeleteActionNcfInstanceAction>action).collectionResourceStoreKey]['ncfs'][(<DeleteActionNcfInstanceAction>action).ncfStoreKey]; + let oldAction = ncf.action; + if(oldAction === ServiceInstanceActions.None_Delete || oldAction === ServiceInstanceActions.Update_Delete) return newState; + newState.serviceInstance[(<DeleteActionNcfInstanceAction>action).serviceId]['collectionResources'][(<DeleteActionNcfInstanceAction>action).collectionResourceStoreKey]['ncfs'][(<DeleteActionNcfInstanceAction>action).ncfStoreKey].action = (oldAction + '_Delete') as ServiceInstanceActions; + return newState; + } + + case NcfActions.UNDO_DELETE_ACTION_NCF_INSTANCE : { + let newState = _.cloneDeep(state); + let ncf = newState.serviceInstance[(<UndoDeleteActionNcfInstanceAction>action).serviceId]['collectionResources'][(<DeleteActionNcfInstanceAction>action).collectionResourceStoreKey]['ncfs'][(<UndoDeleteActionNcfInstanceAction>action).ncfStoreKey]; + let oldState = ncf.action; + newState.serviceInstance[(<UndoDeleteActionNcfInstanceAction>action).serviceId]['collectionResources'][(<DeleteActionNcfInstanceAction>action).collectionResourceStoreKey]['ncfs'][(<UndoDeleteActionNcfInstanceAction>action).ncfStoreKey].action = (oldState.split('_')[0]) as ServiceInstanceActions; + return newState; + } + } +} diff --git a/vid-webpack-master/src/app/shared/storeUtil/utils/network/network.actions.ts b/vid-webpack-master/src/app/shared/storeUtil/utils/network/network.actions.ts index c90d8eb3d..50bb98ee3 100644 --- a/vid-webpack-master/src/app/shared/storeUtil/utils/network/network.actions.ts +++ b/vid-webpack-master/src/app/shared/storeUtil/utils/network/network.actions.ts @@ -1,5 +1,7 @@ import {Action, ActionCreator} from "redux"; import {NetworkInstance} from "../../../models/networkInstance"; +import {ActionOnFirstLevel} from "../firstLevel/firstLevel.actions"; + export enum NetworkActions { UPDATE_NETWORK_INSTANCE = "UPDATE_NETWORK_INSTANCE", @@ -37,15 +39,7 @@ export interface CreateNetworkInstanceAction extends Action { networkStoreKey?:string; } -export interface DeleteActionNetworkInstanceAction extends Action { - networkStoreKey: string; - serviceId?: string; -} -export interface UndoDeleteActionNetworkInstanceAction extends Action { - networkStoreKey: string; - serviceId?: string; -} export const updateNetworkInstance: ActionCreator<UpdateNetworkInstanceAction> = (networkInstance, networkfModelName, serviceUuid, networkStoreKey) => ({ type: NetworkActions.UPDATE_NETWORK_INSTANCE, @@ -71,15 +65,17 @@ export const createNetworkInstance: ActionCreator<CreateNetworkInstanceAction> = }); -export const deleteActionNetworkInstance: ActionCreator<DeleteActionNetworkInstanceAction> = (networkStoreKey, serviceId) => ({ +export const deleteActionNetworkInstance: ActionCreator<ActionOnFirstLevel> = (networkStoreKey, serviceId) => ({ type: NetworkActions.DELETE_ACTION_NETWORK_INSTANCE, - networkStoreKey: networkStoreKey, + firstLevelName: 'networks', + storeKey: networkStoreKey, serviceId: serviceId }); -export const undoDeleteActionNetworkInstance: ActionCreator<UndoDeleteActionNetworkInstanceAction> = (networkStoreKey, serviceId) => ({ +export const undoDeleteActionNetworkInstance: ActionCreator<ActionOnFirstLevel> = (networkStoreKey, serviceId) => ({ type: NetworkActions.UNDO_DELETE_ACTION_NETWORK_INSTANCE, - networkStoreKey: networkStoreKey, + firstLevelName: 'networks', + storeKey: networkStoreKey, serviceId: serviceId }); diff --git a/vid-webpack-master/src/app/shared/storeUtil/utils/network/network.reducers.spec.ts b/vid-webpack-master/src/app/shared/storeUtil/utils/network/network.reducers.spec.ts index ba41ad6e6..7bf37fa0e 100644 --- a/vid-webpack-master/src/app/shared/storeUtil/utils/network/network.reducers.spec.ts +++ b/vid-webpack-master/src/app/shared/storeUtil/utils/network/network.reducers.spec.ts @@ -1,12 +1,13 @@ import {networkReducer} from "./network.reducers"; import { - CreateNetworkInstanceAction, DeleteActionNetworkInstanceAction, - NetworkActions, UndoDeleteActionNetworkInstanceAction, + CreateNetworkInstanceAction, + NetworkActions, UpdateNetworkCollectionFunction, UpdateNetworkInstanceAction } from "./network.actions"; import {NetworkInstance} from "../../../models/networkInstance"; import {ServiceInstanceActions} from "../../../models/serviceInstanceActions"; +import {ActionOnFirstLevel} from "../firstLevel/firstLevel.actions"; describe('networkReducer', () => { @@ -78,9 +79,10 @@ describe('networkReducer', () => { } } }}, - <DeleteActionNetworkInstanceAction>{ + <ActionOnFirstLevel>{ type: NetworkActions.DELETE_ACTION_NETWORK_INSTANCE, - networkStoreKey: 'networkStoreKey', + firstLevelName: 'networks', + storeKey: 'networkStoreKey', serviceId: 'serviceModelId' }).serviceInstance['serviceModelId'].networks['networkStoreKey']; @@ -99,9 +101,9 @@ describe('networkReducer', () => { } } }}, - <UndoDeleteActionNetworkInstanceAction>{ + <ActionOnFirstLevel>{ type: NetworkActions.UNDO_DELETE_ACTION_NETWORK_INSTANCE, - networkStoreKey: 'networkStoreKey', + storeKey: 'networkStoreKey', serviceId: 'serviceModelId' }).serviceInstance['serviceModelId'].networks['networkStoreKey']; diff --git a/vid-webpack-master/src/app/shared/storeUtil/utils/network/network.reducers.ts b/vid-webpack-master/src/app/shared/storeUtil/utils/network/network.reducers.ts index bcbbea57d..a8154e856 100644 --- a/vid-webpack-master/src/app/shared/storeUtil/utils/network/network.reducers.ts +++ b/vid-webpack-master/src/app/shared/storeUtil/utils/network/network.reducers.ts @@ -2,8 +2,8 @@ import {Action} from "redux"; import * as _ from "lodash"; import {NetworkInstance} from "../../../models/networkInstance"; import { - CreateNetworkInstanceAction, DeleteActionNetworkInstanceAction, - NetworkActions, UndoDeleteActionNetworkInstanceAction, + CreateNetworkInstanceAction, + NetworkActions, UpdateNetworkCollectionFunction, UpdateNetworkInstanceAction } from "./network.actions"; @@ -11,6 +11,8 @@ import {ServiceInstance} from "../../../models/serviceInstance"; import {calculateNextUniqueModelName} from "../vnf/vnf.reducers"; import {ServiceState} from "../main.reducer"; import {ServiceInstanceActions} from "../../../models/serviceInstanceActions"; +import {deleteFirstLevel, updateServiceValidationCounter} from "../reducersHelper"; +import {ActionOnFirstLevel} from "../firstLevel/firstLevel.actions"; export function networkReducer(state: ServiceState , action: Action) : ServiceState { @@ -58,23 +60,18 @@ export function networkReducer(state: ServiceState , action: Action) : ServiceSt Object.assign(state, {'networkFunctions': networkFunctionReduxObj}); return Object.assign({}, state); } + case NetworkActions.DELETE_ACTION_NETWORK_INSTANCE : { - let newState = _.cloneDeep(state); - let network = newState.serviceInstance[(<DeleteActionNetworkInstanceAction>action).serviceId].networks[(<DeleteActionNetworkInstanceAction>action).networkStoreKey]; - let oldAction = network.action; - if(oldAction === ServiceInstanceActions.None_Delete || oldAction === ServiceInstanceActions.Update_Delete) return newState; - newState.serviceInstance[(<DeleteActionNetworkInstanceAction>action).serviceId].networks[(<DeleteActionNetworkInstanceAction>action).networkStoreKey].action = (oldAction + '_Delete') as ServiceInstanceActions; - updateServiceValidationCounter(newState, network['isMissingData'], false , (<DeleteActionNetworkInstanceAction>action).serviceId); + return deleteFirstLevel(state, <ActionOnFirstLevel>action,true); - return newState; } case NetworkActions.UNDO_DELETE_ACTION_NETWORK_INSTANCE : { let newState = _.cloneDeep(state); - let network = newState.serviceInstance[(<UndoDeleteActionNetworkInstanceAction>action).serviceId].networks[(<UndoDeleteActionNetworkInstanceAction>action).networkStoreKey]; + let network = newState.serviceInstance[(<ActionOnFirstLevel>action).serviceId].networks[(<ActionOnFirstLevel>action).storeKey]; let oldState = network.action; - newState.serviceInstance[(<UndoDeleteActionNetworkInstanceAction>action).serviceId].networks[(<UndoDeleteActionNetworkInstanceAction>action).networkStoreKey].action = (oldState.split('_')[0]) as ServiceInstanceActions; - updateServiceValidationCounter(newState, network['isMissingData'], false , (<DeleteActionNetworkInstanceAction>action).serviceId); + newState.serviceInstance[(<ActionOnFirstLevel>action).serviceId].networks[(<ActionOnFirstLevel>action).storeKey].action = (oldState.split('_')[0]) as ServiceInstanceActions; + updateServiceValidationCounter(newState, network['isMissingData'], false , (<ActionOnFirstLevel>action).serviceId); return newState; } } @@ -91,12 +88,5 @@ const updateUniqueNames = (oldName : string, newName : string, serviceInstance : }; -const updateServiceValidationCounter = (newState: any, oldValidationState: boolean, newValidationState: boolean, serviceUuid: string) => { - if (oldValidationState && !newValidationState) { - newState.serviceInstance[serviceUuid].validationCounter--; - } else if (!oldValidationState && newValidationState) { - newState.serviceInstance[serviceUuid].validationCounter++; - } -}; diff --git a/vid-webpack-master/src/app/shared/storeUtil/utils/reducersHelper.ts b/vid-webpack-master/src/app/shared/storeUtil/utils/reducersHelper.ts new file mode 100644 index 000000000..5722811ce --- /dev/null +++ b/vid-webpack-master/src/app/shared/storeUtil/utils/reducersHelper.ts @@ -0,0 +1,25 @@ +import * as _ from "lodash"; +import {ActionOnFirstLevel} from "./firstLevel/firstLevel.actions"; +import {ServiceInstanceActions} from "../../models/serviceInstanceActions"; +import {ServiceState} from "./main.reducer"; + +export function deleteFirstLevel(state: ServiceState, action: ActionOnFirstLevel,shouldUpdateServiceValidationCounter: boolean) +{ + let newState = _.cloneDeep(state); + let firstLevel = newState.serviceInstance[action.serviceId][action.firstLevelName][action.storeKey]; + let oldAction = firstLevel.action; + if(oldAction === ServiceInstanceActions.None_Delete || oldAction === ServiceInstanceActions.Update_Delete) return newState; + if (shouldUpdateServiceValidationCounter){ + updateServiceValidationCounter(newState, firstLevel['isMissingData'], false, action.serviceId); + } + newState.serviceInstance[action.serviceId][action.firstLevelName][action.storeKey].action = (oldAction + '_Delete') as ServiceInstanceActions; + return newState; +} + +export function updateServiceValidationCounter(newState: any, oldValidationState: boolean, newValidationState: boolean, serviceUuid: string) { + if (oldValidationState && !newValidationState) { + newState.serviceInstance[serviceUuid].validationCounter--; + } else if (!oldValidationState && newValidationState) { + newState.serviceInstance[serviceUuid].validationCounter++; + } +}; diff --git a/vid-webpack-master/src/app/shared/storeUtil/utils/relatedVnfMember/relatedVnfMember.reducers.spec.ts b/vid-webpack-master/src/app/shared/storeUtil/utils/relatedVnfMember/relatedVnfMember.reducers.spec.ts index 347957480..30ad016f7 100644 --- a/vid-webpack-master/src/app/shared/storeUtil/utils/relatedVnfMember/relatedVnfMember.reducers.spec.ts +++ b/vid-webpack-master/src/app/shared/storeUtil/utils/relatedVnfMember/relatedVnfMember.reducers.spec.ts @@ -105,7 +105,7 @@ describe('relatedVnfMemberReducer', () => { "instanceId":"VNF1_INSTANCE_ID", "orchStatus":null, "productFamilyId":null, - "lcpCloudRegionId":"mtn23b", + "lcpCloudRegionId":"hvf23b", "tenantId":"3e9a20a3e89e45f884e09df0cc2d2d2a", "tenantName":"APPC-24595-T-IST-02C", "modelInfo":{ diff --git a/vid-webpack-master/src/app/shared/storeUtil/utils/service/service.reducers.spec.ts b/vid-webpack-master/src/app/shared/storeUtil/utils/service/service.reducers.spec.ts index 05fc008ad..cff944563 100644 --- a/vid-webpack-master/src/app/shared/storeUtil/utils/service/service.reducers.spec.ts +++ b/vid-webpack-master/src/app/shared/storeUtil/utils/service/service.reducers.spec.ts @@ -1,13 +1,16 @@ import {ServiceInstance} from "../../../models/serviceInstance"; import { - AddServiceAction, ChangeServiceDirty, + AddServiceAction, + ChangeServiceDirty, + CreateServiceInstanceAction, DeleteServiceInstanceAction, ServiceActions, - CreateServiceInstanceAction, - UpdateServiceModelAction, UpdateServiceInstanceAction + UpdateServiceInstanceAction, + UpdateServiceModelAction } from "./service.actions"; import {serviceReducer} from "./service.reducers"; import {ServiceInstanceActions} from "../../../models/serviceInstanceActions"; +import {VidNotions} from "../../../models/vidNotions"; describe('serviceReducer', () => { @@ -17,32 +20,32 @@ describe('serviceReducer', () => { const elemntThatShouldNotOverideOnUpdateService = { vnfs: { - "2017-388_ADIOD-vPE 0": { + "2017-388_PASQUALE-vPE 0": { "action": "Create", "inMaint": false, "rollbackOnFailure": "true", - "originalName": "2017-388_ADIOD-vPE 0", + "originalName": "2017-388_PASQUALE-vPE 0", "isMissingData": false, "trackById": "eymgwlevh54", "vfModules": {}, - "vnfStoreKey": "2017-388_ADIOD-vPE 0", + "vnfStoreKey": "2017-388_PASQUALE-vPE 0", "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168", "productFamilyId": "e433710f-9217-458d-a79d-1c7aff376d89", - "lcpCloudRegionId": "JANET25", + "lcpCloudRegionId": "AAIAIC25", "tenantId": "092eb9e8e4b7412e8787dd091bc58e86", "lineOfBusiness": "ONAP", "platformName": "platform", "modelInfo": { "modelInvariantId": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", "modelVersionId": "afacccf6-397d-45d6-b5ae-94c39734b168", - "modelName": "2017-388_ADIOD-vPE", + "modelName": "2017-388_PASQUALE-vPE", "modelVersion": "4.0", "modelCustomizationId": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c", - "modelCustomizationName": "2017-388_ADIOD-vPE 0", + "modelCustomizationName": "2017-388_PASQUALE-vPE 0", "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168", "modelUniqueId": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c" }, - "instanceName": "2017-388_ADIOD-vPEAjXzainstanceName", + "instanceName": "2017-388_PASQUALE-vPEAjXzainstanceName", "legacyRegion": "some legacy region", "instanceParams": [ { @@ -55,26 +58,26 @@ describe('serviceReducer', () => { } ] }, - "2017-488_ADIOD-vPE 0": { + "2017-488_PASQUALE-vPE 0": { "action": "Create", "inMaint": false, "rollbackOnFailure": "true", - "originalName": "2017-488_ADIOD-vPE 0", + "originalName": "2017-488_PASQUALE-vPE 0", "isMissingData": false, "trackById": "xr6o2782z7", "vfModules": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0": { - "2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0wmkjw": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0wmkjw": { "isMissingData": true, "sdncPreReload": null, "modelInfo": { "modelType": "VFmodule", "modelInvariantId": "b34833bb-6aa9-4ad6-a831-70b06367a091", "modelVersionId": "f8360508-3f17-4414-a2ed-6bc71161e8db", - "modelName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "modelVersion": "5", "modelCustomizationId": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", - "modelCustomizationName": "2017488AdiodVpe..ADIOD_base_vPE_BV..module-0", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "modelUniqueId": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3" }, "instanceParams": [ @@ -84,24 +87,24 @@ describe('serviceReducer', () => { } } }, - "vnfStoreKey": "2017-488_ADIOD-vPE 0", + "vnfStoreKey": "2017-488_PASQUALE-vPE 0", "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09", "productFamilyId": "e433710f-9217-458d-a79d-1c7aff376d89", - "lcpCloudRegionId": "JANET25", + "lcpCloudRegionId": "AAIAIC25", "tenantId": "092eb9e8e4b7412e8787dd091bc58e86", "lineOfBusiness": "ONAP", "platformName": "platform", "modelInfo": { "modelInvariantId": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", "modelVersionId": "69e09f68-8b63-4cc9-b9ff-860960b5db09", - "modelName": "2017-488_ADIOD-vPE", + "modelName": "2017-488_PASQUALE-vPE", "modelVersion": "5.0", "modelCustomizationId": "1da7b585-5e61-4993-b95e-8e6606c81e45", - "modelCustomizationName": "2017-488_ADIOD-vPE 0", + "modelCustomizationName": "2017-488_PASQUALE-vPE 0", "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09", "modelUniqueId": "1da7b585-5e61-4993-b95e-8e6606c81e45" }, - "instanceName": "2017-488_ADIOD-vPEVNFinstancename", + "instanceName": "2017-488_PASQUALE-vPEVNFinstancename", "legacyRegion": "some legacy region", "instanceParams": [ { @@ -135,14 +138,14 @@ describe('serviceReducer', () => { "vnfs": elemntThatShouldNotOverideOnUpdateService.vnfs, "instanceParams": [ { - "2017488_adiodvpe0_ASN": "AV_vPE" + "2017488_pasqualevpe0_ASN": "AV_vPE" } ], "validationCounter": 1, "existingNames": { "ajxzainstancename": "", - "2017-488_adiod-vpevnfinstancename": "", - "2017-388_adiod-vpeajxzainstancename": "" + "2017-488_pasquale-vpevnfinstancename": "", + "2017-388_pasquale-vpeajxzainstancename": "" }, "existingVNFCounterMap": elemntThatShouldNotOverideOnUpdateService.existingVNFCounterMap, "existingVnfGroupCounterMap": elemntThatShouldNotOverideOnUpdateService.existingVnfGroupCounterMap, @@ -207,7 +210,7 @@ describe('serviceReducer', () => { isALaCarte: false, isEcompGeneratedNaming: false, isMultiStepDesign: false, - lcpCloudRegionId: "JANET25", + lcpCloudRegionId: "AAIAIC25", modelInfo: { modelInvariantId: "e49fbd11-e60c-4a8e-b4bf-30fbe8f4fcc0", modelVersionId: "6b528779-44a3-4472-bdff-9cd15ec93450", @@ -264,8 +267,14 @@ describe('serviceReducer', () => { expect(service.serviceInstance[serviceUuid]['action']).toEqual(actionName); }); - test('#UPDATE_SERVICE_INSTANCE', () => { + test('#CREATE_SERVICE_INSTANCE shall put the instance on state with all its values ', () => { const serviceUuid: string = 'serviceUuid'; + const vidNotions:VidNotions = { + instantiationUI: "some5G", + modelCategory: "5G Provider Network", + viewEditUI: "legacy", + instantiationType: "ALaCarte" + }; let serviceInstanceObject: ServiceInstance = <any>{ isDirty: false, @@ -298,7 +307,17 @@ describe('serviceReducer', () => { action: ServiceInstanceActions.Create }; - let serviceState = serviceReducer(<any>{serviceInstance: {}}, + let serviceState = serviceReducer( + <any>{ + serviceInstance: {}, + serviceHierarchy: { + [serviceUuid]: { + service: { + vidNotions: vidNotions + } + } + } + }, <CreateServiceInstanceAction>{ type: ServiceActions.CREATE_SERVICE_INSTANCE, serviceUuid: serviceUuid, @@ -324,6 +343,7 @@ describe('serviceReducer', () => { expect(serviceState.instanceParams).toEqual(serviceInstanceObject.instanceParams); expect(serviceState.rollbackOnFailure).toEqual(serviceInstanceObject.rollbackOnFailure); expect(serviceState.subscriberName).toEqual(serviceInstanceObject.subscriberName); + expect(serviceState.vidNotions).toEqual(vidNotions); }); diff --git a/vid-webpack-master/src/app/shared/storeUtil/utils/service/service.reducers.ts b/vid-webpack-master/src/app/shared/storeUtil/utils/service/service.reducers.ts index 9d21d359c..c6d3da52a 100644 --- a/vid-webpack-master/src/app/shared/storeUtil/utils/service/service.reducers.ts +++ b/vid-webpack-master/src/app/shared/storeUtil/utils/service/service.reducers.ts @@ -2,9 +2,10 @@ import {Action} from "redux"; import { AddServiceAction, ChangeServiceDirty, - ServiceActions, CreateServiceInstanceAction, - UpdateServiceModelAction, UpdateServiceInstanceAction + ServiceActions, + UpdateServiceInstanceAction, + UpdateServiceModelAction } from "./service.actions"; import {ServiceInstance} from "../../../models/serviceInstance"; import {ServiceState} from "../main.reducer"; @@ -34,6 +35,7 @@ export function serviceReducer(state: ServiceState, action: Action) : ServiceSta const currentInstaceName = state.serviceInstance[uuid] ? serviceInstance.instanceName : null; newState.serviceInstance[uuid] = Object.assign(serviceInstance, updateServiceInstanceAction.serviceInstance); + newState.serviceInstance[uuid].vidNotions = _.get(state,`serviceHierarchy[${uuid}].service.vidNotions`); if (!_.isNil(updateServiceInstanceAction.serviceInstance)) { updateUniqueNames(currentInstaceName, updateServiceInstanceAction.serviceInstance.instanceName, newState.serviceInstance[uuid]); } diff --git a/vid-webpack-master/src/app/shared/storeUtil/utils/vfModule/vfModule.reducers.ts b/vid-webpack-master/src/app/shared/storeUtil/utils/vfModule/vfModule.reducers.ts index f3636ff41..05319c0fb 100644 --- a/vid-webpack-master/src/app/shared/storeUtil/utils/vfModule/vfModule.reducers.ts +++ b/vid-webpack-master/src/app/shared/storeUtil/utils/vfModule/vfModule.reducers.ts @@ -10,6 +10,7 @@ import {ServiceInstance} from "../../../models/serviceInstance"; import {VfModuleMap} from "../../../models/vfModulesMap"; import {ServiceState} from "../main.reducer"; import {ServiceInstanceActions} from "../../../models/serviceInstanceActions"; +import {updateServiceValidationCounter} from "../reducersHelper"; export function vfModuleReducer(state: ServiceState , action: Action) : ServiceState{ @@ -132,13 +133,6 @@ const updateUniqueNames = (oldName : string, newName : string, serviceInstance : } }; -const updateServiceValidationCounter = (newState: any, oldValidationState: boolean, newValidationState: boolean, serviceUuid: string) => { - if (oldValidationState && !newValidationState) { - newState.serviceInstance[serviceUuid].validationCounter--; - } else if (!oldValidationState && newValidationState) { - newState.serviceInstance[serviceUuid].validationCounter++; - } -}; const generateId = () => { return Math.random().toString(36).replace(/[^a-z]+/g, '').substr(0, 5); diff --git a/vid-webpack-master/src/app/shared/storeUtil/utils/vnf/vnf.actions.ts b/vid-webpack-master/src/app/shared/storeUtil/utils/vnf/vnf.actions.ts index b84284490..25179fe2e 100644 --- a/vid-webpack-master/src/app/shared/storeUtil/utils/vnf/vnf.actions.ts +++ b/vid-webpack-master/src/app/shared/storeUtil/utils/vnf/vnf.actions.ts @@ -1,5 +1,6 @@ import {Action, ActionCreator} from "redux"; import {VnfInstance} from "../../../models/vnfInstance"; +import {ActionOnFirstLevel} from "../firstLevel/firstLevel.actions"; export enum VNFActions { CREATE_VNF_INSTANCE = "CREATE_VNF_INSTANCE", @@ -31,18 +32,6 @@ export interface UpdateVnfInstanceAction extends Action { vnfStoreKey?:string; } - - -export interface DeleteActionVnfInstanceAction extends Action { - vnfStoreKey: string; - serviceId?: string; -} - -export interface UndoDeleteActionVnfInstanceAction extends Action { - vnfStoreKey: string; - serviceId?: string; -} - export interface RemoveVnfInstanceAction extends Action { vnfStoreKey: string; serviceId?: string; @@ -66,15 +55,17 @@ export const updateVNFInstance: ActionCreator<UpdateVnfInstanceAction> = (vnfIns }); -export const deleteActionVnfInstance: ActionCreator<DeleteActionVnfInstanceAction> = (vnfStoreKey, serviceId) => ({ +export const deleteActionVnfInstance: ActionCreator<ActionOnFirstLevel> = (vnfStoreKey, serviceId) => ({ type: VNFActions.DELETE_ACTION_VNF_INSTANCE, - vnfStoreKey: vnfStoreKey, + firstLevelName: 'vnfs', + storeKey: vnfStoreKey, serviceId: serviceId }); -export const undoDeleteActionVnfInstance: ActionCreator<UndoDeleteActionVnfInstanceAction> = (vnfStoreKey, serviceId) => ({ +export const undoDeleteActionVnfInstance: ActionCreator<ActionOnFirstLevel> = (vnfStoreKey, serviceId) => ({ type: VNFActions.UNDO_DELETE_ACTION_VNF_INSTANCE, - vnfStoreKey: vnfStoreKey, + firstLevelName: 'vnfs', + storeKey: vnfStoreKey, serviceId: serviceId }); diff --git a/vid-webpack-master/src/app/shared/storeUtil/utils/vnf/vnf.reducers.spec.ts b/vid-webpack-master/src/app/shared/storeUtil/utils/vnf/vnf.reducers.spec.ts index 3241f11d9..a5e37fcab 100644 --- a/vid-webpack-master/src/app/shared/storeUtil/utils/vnf/vnf.reducers.spec.ts +++ b/vid-webpack-master/src/app/shared/storeUtil/utils/vnf/vnf.reducers.spec.ts @@ -1,14 +1,15 @@ import {VnfInstance} from "../../../models/vnfInstance"; import { CreateVnfInstanceAction, - DeleteActionVnfInstanceAction, RemoveVnfInstanceAction, - UndoDeleteActionVnfInstanceAction, UpdateVnfPosition, + RemoveVnfInstanceAction, + UpdateVnfPosition, VNFActions } from "./vnf.actions"; import {vnfReducer} from "./vnf.reducers"; import {ServiceInstanceActions} from "../../../models/serviceInstanceActions"; +import {ActionOnFirstLevel} from "../firstLevel/firstLevel.actions"; -describe('networkReducer', () => { +describe('vnfReducer', () => { test('#UPDATE_VNF_POSITION', () => { let vnfInstance: VnfInstance = new VnfInstance(); vnfInstance.isMissingData = false; @@ -70,9 +71,10 @@ describe('networkReducer', () => { } } }}, - <DeleteActionVnfInstanceAction>{ + <ActionOnFirstLevel>{ type: VNFActions.DELETE_ACTION_VNF_INSTANCE, - vnfStoreKey: 'vnfStoreKey', + firstLevelName: 'vnfs', + storeKey: 'vnfStoreKey', serviceId: 'serviceModelId' }).serviceInstance['serviceModelId'].vnfs['vnfStoreKey']; @@ -91,9 +93,10 @@ describe('networkReducer', () => { } } }}, - <UndoDeleteActionVnfInstanceAction>{ + <ActionOnFirstLevel>{ type: VNFActions.UNDO_DELETE_ACTION_VNF_INSTANCE, - vnfStoreKey: 'vnfStoreKey', + storeKey: 'vnfStoreKey', + firstLevelName: 'vnfs', serviceId: 'serviceModelId' }).serviceInstance['serviceModelId'].vnfs['vnfStoreKey']; diff --git a/vid-webpack-master/src/app/shared/storeUtil/utils/vnf/vnf.reducers.ts b/vid-webpack-master/src/app/shared/storeUtil/utils/vnf/vnf.reducers.ts index cc24d8dc3..072634f2b 100644 --- a/vid-webpack-master/src/app/shared/storeUtil/utils/vnf/vnf.reducers.ts +++ b/vid-webpack-master/src/app/shared/storeUtil/utils/vnf/vnf.reducers.ts @@ -2,7 +2,7 @@ import {Action} from "redux"; import {VnfInstance} from "../../../models/vnfInstance"; import { CreateVnfInstanceAction, - DeleteActionVnfInstanceAction, RemoveVnfInstanceAction, UndoDeleteActionVnfInstanceAction, + RemoveVnfInstanceAction, UpdateVnfInstanceAction, UpdateVnfPosition, VNFActions } from "./vnf.actions"; @@ -10,6 +10,8 @@ import * as _ from "lodash"; import {ServiceInstance} from "../../../models/serviceInstance"; import {ServiceState} from "../main.reducer"; import {ServiceInstanceActions} from "../../../models/serviceInstanceActions"; +import {deleteFirstLevel, updateServiceValidationCounter} from "../reducersHelper"; +import {ActionOnFirstLevel} from "../firstLevel/firstLevel.actions"; export function vnfReducer(state: ServiceState, action: Action): ServiceState { switch (action.type) { @@ -52,21 +54,16 @@ export function vnfReducer(state: ServiceState, action: Action): ServiceState { } case VNFActions.DELETE_ACTION_VNF_INSTANCE : { - let newState = _.cloneDeep(state); - let vnf = newState.serviceInstance[(<DeleteActionVnfInstanceAction>action).serviceId].vnfs[(<DeleteActionVnfInstanceAction>action).vnfStoreKey]; - let oldAction = vnf.action; - if(oldAction === ServiceInstanceActions.None_Delete || oldAction === ServiceInstanceActions.Update_Delete) return newState; - newState.serviceInstance[(<DeleteActionVnfInstanceAction>action).serviceId].vnfs[(<DeleteActionVnfInstanceAction>action).vnfStoreKey].action = (oldAction + '_Delete') as ServiceInstanceActions; - updateServiceValidationCounter(newState, vnf['isMissingData'], false, (<RemoveVnfInstanceAction>action).serviceId); - return newState; + return deleteFirstLevel(state, <ActionOnFirstLevel>action,true); + } case VNFActions.UNDO_DELETE_ACTION_VNF_INSTANCE : { let newState = _.cloneDeep(state); - let vnf = newState.serviceInstance[(<UndoDeleteActionVnfInstanceAction>action).serviceId].vnfs[(<UndoDeleteActionVnfInstanceAction>action).vnfStoreKey]; + let vnf = newState.serviceInstance[(<ActionOnFirstLevel>action).serviceId].vnfs[(<ActionOnFirstLevel>action).storeKey]; let oldState = vnf.action; - newState.serviceInstance[(<UndoDeleteActionVnfInstanceAction>action).serviceId].vnfs[(<UndoDeleteActionVnfInstanceAction>action).vnfStoreKey].action = (oldState.split('_')[0]) as ServiceInstanceActions; - updateServiceValidationCounter(newState, vnf['isMissingData'], false, (<UndoDeleteActionVnfInstanceAction>action).serviceId); + newState.serviceInstance[(<ActionOnFirstLevel>action).serviceId].vnfs[(<ActionOnFirstLevel>action).storeKey].action = (oldState.split('_')[0]) as ServiceInstanceActions; + updateServiceValidationCounter(newState, vnf['isMissingData'], false, (<ActionOnFirstLevel>action).serviceId); return newState; } @@ -86,13 +83,7 @@ export function vnfReducer(state: ServiceState, action: Action): ServiceState { } } -const updateServiceValidationCounter = (newState: any, oldValidationState: boolean, newValidationState: boolean, serviceUuid: string) => { - if (oldValidationState && !newValidationState) { - newState.serviceInstance[serviceUuid].validationCounter--; - } else if (!oldValidationState && newValidationState) { - newState.serviceInstance[serviceUuid].validationCounter++; - } -}; + const updateUniqueNames = (oldName: string, newName: string, serviceInstance: ServiceInstance): void => { diff --git a/vid-webpack-master/src/app/shared/storeUtil/utils/vrf/vrf.actions.ts b/vid-webpack-master/src/app/shared/storeUtil/utils/vrf/vrf.actions.ts new file mode 100644 index 000000000..a95a266c1 --- /dev/null +++ b/vid-webpack-master/src/app/shared/storeUtil/utils/vrf/vrf.actions.ts @@ -0,0 +1,84 @@ +import {Action, ActionCreator} from "redux"; + +export enum VrfActions { + CREATE_VRF_INSTANCE = "CREATE_VRF_INSTANCE", + EDIT_VRF_INSTANCE = "EDIT_VRF_INSTANCE", + DELETE_VRF_INSTANCE = "DELETE_VRF_INSTANCE", + VRF_ASSOCIATE_MEMBER = "VRF_ASSOCIATE_MEMBER", + CLAER_ASSOCIATE__VRF_MEMBERS = "CLAER_ASSOCIATE__VRF_MEMBERS", + DELETE_ACTION_VRF_INSTANCE = "DELETE_ACTION_VRF_INSTANCE", + UNDO_DELETE_ACTION_VRF_INSTANCE = "UNDO_DELETE_ACTION_VRF_INSTANCE" +} + + +export interface CreateVRFInstanceAction extends Action { + vrfModel : any; + serviceModelId : string; + vrfStoreKey : string; +} + +export interface AssociateVRFMemberInstanceAction extends Action { + vrfStoreKey : string; + serviceModelId : string; + memberType : string; + member : any; +} + +export interface ClearAssociateVRFMemberInstanceAction extends Action { + vrfStoreKey : string; + serviceModelId : string; + memberType : string; +} + +export interface DeleteActionVrfInstanceAction extends Action { + vrfStoreKey : string; + serviceId : string; +} + +export interface UndoDeleteActionVrfInstanceAction extends Action { + vrfStoreKey: string; + serviceId?: string; +} + +export const createVrfInstance: ActionCreator<CreateVRFInstanceAction> = (vrfModel, serviceModelId, vrfStoreKey) => ({ + type: VrfActions.CREATE_VRF_INSTANCE, + vrfModel : vrfModel, + serviceModelId : serviceModelId, + vrfStoreKey : vrfStoreKey +}); + + +export const associateVRFMember: ActionCreator<AssociateVRFMemberInstanceAction> = (vrfStoreKey, serviceModelId, member, memberType) => ({ + type: VrfActions.VRF_ASSOCIATE_MEMBER, + vrfStoreKey : vrfStoreKey, + serviceModelId : serviceModelId, + member : member, + memberType : memberType +}); + +export const clearAssociateVRFMemberInstance: ActionCreator<ClearAssociateVRFMemberInstanceAction> = (vrfStoreKey, serviceModelId, memberType) => ({ + type: VrfActions.CLAER_ASSOCIATE__VRF_MEMBERS, + vrfStoreKey : vrfStoreKey, + serviceModelId : serviceModelId, + memberType : memberType +}); + +export const deleteActionVrfInstance: ActionCreator<DeleteActionVrfInstanceAction> = (vrfStoreKey, serviceId) => ({ + type: VrfActions.DELETE_ACTION_VRF_INSTANCE, + vrfStoreKey : vrfStoreKey, + serviceId : serviceId +}); + +export const undoDeleteActionVrfInstance: ActionCreator<UndoDeleteActionVrfInstanceAction> = (vrfStoreKey, serviceId) => ({ + type: VrfActions.UNDO_DELETE_ACTION_VRF_INSTANCE, + vrfStoreKey: vrfStoreKey, + serviceId: serviceId +}); + + + + + + + + diff --git a/vid-webpack-master/src/app/shared/storeUtil/utils/vrf/vrf.reducer.spec.ts b/vid-webpack-master/src/app/shared/storeUtil/utils/vrf/vrf.reducer.spec.ts new file mode 100644 index 000000000..607fa057d --- /dev/null +++ b/vid-webpack-master/src/app/shared/storeUtil/utils/vrf/vrf.reducer.spec.ts @@ -0,0 +1,152 @@ +import {vrfReducer} from "./vrf.reducer"; +import { + AssociateVRFMemberInstanceAction, + ClearAssociateVRFMemberInstanceAction, + CreateVRFInstanceAction, DeleteActionVrfInstanceAction, UndoDeleteActionVrfInstanceAction, + VrfActions +} from "./vrf.actions"; +import {vnfReducer} from "../vnf/vnf.reducers"; +import {DeleteActionVnfInstanceAction, UndoDeleteActionVnfInstanceAction, VNFActions} from "../vnf/vnf.actions"; +import {ServiceInstanceActions} from "../../../models/serviceInstanceActions"; + + +describe('vrfReducer', () => { + test('#VRF_ASSOCIATE_MEMBER ', () => { + + const serviceModelId: string = 'serviceModelID'; + const vrfStoreKey : string = 'vrfStoreKey'; + const memberType : string = 'networks'; + const member = {a : 1 , b : 2}; + let vrfState = vrfReducer(<any>{ + serviceInstance : { + [serviceModelId] : { + vrfs : { + [vrfStoreKey] : { + [memberType] : { + + } + } + + } + } + }}, + <AssociateVRFMemberInstanceAction>{ + type: VrfActions.VRF_ASSOCIATE_MEMBER, + vrfStoreKey : vrfStoreKey, + serviceModelId : serviceModelId, + memberType : memberType, + member : member + }); + + expect(vrfState).toBeDefined(); + expect(vrfState.serviceInstance[serviceModelId].vrfs[vrfStoreKey][memberType][`${vrfStoreKey} ${memberType} 1`]).toBeDefined(); + expect(vrfState.serviceInstance[serviceModelId].vrfs[vrfStoreKey][memberType][`${vrfStoreKey} ${memberType} 1`]).toEqual(member); + }); + + test('#CLAER_ASSOCIATE__VRF_MEMBERS ', () => { + + const serviceModelId: string = 'serviceModelID'; + const vrfStoreKey : string = 'vrfStoreKey'; + const memberType : string = 'networks'; + let vrfState = vrfReducer(<any>{ + serviceInstance : { + [serviceModelId] : { + vrfs : { + [vrfStoreKey] : { + [memberType] : { + a : 1, + b : 2 + } + } + + } + } + }}, + <ClearAssociateVRFMemberInstanceAction>{ + type: VrfActions.CLAER_ASSOCIATE__VRF_MEMBERS, + vrfStoreKey : vrfStoreKey, + serviceModelId : serviceModelId, + memberType : memberType + }).serviceInstance[serviceModelId].vrfs[vrfStoreKey]; + + expect(vrfState).toBeDefined(); + expect(vrfState[memberType]).toBeDefined(); + expect(vrfState[memberType]).toEqual({}); + }); + + test('#CREATE_VRF_INSTANCE ', () => { + + const serviceModelId: string = 'serviceModelID'; + const vrfStoreKey : string = 'vrfStoreKey'; + const vrfModelName : string = 'vrfModelName'; + const memberType : string = 'networks'; + let vrfState = vrfReducer(<any>{ + serviceInstance : { + [serviceModelId] : { + vrfs : { + [vrfStoreKey] : { + [memberType] : { + + } + } + + } + } + }}, + <CreateVRFInstanceAction>{ + type: VrfActions.CREATE_VRF_INSTANCE, + vrfModel : { + name : vrfModelName + }, + serviceModelId : serviceModelId, + vrfStoreKey : vrfStoreKey + }).serviceInstance[serviceModelId].vrfs; + + expect(vrfState).toBeDefined(); + expect(vrfState[vrfModelName]).toBeDefined(); + }); + + test('#DELETE_ACTION_VRF_INSTANCE', () => { + let vnfState = vrfReducer(<any>{serviceInstance : { + 'serviceModelId' : { + vrfs : { + 'vrfStoreKey' : { + isMissingData : true, + action : 'None' + } + } + } + }}, + <DeleteActionVrfInstanceAction>{ + type: VrfActions.DELETE_ACTION_VRF_INSTANCE, + vrfStoreKey: 'vrfStoreKey', + serviceId: 'serviceModelId' + }).serviceInstance['serviceModelId'].vrfs['vrfStoreKey']; + + expect(vnfState).toBeDefined(); + expect(vnfState.action).toEqual(ServiceInstanceActions.None_Delete); + }); + + test('#UNDO_DELETE_ACTION_VRF_INSTANCE', () => { + let vnfState = vrfReducer(<any>{serviceInstance : { + 'serviceModelId' : { + vrfs : { + 'vrfStoreKey' : { + isMissingData : true, + action : 'Update_Delete' + } + } + } + }}, + <UndoDeleteActionVrfInstanceAction>{ + type: VrfActions.UNDO_DELETE_ACTION_VRF_INSTANCE, + vrfStoreKey: 'vrfStoreKey', + serviceId: 'serviceModelId' + }).serviceInstance['serviceModelId'].vrfs['vrfStoreKey']; + + expect(vnfState).toBeDefined(); + expect(vnfState.action).toEqual(ServiceInstanceActions.Update); + }); +}); + + diff --git a/vid-webpack-master/src/app/shared/storeUtil/utils/vrf/vrf.reducer.ts b/vid-webpack-master/src/app/shared/storeUtil/utils/vrf/vrf.reducer.ts new file mode 100644 index 000000000..f3d81209e --- /dev/null +++ b/vid-webpack-master/src/app/shared/storeUtil/utils/vrf/vrf.reducer.ts @@ -0,0 +1,90 @@ +import {ServiceState} from "../main.reducer"; +import {Action} from "redux"; +import * as _ from "lodash"; +import { + AssociateVRFMemberInstanceAction, + ClearAssociateVRFMemberInstanceAction, + CreateVRFInstanceAction, DeleteActionVrfInstanceAction, UndoDeleteActionVrfInstanceAction, + VrfActions +} from "./vrf.actions"; +import {calculateNextUniqueModelName} from "../vnf/vnf.reducers"; +import {ServiceInstanceActions} from "../../../models/serviceInstanceActions"; + +export function vrfReducer(state: ServiceState, action: Action): ServiceState { + switch (action.type) { + case VrfActions.CREATE_VRF_INSTANCE: { + const createVRFInstanceAction = <CreateVRFInstanceAction>action; + const serviceUuid = createVRFInstanceAction.serviceModelId; + + let newState = _.cloneDeep(state); + + const vrfModelName = calculateNextUniqueModelName(createVRFInstanceAction.vrfModel['name'], serviceUuid, newState, 'vrfs'); + newState.serviceInstance[serviceUuid].vrfs[vrfModelName] = <any>{ + ...createVRFInstanceAction.vrfModel + }; + return newState; + } + case VrfActions.VRF_ASSOCIATE_MEMBER: { + const associateVRFMemberInstanceAction = <AssociateVRFMemberInstanceAction>action; + const serviceUuid = associateVRFMemberInstanceAction.serviceModelId; + const member = associateVRFMemberInstanceAction.member; + const vrfStoreKey = associateVRFMemberInstanceAction.vrfStoreKey; + const memberType = associateVRFMemberInstanceAction.memberType; + + let newState = _.cloneDeep(state); + + if(_.isNil(newState.serviceInstance[serviceUuid].vrfs[vrfStoreKey][memberType])){ + newState.serviceInstance[serviceUuid].vrfs[vrfStoreKey][memberType] = {}; + } + + const numberOfKeys = Object.keys(newState.serviceInstance[serviceUuid].vrfs[vrfStoreKey][memberType]).length; + newState.serviceInstance[serviceUuid].vrfs[vrfStoreKey][memberType][`${vrfStoreKey} ${memberType} ${numberOfKeys+1}`] = member; + + return newState; + } + case VrfActions.VRF_ASSOCIATE_MEMBER: { + const associateVRFMemberInstanceAction = <AssociateVRFMemberInstanceAction>action; + const serviceUuid = associateVRFMemberInstanceAction.serviceModelId; + const member = associateVRFMemberInstanceAction.member; + const vrfStoreKey = associateVRFMemberInstanceAction.vrfStoreKey; + const memberType = associateVRFMemberInstanceAction.memberType; + + let newState = _.cloneDeep(state); + + if(_.isNil(newState.serviceInstance[serviceUuid].vrfs[vrfStoreKey][memberType])){ + newState.serviceInstance[serviceUuid].vrfs[vrfStoreKey][memberType] = {}; + } + + const numberOfKeys = Object.keys(newState.serviceInstance[serviceUuid].vrfs[vrfStoreKey][memberType]).length; + newState.serviceInstance[serviceUuid].vrfs[vrfStoreKey][memberType][`${vrfStoreKey} ${memberType} ${numberOfKeys+1}`] = member; + + return newState; + } + case VrfActions.CLAER_ASSOCIATE__VRF_MEMBERS: { + const clearAssociateVRFMemberInstanceAction = <ClearAssociateVRFMemberInstanceAction>action; + const serviceUuid = clearAssociateVRFMemberInstanceAction.serviceModelId; + const vrfStoreKey = clearAssociateVRFMemberInstanceAction.vrfStoreKey; + const memberType = clearAssociateVRFMemberInstanceAction.memberType; + + let newState = _.cloneDeep(state); + newState.serviceInstance[serviceUuid].vrfs[vrfStoreKey][memberType] = {}; + return newState; + } + case VrfActions.DELETE_ACTION_VRF_INSTANCE : { + let newState = _.cloneDeep(state); + let vrf = newState.serviceInstance[(<DeleteActionVrfInstanceAction>action).serviceId].vrfs[(<DeleteActionVrfInstanceAction>action).vrfStoreKey]; + let oldAction = vrf.action; + if(oldAction === ServiceInstanceActions.None_Delete || oldAction === ServiceInstanceActions.Update_Delete) return newState; + newState.serviceInstance[(<DeleteActionVrfInstanceAction>action).serviceId].vrfs[(<DeleteActionVrfInstanceAction>action).vrfStoreKey].action = (oldAction + '_Delete') as ServiceInstanceActions; + return newState; + } + + case VrfActions.UNDO_DELETE_ACTION_VRF_INSTANCE : { + let newState = _.cloneDeep(state); + let vnf = newState.serviceInstance[(<UndoDeleteActionVrfInstanceAction>action).serviceId].vrfs[(<UndoDeleteActionVrfInstanceAction>action).vrfStoreKey]; + let oldState = vnf.action; + newState.serviceInstance[(<UndoDeleteActionVrfInstanceAction>action).serviceId].vrfs[(<UndoDeleteActionVrfInstanceAction>action).vrfStoreKey].action = (oldState.split('_')[0]) as ServiceInstanceActions; + return newState; + } + } +} diff --git a/vid-webpack-master/src/app/shared/utils/constants.ts b/vid-webpack-master/src/app/shared/utils/constants.ts index f69517cf2..ef289df29 100644 --- a/vid-webpack-master/src/app/shared/utils/constants.ts +++ b/vid-webpack-master/src/app/shared/utils/constants.ts @@ -27,6 +27,7 @@ export module Constants { public static GET_SCHEDULER_CHANGE_MANAGEMENTS = 'change-management/scheduler'; public static CANCEL_SCHEDULE_REQUEST = 'change-management/scheduler/schedules'; public static ASSIGN = '?r='; + public static AAI_OMIT_SERVICE_INSTANCES = '&omitServiceInstances='; public static AAI_GET_SERVICE_INSTANCE_PATH = 'aai_get_service_instance/'; public static AAI_GET_SERVICES = '../../aai_get_services'; public static AAI_GET_AIC_ZONES = '../../aai_get_aic_zones'; @@ -35,6 +36,8 @@ export module Constants { public static AAI_GET_TENANTS = '../../aai_get_tenants/'; public static AAI_SUB_DETAILS_PATH = '../../aai_sub_details/'; public static AAI_GET_SERVICE_INSTANCE_TOPOLOGY_PATH = '../../aai_get_service_instance_topology/'; + public static AAI_GET_ACTIVE_NETWORKS_PATH = '../../aai_get_active_networks/'; + public static AAI_GET_VPNS_PATH = '../../aai_get_vpn_list/'; public static AAI_GET_SERVICE_GROUP_MEMBERS_PATH = '../../aai_search_group_members/'; public static AAI_GET_VERSION_BY_INVARIANT_ID = 'aai_get_version_by_invariant_id/'; public static SEARCH_SERVICE_INSTANCES = 'search_service_instances'; @@ -122,12 +125,12 @@ export module Constants { public static MODEL_CUSTOMIZATION_ID = 'model-customization-id'; public static MODEL_INVAR_ID = 'model-invariant-id'; public static MODEL_VERSION_ID = 'model-version-id'; - public static NETWORK_NAME = 'network-name'; - public static NETWORK_ID = 'network-id'; - public static NETWORK_TYPE = 'network-type'; + public static NETWORK_NAME = 'instanceName'; + public static NETWORK_ID = 'instanceId'; + public static NETWORK_TYPE = 'instanceType'; public static NETWORKS = 'networks'; public static OPERATIONAL_STATUS = 'operational-status'; - public static ORCHESTRATION_STATUS = 'orchestration-status'; + public static ORCHESTRATION_STATUS = 'orchStatus'; public static PERCENT_PROGRESS = 'percent-progress'; public static PERSONA_MODEL_ID = 'persona-model-id'; public static PERSONA_MODEL_VERSION = 'persona-model-version'; @@ -289,6 +292,6 @@ export module Constants { } export class LegacyRegion { - public static MEGA_REGION = ['JANET25']; + public static MEGA_REGION = ['AAIAIC25']; } } diff --git a/vid-webpack-master/src/app/shared/utils/iframe.service.ts b/vid-webpack-master/src/app/shared/utils/iframe.service.ts index 9a6636f4e..4c699825f 100644 --- a/vid-webpack-master/src/app/shared/utils/iframe.service.ts +++ b/vid-webpack-master/src/app/shared/utils/iframe.service.ts @@ -16,4 +16,19 @@ export class IframeService { parentBodyElement.classList.remove("modal-open"); } } + + + addFullScreen(){ + let parentBodyElement = parent.document.getElementsByClassName('service-model-content')[0]; + if (parentBodyElement) { + parentBodyElement.classList.add("full-screen"); + } + } + + removeFullScreen(){ + let parentBodyElement = parent.document.getElementsByClassName('service-model-content')[0]; + if (parentBodyElement) { + parentBodyElement.classList.remove("full-screen"); + } + } } diff --git a/vid-webpack-master/src/styles.scss b/vid-webpack-master/src/styles.scss index 9b490cdd4..f170f35f5 100644 --- a/vid-webpack-master/src/styles.scss +++ b/vid-webpack-master/src/styles.scss @@ -235,3 +235,8 @@ sdc-checkbox { box-shadow: 0 0px 10px 0 rgba(0, 0, 0, 0.5); } +.popover-arrow.arrow { + display: none !important; +} + + |