1 import {HttpClientTestingModule} from "@angular/common/http/testing";
2 import {getTestBed, TestBed} from "@angular/core/testing";
3 import {NgReduxTestingModule} from "@angular-redux/store/testing";
4 import {SharedTreeService} from "./shared.tree.service";
5 import {ObjectToInstanceTreeService} from "./objectToInstanceTree/objectToInstanceTree.service";
6 import {ObjectToTreeService} from "./objectToTree.service";
7 import {DefaultDataGeneratorService} from "../../../shared/services/defaultDataServiceGenerator/default.data.generator.service";
8 import {DynamicInputsService} from "./dynamicInputs.service";
9 import {DialogService} from "ng2-bootstrap-modal";
10 import {VnfPopupService} from "../../../shared/components/genericFormPopup/genericFormServices/vnf/vnf.popup.service";
11 import {ControlGeneratorUtil} from "../../../shared/components/genericForm/formControlsServices/control.generator.util.service";
12 import {AaiService} from "../../../shared/services/aaiService/aai.service";
13 import {NetworkPopupService} from "../../../shared/components/genericFormPopup/genericFormServices/network/network.popup.service";
14 import {NetworkControlGenerator} from "../../../shared/components/genericForm/formControlsServices/networkGenerator/network.control.generator";
15 import {VfModulePopupService} from "../../../shared/components/genericFormPopup/genericFormServices/vfModule/vfModule.popup.service";
16 import {VfModuleControlGenerator} from "../../../shared/components/genericForm/formControlsServices/vfModuleGenerator/vfModule.control.generator";
17 import {VnfGroupControlGenerator} from "../../../shared/components/genericForm/formControlsServices/vnfGroupGenerator/vnfGroup.control.generator";
18 import {FeatureFlagsService} from "../../../shared/services/featureFlag/feature-flags.service";
19 import {VnfControlGenerator} from "../../../shared/components/genericForm/formControlsServices/vnfGenerator/vnf.control.generator";
20 import {NgRedux} from "@angular-redux/store";
21 import {GenericFormService} from "../../../shared/components/genericForm/generic-form.service";
22 import {FormBuilder} from "@angular/forms";
23 import {SdcUiComponentsModule} from "onap-ui-angular";
24 import {LogService} from "../../../shared/utils/log/log.service";
25 import {IframeService} from "../../../shared/utils/iframe.service";
26 import {BasicPopupService} from "../../../shared/components/genericFormPopup/genericFormServices/basic.popup.service";
27 import {VnfGroupPopupService} from "../../../shared/components/genericFormPopup/genericFormServices/vnfGroup/vnfGroup.popup.service";
28 import {DuplicateService} from "../duplicate/duplicate.service";
29 import {AppState} from "../../../shared/store/reducers";
30 import {MessageBoxService} from "../../../shared/components/messageBox/messageBox.service";
31 import {ErrorMsgService} from "../../../shared/components/error-msg/error-msg.service";
32 import {AuditInfoModalComponent} from "../../../shared/components/auditInfoModal/auditInfoModal.component";
33 import {ILevelNodeInfo} from "./models/basic.model.info";
34 import {VnfModelInfo} from "./models/vnf/vnf.model.info";
35 import {ServiceInstanceActions} from "../../../shared/models/serviceInstanceActions";
36 import each from "jest-each";
37 import {DrawingBoardModes} from "../drawing-board.modes";
38 import {ComponentInfoService} from "../component-info/component-info.service";
39 import {ComponentInfoModel, ComponentInfoType} from "../component-info/component-info-model";
40 import {ModelInformationItem} from "../../../shared/components/model-information/model-information.component";
41 import {VpnStepService} from "./models/vrf/vrfModal/vpnStep/vpn.step.service";
42 import {NetworkStepService} from "./models/vrf/vrfModal/networkStep/network.step.service";
43 import {VfModuleUpgradePopupService} from "../../../shared/components/genericFormPopup/genericFormServices/vfModuleUpgrade/vfModule.upgrade.popuop.service";
44 import {SharedControllersService} from "../../../shared/components/genericForm/formControlsServices/sharedControlles/shared.controllers.service";
45 import {ModalService} from "../../../shared/components/customModal/services/modal.service";
46 import {CreateDynamicComponentService} from "../../../shared/components/customModal/services/create-dynamic-component.service";
47 import { PnfPopupService } from "../../../shared/components/genericFormPopup/genericFormServices/pnf/pnf.popup.service";
49 class MockAppStore<T> {
61 function getNodeWithData(menuAction:string){
65 nodeData['menuActions'][menuAction] = {
66 method: (node, serviceModelId) => {}
79 describe('Shared Tree Service', () => {
81 let service: SharedTreeService;
82 let _objectToInstanceTreeService: ObjectToInstanceTreeService;
83 let store: NgRedux<AppState>;
85 beforeAll(done => (async () => {
86 TestBed.configureTestingModule({
87 imports: [HttpClientTestingModule, NgReduxTestingModule, SdcUiComponentsModule],
90 SharedControllersService,
92 DefaultDataGeneratorService,
100 VnfGroupPopupService,
103 DynamicInputsService,
105 NetworkControlGenerator,
106 VfModulePopupService,
107 VfModuleUpgradePopupService,
108 VfModuleControlGenerator,
109 VnfGroupControlGenerator,
118 ObjectToInstanceTreeService,
119 ComponentInfoService,
123 CreateDynamicComponentService,
124 {provide: NgRedux, useClass: MockAppStore}
127 await TestBed.compileComponents();
128 injector = getTestBed();
129 service = injector.get(SharedTreeService);
130 _objectToInstanceTreeService = injector.get(ObjectToInstanceTreeService);
131 store = injector.get(NgRedux);
132 })().then(done).catch(done.fail));
134 test('SharedTreeService should be defined', () => {
135 expect(service).toBeDefined();
138 test('SharedTreeService upgradeBottomUp should call redux actions', () => {
139 const serviceModelId = "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd";
140 const node = getNodeWithData("upgrade");
141 spyOn(node.parent.data.menuActions['upgrade'], 'method');
142 service.upgradeBottomUp(node, serviceModelId);
143 expect(node.parent.data.menuActions['upgrade'].method).toBeCalledWith(node.parent, serviceModelId);
144 expect(node.parent.data.menuActions['upgrade'].method).toBeCalledTimes(2);
148 test('SharedTreeService undoUpgradeBottomUp should call redux actions', () => {
149 const serviceModelId = "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd";
150 const node = getNodeWithData("undoUpgrade");
151 spyOn(node.parent.data.menuActions['undoUpgrade'], 'method');
152 service.undoUpgradeBottomUp(node, serviceModelId);
153 expect(node.parent.data.menuActions['undoUpgrade'].method).toBeCalledWith(node.parent, serviceModelId);
154 expect(node.parent.data.menuActions['undoUpgrade'].method).toBeCalledTimes(2);
157 test('shouldShowDeleteInstanceWithChildrenModal should open modal if child exist with action create', () => {
158 jest.spyOn(MessageBoxService.openModal, 'next');
163 children: [{action: "Create"}, {action: "None"}],
168 service.shouldShowDeleteInstanceWithChildrenModal(node, "serviceModelId", foo);
169 expect(MessageBoxService.openModal.next).toHaveBeenCalled();
173 ['volumeGroups by entry name', "volumeGroups",
174 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1"],
175 ['vfmodule by customizationUuid', "vfModules",
176 "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1"],
177 ['vnf by customizationUuid', "vnfs",
178 "1da7b585-5e61-4993-b95e-8e6606c81e45", "2017-488_PASQUALE-vPE 0"],
179 ['vnfGroups by invariantUuid because no customizationUuid', "vnfGroups",
180 "4bb2e27e-ddab-4790-9c6d-1f731bc14a45", "groupingservicefortest..ResourceInstanceGroup..0"],
181 ]).test('modelByIdentifier should success: %s', (description, modelTypeName, modelUniqueIdOrName, expectedModelCustomizationName) => {
182 let serviceModelFromHierarchy =
183 getStore().service.serviceHierarchy["1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd"];
185 expect(service.modelByIdentifiers(serviceModelFromHierarchy, modelTypeName, modelUniqueIdOrName))
186 .toHaveProperty("modelCustomizationName", expectedModelCustomizationName);
190 ['vfmodule by invariantUuid when there is customizationUuid', "vfModules", "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1"],
191 ['network by non-existing modelUniqueIdOrName', "networks", "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1"],
192 ['collectionResource has no resource', "collectionResources", "whatever"],
193 ['non-existing model-type', "fooBar", "whatever"],
194 ]).test('modelByIdentifier should fail: %s', (description, modelTypeName, modelUniqueIdOrName) => {
195 let serviceModelFromHierarchy =
196 getStore().service.serviceHierarchy["1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd"];
198 expect(service.modelByIdentifiers(serviceModelFromHierarchy, modelTypeName, modelUniqueIdOrName))
202 test('openAuditInfoModalInsideIframe should open modal for failed instance', () => {
203 jest.spyOn(AuditInfoModalComponent.openInstanceAuditInfoModal, 'next');
205 let modelInfoServiceMock: ILevelNodeInfo = new VnfModelInfo(null, null,
206 null, null, null, null, null,
207 null, null, null, null,null, null);
208 const modelMock = {"a": "a"};
209 const instanceMock = {"instance": "instance", "trackById": "123456789"};
210 const instanceTypeMock = "instanceTypeMock";
211 jest.spyOn(modelInfoServiceMock, 'getModel').mockReturnValue(modelMock);
214 modelId: '6b528779-44a3-4472-bdff-9cd15ec93450',
215 trackById: '1245df21',
219 service.openAuditInfoModal(node, "serviceModelId", instanceMock, instanceTypeMock, <any>modelInfoServiceMock);
220 expect(AuditInfoModalComponent.openInstanceAuditInfoModal.next).toHaveBeenCalledWith(
222 "instance": instanceMock,
223 "instanceId": "serviceModelId",
225 "type": instanceTypeMock
229 ['undefined', 'Unlimited (default)', {}],
230 ['null', 'Unlimited (default)', {max:null}],
233 test("when there is %s max instances in model , shell return %s text", (desc, expected, model) =>{
234 expect(service.createMaximumToInstantiateModelInformationItem(model).values[0]).toBe(expected);
237 test('shouldShowDeleteInstanceWithChildrfenModal should not open modal if all childs with action None', () => {
240 spyOn(MessageBoxService.openModal, 'next');
243 children: [{action: "None"}, {action: "None"}],
248 service.shouldShowDeleteInstanceWithChildrenModal(node, "serviceModelId", foo);
249 expect(MessageBoxService.openModal.next).not.toHaveBeenCalled();
252 test ('addGeneralInfoItems should return correct info - ordered',()=>{
253 let specificNetworkInfo = [
254 ModelInformationItem.createInstance('Network role', "network role 1, network role 2")
256 const actualInfoModel: ComponentInfoModel = service.addGeneralInfoItems(specificNetworkInfo,ComponentInfoType.NETWORK, getNetworkModelInfoFromHierarchy(),getNetworkInstance());
258 let expectedGeneralInfo = [
259 ModelInformationItem.createInstance('Model version', '2.0'),
260 ModelInformationItem.createInstance('Model customization ID', 'customization-id-from-hierarchy'),
261 ModelInformationItem.createInstance('Instance ID', 'NETWORK4_INSTANCE_ID'),
262 ModelInformationItem.createInstance('Instance type', 'CONTRAIL30_HIMELGUARD'),
263 ModelInformationItem.createInstance('In maintenance', false),
264 ModelInformationItem.createInstance('Network role', 'network role 1, network role 2')
266 expect(actualInfoModel.modelInfoItems).toEqual(expectedGeneralInfo);
270 ['model version from hierarchy', null, getNetworkModelInfoFromHierarchy(), '2.0'],
271 ['undefined model', null, null, undefined],
272 ['model version from instance', getSelectedModelInfo(), null, '5.0'],
273 ['model version from instance', getSelectedModelInfo(), getNetworkModelInfoFromHierarchy(), '5.0'],
275 test ('getModelVersionEitherFromInstanceOrFromHierarchy should return %s ' ,
276 (description, instance, model, expectedResult) =>{
277 let actualResult = service.getModelVersionEitherFromInstanceOrFromHierarchy(instance, model);
278 expect(actualResult).toEqual(expectedResult);
282 ['model CustomizationId from hierarchy', null, getNetworkModelInfoFromHierarchy(), 'customization-id-from-hierarchy'],
283 ['undefined model', null, null, undefined],
284 ['model CustomizationId from instance', getSelectedModelInfo(), null, 'model-customization-id-from-instance'],
285 ['model CustomizationId from instance', getSelectedModelInfo(), getNetworkModelInfoFromHierarchy(), 'model-customization-id-from-instance'],
287 test ('getCustomizationIdEitherFromInstanceOrFromHierarchy should return %s ' ,
288 (description, instance, model, expectedResult) =>{
289 let actualResult = service.getModelCustomizationIdEitherFromInstanceOrFromHierarchy(instance, model);
290 expect(actualResult).toEqual(expectedResult);
294 ['UUID from instance', getSelectedModelInfo(), getNetworkModelInfoFromHierarchy(),"UUID-from-instance" ],
295 ['UUID from instance', getSelectedModelInfo(), null,"UUID-from-instance" ],
296 ['UUID from hierarchy', null, getNetworkModelInfoFromHierarchy(),"UUID-from-hierarchy" ],
297 ['UUID undefined', null, null, undefined],
300 test('getModelVersionIdEitherFromInstanceOrFromHierarchy should %s', (description, instance, model, expectedResult) => {
301 let actualUuid = service.getModelVersionIdEitherFromInstanceOrFromHierarchy(instance, model);
302 expect(actualUuid).toEqual(expectedResult);
306 ['from instance', getSelectedModelInfo(), getNetworkModelInfoFromHierarchy(), 'invariantId-from-instance'],
307 ['from instance', getSelectedModelInfo(), null, 'invariantId-from-instance'],
308 ['from hierarchy', null, getNetworkModelInfoFromHierarchy(), 'invariantId-from-hierarchy'],
309 ['undefined', null, null, undefined],
311 test('getModelInvariantIdEitherFromInstanceOrFromHierarchy should return invariantId %s', (description, instance, model, expectedInvariantId) =>{
312 let actualInvariantId = service.getModelInvariantIdEitherFromInstanceOrFromHierarchy(instance, model);
313 expect(actualInvariantId).toEqual(expectedInvariantId);
316 test('statusProperties should be prop on node according to node properties', () => {
318 let node = service.addingStatusProperty({orchStatus: 'completed', provStatus: 'inProgress', type: 'VFmodule', instanceModelInfo:{modelVersion: '1'}, inMaint: false});
319 expect(node.statusProperties).toBeDefined();
320 expect(node.statusProperties).toEqual([Object({
321 key: 'Prov Status: ',
325 key: 'Orch Status: ',
330 key: 'Model Version: ',
332 testId: 'modelVersion'
334 node = service.addingStatusProperty({orchStatus: 'completed', provStatus: 'inProgress',type: 'VFmodule', instanceModelInfo:{}, inMaint: true});
335 expect(node.statusProperties).toEqual([Object({
336 key: 'Prov Status: ',
340 key: 'Orch Status: ',
344 key: 'Model Version: ',
346 testId: 'modelVersion'
348 key: 'In-maintenance',
355 ['version 2', '2', '2'],
356 ['undefined', null, undefined]
358 test('getNodeModelVersion should return %s', (description, nodeVersion, expectedVersion) => {
361 modelVersion: nodeVersion
364 let actualVersion = service.getNodeModelVersion(node);
365 expect(actualVersion).toEqual(expectedVersion);
369 [false, 'method is not in menu actions', ServiceInstanceActions.None, DrawingBoardModes.EDIT, {}, true],
370 [false, 'there is no action in node', null, DrawingBoardModes.EDIT, {someMethod: "someValue"}, true],
371 [true, 'edit mode, action is none, method in menu action', ServiceInstanceActions.None, DrawingBoardModes.EDIT, {someMethod: "someValue"}, true],
372 [false, 'edit mode, action is none, method in menu action, macro service', ServiceInstanceActions.None, DrawingBoardModes.EDIT, {someMethod: "someValue"}, false],
373 [false, 'edit mode, action is not none, method in menu action', ServiceInstanceActions.Resume, DrawingBoardModes.EDIT, {someMethod: "someValue"}, true],
374 [false, 'edit mode, action is CREATE, method in menu action', ServiceInstanceActions.Resume, DrawingBoardModes.EDIT, {someMethod: "someValue"}, true]
375 ]).test('shouldShowButtonGeneric return %s if %s ', (expected, description, action, mode, menuActions, isALaCarte) => {
376 jest.spyOn(store, 'getState').mockReturnValue(<any>{
378 drawingBoardStatus: mode
392 menuActions: menuActions
396 let res = service.shouldShowButtonGeneric(node, "someMethod", "someModelId");
397 expect(res).toBe(expected);
400 const enableRemoveAndEditItemsDataProvider = [
401 ['Create action CREATE mode', DrawingBoardModes.CREATE ,ServiceInstanceActions.Create, true],
402 ['Create action VIEW mode',DrawingBoardModes.VIEW , ServiceInstanceActions.Create,false],
403 ['Create action RETRY_EDIT mode',DrawingBoardModes.RETRY_EDIT, ServiceInstanceActions.Create, true],
404 ['Create action EDIT mode',DrawingBoardModes.EDIT, ServiceInstanceActions.Create, true],
405 ['Create action RETRY mode',DrawingBoardModes.RETRY, ServiceInstanceActions.Create, false],
406 ['None action EDIT mode',DrawingBoardModes.EDIT, ServiceInstanceActions.None, false],
407 ['None action RETRY_EDIT mode', DrawingBoardModes.RETRY_EDIT, ServiceInstanceActions.None, false]];
408 each(enableRemoveAndEditItemsDataProvider).test('shouldShowEditAndDelete if child exist with %s', (description, mode, action, enabled) => {
409 jest.spyOn(store, 'getState').mockReturnValue(<any>{
411 drawingBoardStatus: mode
419 let res = service.shouldShowRemoveAndEdit(node);
420 expect(res).toBe(enabled);
424 const isVfmoduleAlmostPartOfModelOnlyCustomizationUuidDifferProvider = [
425 ['node is part of model, but vfmodule diff by customization',
426 true, 'mDNS 01222020 0', '9fdc68e9-9f53-431c-b8a2-7e337b9a0d0a', '82160e6e-d9c4-45ef-bd19-01573ab11b61'],
428 ['vnf model-name not found',
429 false, 'mDNS 01222020 1', '9fdc68e9-9f53-431c-b8a2-7e337b9a0d0a', '82160e6e-d9c4-45ef-bd19-01573ab11b61'],
431 ['vfmodule invariant-id not found',
432 false, 'mDNS 01222020 0', 'wrong invariant-id', '82160e6e-d9c4-45ef-bd19-01573ab11b61'],
434 ['vfmodule customization-id match',
435 false, 'mDNS 01222020 0', '9fdc68e9-9f53-431c-b8a2-7e337b9a0d0a', 'c9b32003-febc-44e0-a97f-7630fa7fa4a0'],
438 each(isVfmoduleAlmostPartOfModelOnlyCustomizationUuidDifferProvider).test('isVfmoduleAlmostPartOfModelOnlyCustomizationUuidDiffer: when %s should return %s', (description, expected, vnfModelName, invariantUuid, customizationUuid) => {
439 const serviceModelId : string = 'a243da28-c11e-45a8-9f26-0284a9a789bc';
440 spyOn(store, 'getState').and.returnValue({
447 vfModuleModelName : {
448 invariantUuid : invariantUuid,
449 customizationUuid : customizationUuid
461 modelInvariantId : '9fdc68e9-9f53-431c-b8a2-7e337b9a0d0a',
462 modelCustomizationId : 'c9b32003-febc-44e0-a97f-7630fa7fa4a0',
463 modelName : 'vfModuleModelName'
467 modelName : "mDNS 01222020 0"
472 const isDiffCustomizationUuidResponse : boolean = service.isVfmoduleAlmostPartOfModelOnlyCustomizationUuidDiffer(node, serviceModelId);
473 expect(isDiffCustomizationUuidResponse).toEqual(expected);
477 [false, true, true, false],
478 [true, true, true, true],
479 [true, true, false, true],
480 [true, false, true, true],
481 [true, false, false, false],
483 test('when flag is %s the UpdatedLatestVersion is %s and Vfmodule not exists on hierarchy is %s isShouldShowButtonGenericMustToBeCalled should return %s', (
485 isThereAnUpdatedLatestVersion: boolean,
486 isVfModuleCustomizationIdNotExistsOnModel: boolean,
487 isShouldShowButtonGenericMustToBeCalled: boolean
490 let serviceModelId : string = '08c5fa17-769a-4231-bd92-aed4b0ed086d';
491 jest.spyOn(store, 'getState').mockReturnValue(<any>{
494 "FLAG_FLASH_REPLACE_VF_MODULE": flag,
498 spyOn(service, 'isThereAnUpdatedLatestVersion').and.returnValue(isThereAnUpdatedLatestVersion);
499 spyOn(service, 'isVfModuleCustomizationIdNotExistsOnModel').and.returnValue(isVfModuleCustomizationIdNotExistsOnModel);
501 expect(service.isVfMoudleCouldBeUpgraded(node, serviceModelId)).toEqual(isShouldShowButtonGenericMustToBeCalled);
505 ['Vfm customization uuid not exists in model', 'not-existing-customization-uuid', 'service-model-id', true],
506 ['Vfm customization uuid exists in model', 'existing-customization-uuid', 'service-model-id', false]
508 test('%s when vfModuleNode is %s and serviceModelId is %s ', (
510 modelCustomizationId,
511 serviceModelId: string,
512 isExistsOnHierarchy: boolean,
515 const vfModuleNode = { data: {
516 modelCustomizationId : modelCustomizationId
519 jest.spyOn(store, 'getState').mockReturnValue(<any>{
521 "serviceHierarchy": {
525 "customizationUuid": "3d7f41c8-333b-4fee-b50d-5687e9c2170f",
528 "customizationUuid": "existing-customization-uuid",
535 expect(service.isVfModuleCustomizationIdNotExistsOnModel(vfModuleNode, serviceModelId)).toEqual(isExistsOnHierarchy);
540 test("showPauseWithOrchStatus test", () => {
542 "orchStatus":"Active"
544 expect(service.showPauseWithOrchStatus(node)).toEqual(false);
549 function getStore() {
554 "EMPTY_DRAWING_BOARD_TEST": false,
555 "FLAG_NETWORK_TO_ASYNC_INSTANTIATION": false,
556 "FLAG_ADD_MSO_TESTAPI_FIELD": true,
557 "FLAG_SERVICE_MODEL_CACHE": true,
558 "FLAG_SHOW_ASSIGNMENTS": true,
559 "FLAG_FABRIC_CONFIGURATION_ASSIGNMENTS": true,
560 "FLAG_A_LA_CARTE_AUDIT_INFO": true,
561 "FLAG_1810_CR_ADD_CLOUD_OWNER_TO_MSO_REQUEST": true,
562 "FLAG_PRESENT_PROVIDER_NETWORKS_ASSOCIATIONS": true,
563 "FLAG_1902_NEW_VIEW_EDIT": true,
564 "FLAG_1810_IDENTIFY_SERVICE_FOR_NEW_UI": false,
565 "FLAG_1902_VNF_GROUPING": true,
566 "FLAG_SHOW_VERIFY_SERVICE": true,
567 "FLAG_ASYNC_ALACARTE_VFMODULE": true,
568 "FLAG_ASYNC_ALACARTE_VNF": true,
569 "FLAG_1810_AAI_LOCAL_CACHE": true,
570 "FLAG_EXP_USE_DEFAULT_HOST_NAME_VERIFIER": false,
571 "FLAG_EXP_ANY_ALACARTE_NEW_INSTANTIATION_UI": false,
572 "FLAG_SUPPLEMENTARY_FILE": true,
573 "FLAG_5G_IN_NEW_INSTANTIATION_UI": true,
574 "FLAG_RESTRICTED_SELECT": false,
575 "FLAG_1810_CR_LET_SELECTING_COLLECTOR_TYPE_UNCONDITIONALLY": true
577 "drawingBoardStatus": "VIEW",
578 "type": "UPDATE_DRAWING_BOARD_STATUS"
581 "serviceHierarchy": {
582 "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd": {
584 "uuid": "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd",
585 "invariantUuid": "cdb90b57-ed78-4d44-a5b4-7f43a02ec632",
586 "name": "action-data",
588 "toscaModelURL": null,
589 "category": "Network L1-3",
590 "serviceType": "pnf",
591 "serviceRole": "Testing",
592 "description": "PASQUALE vMX vPE based on Juniper 17.2 release. Updated with updated VF for v8.0 of VLM",
593 "serviceEcompNaming": "false",
594 "instantiationType": "Macro",
596 "vidNotions": {"instantiationUI": "legacy", "modelCategory": "other", "viewEditUI": "legacy"}
599 "2017-388_PASQUALE-vPE 1": {
600 "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413",
601 "invariantUuid": "00beb8f9-6d39-452f-816d-c709b9cbb87d",
602 "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",
603 "name": "2017-388_PASQUALE-vPE",
605 "customizationUuid": "280dec31-f16d-488b-9668-4aae55d6648a",
609 "vmxvre_retype": "RE-VMX",
610 "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version",
611 "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d",
612 "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9",
613 "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF",
614 "int_ctl_net_name": "VMX-INTXI",
615 "vmx_int_ctl_prefix": "10.0.0.10",
616 "sriov43_net_id": "da349ca1-6de9-4548-be88-2d88e99bfef5",
617 "sriov42_net_id": "760669ba-013d-4d9b-b0e7-4151fe2e6279",
618 "sriov41_net_id": "25ad52d5-c165-40f8-b3b0-ddfc2373280a",
620 "vmxvpfe_int_ctl_ip_1": "10.0.0.10",
621 "is_AVPN_service": "false",
622 "vmx_RSG_name": "vREXI-affinity",
623 "vmx_int_ctl_forwarding": "l2",
624 "vmxvre_oam_ip_0": "10.0.0.10",
625 "vmxvpfe_sriov44_0_port_mac": "00:11:22:EF:AC:DF",
626 "vmxvpfe_sriov41_0_port_vlanstrip": "false",
627 "vmxvpfe_sriov42_0_port_vlanfilter": "4001",
628 "vmxvpfe_sriov44_0_port_unknownunicastallow": "true",
629 "vmxvre_image_name_0": "VRE-ENGINE_17.2-S2.1.qcow2",
630 "vmxvre_instance": "0",
631 "vmxvpfe_sriov43_0_port_mac": "00:11:22:EF:AC:DF",
632 "vmxvre_flavor_name": "ns.c1r16d32.v5",
633 "vmxvpfe_volume_size_0": "40.0",
634 "vmxvpfe_sriov43_0_port_vlanfilter": "4001",
635 "nf_naming": "{ecomp_generated_naming=true}",
636 "multi_stage_design": "true",
637 "nf_naming_code": "Navneet",
638 "vmxvre_name_0": "vREXI",
639 "vmxvpfe_sriov42_0_port_vlanstrip": "false",
640 "vmxvpfe_volume_name_0": "vPFEXI_FBVolume",
641 "vmx_RSG_id": "bd89a33c-13c3-4a04-8fde-1a57eb123141",
642 "vmxvpfe_image_name_0": "VPE_ROUTING-ENGINE_17.2R1-S2.1.qcow2",
643 "vmxvpfe_sriov43_0_port_unknownunicastallow": "true",
644 "vmxvpfe_sriov44_0_port_unknownmulticastallow": "true",
645 "vmxvre_console": "vidconsole",
646 "vmxvpfe_sriov44_0_port_vlanfilter": "4001",
647 "vmxvpfe_sriov42_0_port_mac": "00:11:22:EF:AC:DF",
648 "vmxvpfe_volume_id_0": "47cede15-da2f-4397-a101-aa683220aff3",
649 "vmxvpfe_sriov42_0_port_unknownmulticastallow": "true",
650 "vmxvpfe_sriov44_0_port_vlanstrip": "false",
651 "vf_module_id": "123",
652 "nf_function": "JAI",
653 "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true",
654 "vmxvre_int_ctl_ip_0": "10.0.0.10",
655 "ecomp_generated_naming": "true",
656 "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI",
657 "vnf_name": "mtnj309me6vre",
658 "vmxvpfe_sriov41_0_port_unknownunicastallow": "true",
659 "vmxvre_volume_type_1": "HITACHI",
660 "vmxvpfe_sriov44_0_port_broadcastallow": "true",
661 "vmxvre_volume_type_0": "HITACHI",
662 "vmxvpfe_volume_type_0": "HITACHI",
663 "vmxvpfe_sriov43_0_port_broadcastallow": "true",
664 "bandwidth_units": "get_input:2017488_pasqualevpe0_bandwidth_units",
666 "vmxvre_oam_prefix": "24",
667 "availability_zone_0": "mtpocfo-kvm-az01",
668 "ASN": "get_input:2017488_pasqualevpe0_ASN",
669 "vmxvre_chassis_i2cid": "161",
670 "vmxvpfe_name_0": "vPFEXI",
671 "bandwidth": "get_input:2017488_pasqualevpe0_bandwidth",
672 "availability_zone_max_count": "1",
673 "vmxvre_volume_size_0": "45.0",
674 "vmxvre_volume_size_1": "50.0",
675 "vmxvpfe_sriov42_0_port_broadcastallow": "true",
676 "vmxvre_oam_gateway": "10.0.0.10",
677 "vmxvre_volume_name_1": "vREXI_FAVolume",
678 "vmxvre_ore_present": "0",
679 "vmxvre_volume_name_0": "vREXI_FBVolume",
681 "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name",
682 "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true",
683 "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429",
684 "vmx_int_ctl_len": "24",
685 "vmxvpfe_sriov43_0_port_vlanstrip": "false",
686 "vmxvpfe_sriov41_0_port_broadcastallow": "true",
687 "vmxvre_volume_id_1": "6e86797e-03cd-4fdc-ba72-2957119c746d",
688 "vmxvpfe_sriov41_0_port_vlanfilter": "4001",
689 "nf_role": "Testing",
690 "vmxvre_volume_id_0": "f4eacb79-f687-4e9d-b760-21847c8bb15a",
691 "vmxvpfe_sriov42_0_port_unknownunicastallow": "true",
692 "vmxvpfe_flavor_name": "ns.c20r16d25.v5"
695 "modelCustomizationName": "2017-388_PASQUALE-vPE 1",
698 "vfcInstanceGroups": {}
700 "2017-388_PASQUALE-vPE 0": {
701 "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168",
702 "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8",
703 "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",
704 "name": "2017-388_PASQUALE-vPE",
706 "customizationUuid": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c",
710 "vmxvre_retype": "RE-VMX",
711 "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version",
712 "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d",
713 "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9",
714 "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF",
715 "int_ctl_net_name": "VMX-INTXI",
716 "vmx_int_ctl_prefix": "10.0.0.10",
717 "sriov43_net_id": "da349ca1-6de9-4548-be88-2d88e99bfef5",
718 "sriov42_net_id": "760669ba-013d-4d9b-b0e7-4151fe2e6279",
719 "sriov41_net_id": "25ad52d5-c165-40f8-b3b0-ddfc2373280a",
721 "vmxvpfe_int_ctl_ip_1": "10.0.0.10",
722 "is_AVPN_service": "false",
723 "vmx_RSG_name": "vREXI-affinity",
724 "vmx_int_ctl_forwarding": "l2",
725 "vmxvre_oam_ip_0": "10.0.0.10",
726 "vmxvpfe_sriov44_0_port_mac": "00:11:22:EF:AC:DF",
727 "vmxvpfe_sriov41_0_port_vlanstrip": "false",
728 "vmxvpfe_sriov42_0_port_vlanfilter": "4001",
729 "vmxvpfe_sriov44_0_port_unknownunicastallow": "true",
730 "vmxvre_image_name_0": "VRE-ENGINE_17.2-S2.1.qcow2",
731 "vmxvre_instance": "0",
732 "vmxvpfe_sriov43_0_port_mac": "00:11:22:EF:AC:DF",
733 "vmxvre_flavor_name": "ns.c1r16d32.v5",
734 "vmxvpfe_volume_size_0": "40.0",
735 "vmxvpfe_sriov43_0_port_vlanfilter": "4001",
736 "nf_naming": "{ecomp_generated_naming=true}",
737 "multi_stage_design": "true",
738 "nf_naming_code": "Navneet",
739 "vmxvre_name_0": "vREXI",
740 "vmxvpfe_sriov42_0_port_vlanstrip": "false",
741 "vmxvpfe_volume_name_0": "vPFEXI_FBVolume",
742 "vmx_RSG_id": "bd89a33c-13c3-4a04-8fde-1a57eb123141",
743 "vmxvpfe_image_name_0": "VPE_ROUTING-ENGINE_17.2R1-S2.1.qcow2",
744 "vmxvpfe_sriov43_0_port_unknownunicastallow": "true",
745 "vmxvpfe_sriov44_0_port_unknownmulticastallow": "true",
746 "vmxvre_console": "vidconsole",
747 "vmxvpfe_sriov44_0_port_vlanfilter": "4001",
748 "vmxvpfe_sriov42_0_port_mac": "00:11:22:EF:AC:DF",
749 "vmxvpfe_volume_id_0": "47cede15-da2f-4397-a101-aa683220aff3",
750 "vmxvpfe_sriov42_0_port_unknownmulticastallow": "true",
751 "vmxvpfe_sriov44_0_port_vlanstrip": "false",
752 "vf_module_id": "123",
753 "nf_function": "JAI",
754 "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true",
755 "vmxvre_int_ctl_ip_0": "10.0.0.10",
756 "ecomp_generated_naming": "true",
757 "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI",
758 "vnf_name": "mtnj309me6vre",
759 "vmxvpfe_sriov41_0_port_unknownunicastallow": "true",
760 "vmxvre_volume_type_1": "HITACHI",
761 "vmxvpfe_sriov44_0_port_broadcastallow": "true",
762 "vmxvre_volume_type_0": "HITACHI",
763 "vmxvpfe_volume_type_0": "HITACHI",
764 "vmxvpfe_sriov43_0_port_broadcastallow": "true",
765 "bandwidth_units": "get_input:2017488_pasqualevpe0_bandwidth_units",
767 "vmxvre_oam_prefix": "24",
768 "availability_zone_0": "mtpocfo-kvm-az01",
769 "ASN": "get_input:2017488_pasqualevpe0_ASN",
770 "vmxvre_chassis_i2cid": "161",
771 "vmxvpfe_name_0": "vPFEXI",
772 "bandwidth": "get_input:2017488_pasqualevpe0_bandwidth",
773 "availability_zone_max_count": "1",
774 "vmxvre_volume_size_0": "45.0",
775 "vmxvre_volume_size_1": "50.0",
776 "vmxvpfe_sriov42_0_port_broadcastallow": "true",
777 "vmxvre_oam_gateway": "10.0.0.10",
778 "vmxvre_volume_name_1": "vREXI_FAVolume",
779 "vmxvre_ore_present": "0",
780 "vmxvre_volume_name_0": "vREXI_FBVolume",
782 "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name",
783 "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true",
784 "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429",
785 "vmx_int_ctl_len": "24",
786 "vmxvpfe_sriov43_0_port_vlanstrip": "false",
787 "vmxvpfe_sriov41_0_port_broadcastallow": "true",
788 "vmxvre_volume_id_1": "6e86797e-03cd-4fdc-ba72-2957119c746d",
789 "vmxvpfe_sriov41_0_port_vlanfilter": "4001",
790 "nf_role": "Testing",
791 "vmxvre_volume_id_0": "f4eacb79-f687-4e9d-b760-21847c8bb15a",
792 "vmxvpfe_sriov42_0_port_unknownunicastallow": "true",
793 "vmxvpfe_flavor_name": "ns.c20r16d25.v5"
796 "modelCustomizationName": "2017-388_PASQUALE-vPE 0",
799 "vfcInstanceGroups": {}
801 "2017-488_PASQUALE-vPE 0": {
802 "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09",
803 "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8",
804 "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",
805 "name": "2017-488_PASQUALE-vPE",
807 "customizationUuid": "1da7b585-5e61-4993-b95e-8e6606c81e45",
812 "vmxvre_retype": "RE-VMX",
813 "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version",
814 "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d",
815 "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9",
816 "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF",
817 "int_ctl_net_name": "VMX-INTXI",
818 "vmx_int_ctl_prefix": "10.0.0.10",
819 "sriov43_net_id": "da349ca1-6de9-4548-be88-2d88e99bfef5",
820 "sriov42_net_id": "760669ba-013d-4d9b-b0e7-4151fe2e6279",
821 "sriov41_net_id": "25ad52d5-c165-40f8-b3b0-ddfc2373280a",
823 "vmxvpfe_int_ctl_ip_1": "10.0.0.10",
824 "is_AVPN_service": "false",
825 "vmx_RSG_name": "vREXI-affinity",
826 "vmx_int_ctl_forwarding": "l2",
827 "vmxvre_oam_ip_0": "10.0.0.10",
828 "vmxvpfe_sriov44_0_port_mac": "00:11:22:EF:AC:DF",
829 "vmxvpfe_sriov41_0_port_vlanstrip": "false",
830 "vmxvpfe_sriov42_0_port_vlanfilter": "4001",
831 "vmxvpfe_sriov44_0_port_unknownunicastallow": "true",
832 "vmxvre_image_name_0": "VRE-ENGINE_17.2-S2.1.qcow2",
833 "vmxvre_instance": "0",
834 "vmxvpfe_sriov43_0_port_mac": "00:11:22:EF:AC:DF",
835 "vmxvre_flavor_name": "ns.c1r16d32.v5",
836 "vmxvpfe_volume_size_0": "40.0",
837 "vmxvpfe_sriov43_0_port_vlanfilter": "4001",
838 "nf_naming": "{ecomp_generated_naming=true}",
839 "multi_stage_design": "true",
840 "nf_naming_code": "Navneet",
841 "vmxvre_name_0": "vREXI",
842 "vmxvpfe_sriov42_0_port_vlanstrip": "false",
843 "vmxvpfe_volume_name_0": "vPFEXI_FBVolume",
844 "vmx_RSG_id": "bd89a33c-13c3-4a04-8fde-1a57eb123141",
845 "vmxvpfe_image_name_0": "VPE_ROUTING-ENGINE_17.2R1-S2.1.qcow2",
846 "vmxvpfe_sriov43_0_port_unknownunicastallow": "true",
847 "vmxvpfe_sriov44_0_port_unknownmulticastallow": "true",
848 "vmxvre_console": "vidconsole",
849 "vmxvpfe_sriov44_0_port_vlanfilter": "4001",
850 "vmxvpfe_sriov42_0_port_mac": "00:11:22:EF:AC:DF",
851 "vmxvpfe_volume_id_0": "47cede15-da2f-4397-a101-aa683220aff3",
852 "vmxvpfe_sriov42_0_port_unknownmulticastallow": "true",
853 "vmxvpfe_sriov44_0_port_vlanstrip": "false",
854 "vf_module_id": "123",
855 "nf_function": "JAI",
856 "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true",
857 "vmxvre_int_ctl_ip_0": "10.0.0.10",
858 "ecomp_generated_naming": "true",
859 "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI",
860 "vnf_name": "mtnj309me6vre",
861 "vmxvpfe_sriov41_0_port_unknownunicastallow": "true",
862 "vmxvre_volume_type_1": "HITACHI",
863 "vmxvpfe_sriov44_0_port_broadcastallow": "true",
864 "vmxvre_volume_type_0": "HITACHI",
865 "vmxvpfe_volume_type_0": "HITACHI",
866 "vmxvpfe_sriov43_0_port_broadcastallow": "true",
867 "bandwidth_units": "get_input:2017488_pasqualevpe0_bandwidth_units",
869 "vmxvre_oam_prefix": "24",
870 "availability_zone_0": "mtpocfo-kvm-az01",
871 "ASN": "get_input:2017488_pasqualevpe0_ASN",
872 "vmxvre_chassis_i2cid": "161",
873 "vmxvpfe_name_0": "vPFEXI",
874 "bandwidth": "get_input:2017488_pasqualevpe0_bandwidth",
875 "availability_zone_max_count": "1",
876 "vmxvre_volume_size_0": "45.0",
877 "vmxvre_volume_size_1": "50.0",
878 "vmxvpfe_sriov42_0_port_broadcastallow": "true",
879 "vmxvre_oam_gateway": "10.0.0.10",
880 "vmxvre_volume_name_1": "vREXI_FAVolume",
881 "vmxvre_ore_present": "0",
882 "vmxvre_volume_name_0": "vREXI_FBVolume",
884 "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name",
885 "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true",
886 "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429",
887 "vmx_int_ctl_len": "24",
888 "vmxvpfe_sriov43_0_port_vlanstrip": "false",
889 "vmxvpfe_sriov41_0_port_broadcastallow": "true",
890 "vmxvre_volume_id_1": "6e86797e-03cd-4fdc-ba72-2957119c746d",
891 "vmxvpfe_sriov41_0_port_vlanfilter": "4001",
892 "nf_role": "Testing",
893 "vmxvre_volume_id_0": "f4eacb79-f687-4e9d-b760-21847c8bb15a",
894 "vmxvpfe_sriov42_0_port_unknownunicastallow": "true",
895 "vmxvpfe_flavor_name": "ns.c20r16d25.v5"
898 "modelCustomizationName": "2017-488_PASQUALE-vPE 0",
900 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": {
901 "uuid": "25284168-24bb-4698-8cb4-3f509146eca5",
902 "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1",
903 "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
905 "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
907 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
909 "minCountInstances": 0,
910 "maxCountInstances": null,
912 "vfModuleLabel": "PASQUALE_vRE_BV",
916 "volumeGroupAllowed": true
918 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": {
919 "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db",
920 "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091",
921 "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3",
923 "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
925 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
927 "minCountInstances": 1,
928 "maxCountInstances": 1,
930 "vfModuleLabel": "PASQUALE_base_vPE_BV",
934 "volumeGroupAllowed": false
936 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": {
937 "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a",
938 "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339",
939 "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557",
941 "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
943 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
945 "minCountInstances": 0,
946 "maxCountInstances": null,
948 "vfModuleLabel": "PASQUALE_vPFE_BV",
952 "volumeGroupAllowed": true
956 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": {
957 "uuid": "25284168-24bb-4698-8cb4-3f509146eca5",
958 "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1",
959 "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
961 "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
963 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
965 "minCountInstances": 0,
966 "maxCountInstances": null,
968 "vfModuleLabel": "PASQUALE_vRE_BV",
973 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": {
974 "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a",
975 "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339",
976 "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557",
978 "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
980 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
982 "minCountInstances": 0,
983 "maxCountInstances": null,
985 "vfModuleLabel": "PASQUALE_vPFE_BV",
991 "vfcInstanceGroups": {}
996 "uuid": "ddc3f20c-08b5-40fd-af72-c6d14636b986",
997 "invariantUuid": "379f816b-a7aa-422f-be30-17114ff50b7c",
998 "description": "ECOMP generic virtual link (network) base type for all other service-level and global networks",
1001 "customizationUuid": "94fdd893-4a36-4d70-b16a-ec29c54c184f",
1005 "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}}",
1006 "exVL_naming": "{ecomp_generated_naming=true}",
1007 "network_flows": "{is_network_policy=false, is_bound_to_vpn=false}",
1008 "network_homing": "{ecomp_selected_instance_node_target=false}"
1011 "modelCustomizationName": "ExtVL 0"
1014 "collectionResources": {},
1015 "configurations": {},
1016 "fabricConfigurations": {},
1017 "serviceProxies": {},
1019 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": {
1020 "uuid": "25284168-24bb-4698-8cb4-3f509146eca5",
1021 "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1",
1022 "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
1023 "description": null,
1024 "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
1026 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
1028 "minCountInstances": 0,
1029 "maxCountInstances": null,
1031 "vfModuleLabel": "PASQUALE_vRE_BV",
1035 "volumeGroupAllowed": true
1037 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": {
1038 "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db",
1039 "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091",
1040 "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3",
1041 "description": null,
1042 "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
1044 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
1046 "minCountInstances": 1,
1047 "maxCountInstances": 1,
1049 "vfModuleLabel": "PASQUALE_base_vPE_BV",
1053 "volumeGroupAllowed": false
1055 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": {
1056 "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a",
1057 "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339",
1058 "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557",
1059 "description": null,
1060 "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
1062 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
1064 "minCountInstances": 0,
1065 "maxCountInstances": null,
1067 "vfModuleLabel": "PASQUALE_vPFE_BV",
1071 "volumeGroupAllowed": true
1075 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": {
1076 "uuid": "25284168-24bb-4698-8cb4-3f509146eca5",
1077 "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1",
1078 "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
1079 "description": null,
1080 "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
1082 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
1084 "minCountInstances": 0,
1085 "maxCountInstances": null,
1087 "vfModuleLabel": "PASQUALE_vRE_BV",
1092 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": {
1093 "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a",
1094 "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339",
1095 "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557",
1096 "description": null,
1097 "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
1099 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
1101 "minCountInstances": 0,
1102 "maxCountInstances": null,
1104 "vfModuleLabel": "PASQUALE_vPFE_BV",
1112 "groupingservicefortest..ResourceInstanceGroup..0": {
1114 "invariantUuid": "4bb2e27e-ddab-4790-9c6d-1f731bc14a45",
1115 "uuid": "daeb6568-cef8-417f-9075-ed259ce59f48",
1117 "name": "groupingservicefortest..ResourceInstanceGroup..0",
1118 "modelCustomizationName": "groupingservicefortest..ResourceInstanceGroup..0",
1120 "contained_resource_type": "VF",
1121 "role": "SERVICE-ACCESS",
1123 "description": "DDD0",
1124 "type": "LOAD-GROUP",
1125 "ecomp_generated_naming": "true"
1128 "vdorothea_svc_vprs_proxy 0": {
1129 "uuid": "65fadfa8-a0d9-443f-95ad-836cd044e26c",
1130 "invariantUuid": "f4baae0c-b3a5-4ca1-a777-afbffe7010bc",
1131 "description": "A Proxy for Service vDOROTHEA_Svc_vPRS",
1132 "name": "vDOROTHEA_Svc_vPRS Service Proxy",
1134 "customizationUuid": "bdb63d23-e132-4ce7-af2c-a493b4cafac9",
1138 "type": "Service Proxy",
1139 "sourceModelUuid": "da7827a2-366d-4be6-8c68-a69153c61274",
1140 "sourceModelInvariant": "24632e6b-584b-4f45-80d4-fefd75fd9f14",
1141 "sourceModelName": "vDOROTHEA_Svc_vPRS"
1145 "groupingservicefortest..ResourceInstanceGroup..1": {
1147 "invariantUuid": "a704112d-dbc6-4e56-8d4e-aec57e95ef9a",
1148 "uuid": "c2b300e6-45de-4e5e-abda-3032bee2de56",
1150 "name": "groupingservicefortest..ResourceInstanceGroup..1",
1151 "modelCustomizationName": "groupingservicefortest..ResourceInstanceGroup..1",
1153 "contained_resource_type": "VF",
1154 "role": "SERVICE-ACCESS",
1155 "function": "SIGNALING",
1156 "description": "DDD1",
1157 "type": "LOAD-GROUP",
1158 "ecomp_generated_naming": "true"
1161 "tsbc0001vm001_svc_proxy 0": {
1162 "uuid": "65fadfa8-a0d9-443f-95ad-836cd044e26c",
1163 "invariantUuid": "f4baae0c-b3a5-4ca1-a777-afbffe7010bc",
1164 "description": "A Proxy for Service tsbc0001vm001_Svc",
1165 "name": "tsbc0001vm001_Svc Service Proxy",
1167 "customizationUuid": "3d814462-30fb-4c62-b997-9aa360d27ead",
1171 "type": "Service Proxy",
1172 "sourceModelUuid": "28aeb8f6-5620-4148-8bfb-a5fb406f0309",
1173 "sourceModelInvariant": "c989ab9a-33c7-46ec-b521-1b2daef5f047",
1174 "sourceModelName": "tsbc0001vm001_Svc"
1180 "b75e0d22-05ff-4448-9266-5f0d4e1dbbd6": {
1182 "uuid": "b75e0d22-05ff-4448-9266-5f0d4e1dbbd6",
1183 "invariantUuid": "5b9c0f33-eec1-484a-bf77-736a6644d7a8",
1184 "name": "Using VID for VoIP Network Instantiations Shani",
1186 "toscaModelURL": null,
1187 "category": "VoIP Call Control",
1190 "description": "Using VID for VoIP Network Instantiations Shani",
1191 "serviceEcompNaming": "true",
1192 "instantiationType": "ClientConfig",
1194 "vidNotions": {"instantiationUI": "legacy", "modelCategory": "other", "viewEditUI": "legacy"}
1198 "AIC30_CONTRAIL_BASIC 0": {
1199 "uuid": "ac815c68-35b7-4ea4-9d04-92d2f844b27c",
1200 "invariantUuid": "de01afb5-532b-451d-aac4-ff9ff0644060",
1201 "description": "Basic contrail 3.0.x L3 network for AIC 3.x sites. ",
1202 "name": "AIC30_CONTRAIL_BASIC",
1204 "customizationUuid": "e94d61f7-b4b2-489a-a4a7-30b1a1a80daf",
1208 "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}}",
1209 "exVL_naming": "{ecomp_generated_naming=true}",
1210 "network_flows": "{is_network_policy=false, is_bound_to_vpn=false}",
1211 "network_scope": "Service",
1212 "network_type": "AIC30_CONTRAIL_BASIC",
1213 "network_technology": "Contrail",
1214 "network_homing": "{ecomp_selected_instance_node_target=false}"
1217 "modelCustomizationName": "AIC30_CONTRAIL_BASIC 0"
1220 "collectionResources": {},
1221 "configurations": {},
1222 "fabricConfigurations": {},
1223 "serviceProxies": {},
1230 "serviceInstance": {
1231 "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd": {
1233 "2017-488_PASQUALE-vPE 0": {
1236 "rollbackOnFailure": "true",
1237 "originalName": "2017-488_PASQUALE-vPE 0",
1238 "isMissingData": false,
1239 "trackById": "stigekyxrqi",
1241 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": {
1242 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0gytfi": {
1243 "isMissingData": false,
1244 "sdncPreReload": null,
1246 "modelType": "VFmodule",
1247 "modelInvariantId": "b34833bb-6aa9-4ad6-a831-70b06367a091",
1248 "modelVersionId": "f8360508-3f17-4414-a2ed-6bc71161e8db",
1249 "modelName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
1250 "modelVersion": "5",
1251 "modelCustomizationId": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3",
1252 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0"
1254 "instanceParams": [{}],
1255 "trackById": "3oj23o7nupo"
1259 "vnfStoreKey": "2017-488_PASQUALE-vPE 0",
1260 "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09",
1261 "productFamilyId": "d8a6ed93-251c-47ca-adc9-86671fd19f4c",
1262 "lcpCloudRegionId": "AAIAIC25",
1263 "tenantId": "092eb9e8e4b7412e8787dd091bc58e86",
1264 "lineOfBusiness": "ONAP",
1265 "platformName": "xxx1",
1267 "modelInvariantId": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8",
1268 "modelVersionId": "69e09f68-8b63-4cc9-b9ff-860960b5db09",
1269 "modelName": "2017-488_PASQUALE-vPE",
1270 "modelVersion": "5.0",
1271 "modelCustomizationName": "2017-488_PASQUALE-vPE 0",
1272 "modelCustomizationId": "1da7b585-5e61-4993-b95e-8e6606c81e45",
1273 "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09"
1275 "legacyRegion": "11111111",
1276 "instanceParams": [{}]
1278 "2017-388_PASQUALE-vPE 0": {
1281 "rollbackOnFailure": "true",
1282 "originalName": "2017-388_PASQUALE-vPE 0",
1283 "isMissingData": false,
1284 "trackById": "nib719t5vca",
1286 "vnfStoreKey": "2017-388_PASQUALE-vPE 0",
1287 "productFamilyId": "d8a6ed93-251c-47ca-adc9-86671fd19f4c",
1288 "lcpCloudRegionId": "AAIAIC25",
1289 "legacyRegion": "11111",
1290 "tenantId": "092eb9e8e4b7412e8787dd091bc58e86",
1291 "platformName": "platform",
1292 "lineOfBusiness": "zzz1",
1293 "instanceParams": [{}],
1295 "modelInvariantId": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8",
1296 "modelVersionId": "afacccf6-397d-45d6-b5ae-94c39734b168",
1297 "modelName": "2017-388_PASQUALE-vPE",
1298 "modelVersion": "4.0",
1299 "modelCustomizationId": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c",
1300 "modelCustomizationName": "2017-388_PASQUALE-vPE 0",
1301 "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168"
1303 "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168"
1305 "2017-388_PASQUALE-vPE 1": {
1308 "rollbackOnFailure": "true",
1309 "originalName": "2017-388_PASQUALE-vPE 1",
1310 "isMissingData": false,
1311 "trackById": "cv7l1ak8vpe",
1313 "vnfStoreKey": "2017-388_PASQUALE-vPE 1",
1314 "productFamilyId": "d8a6ed93-251c-47ca-adc9-86671fd19f4c",
1315 "lcpCloudRegionId": "AAIAIC25",
1316 "legacyRegion": "123",
1317 "tenantId": "092eb9e8e4b7412e8787dd091bc58e86",
1318 "platformName": "platform",
1319 "lineOfBusiness": "ONAP",
1320 "instanceParams": [{}],
1322 "modelInvariantId": "00beb8f9-6d39-452f-816d-c709b9cbb87d",
1323 "modelVersionId": "0903e1c0-8e03-4936-b5c2-260653b96413",
1324 "modelName": "2017-388_PASQUALE-vPE",
1325 "modelVersion": "1.0",
1326 "modelCustomizationId": "280dec31-f16d-488b-9668-4aae55d6648a",
1327 "modelCustomizationName": "2017-388_PASQUALE-vPE 1",
1328 "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413"
1330 "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413"
1333 "instanceParams": [{}],
1334 "validationCounter": 0,
1335 "existingNames": {"yoav": ""},
1336 "existingVNFCounterMap": {
1337 "69e09f68-8b63-4cc9-b9ff-860960b5db09": 1,
1338 "afacccf6-397d-45d6-b5ae-94c39734b168": 1,
1339 "0903e1c0-8e03-4936-b5c2-260653b96413": 1
1341 "existingVnfGroupCounterMap": {
1342 "daeb6568-cef8-417f-9075-ed259ce59f48": 0,
1343 "c2b300e6-45de-4e5e-abda-3032bee2de56": -1
1345 "existingNetworksCounterMap": {"ddc3f20c-08b5-40fd-af72-c6d14636b986": 1},
1349 "rollbackOnFailure": "true",
1350 "originalName": "ExtVL 0",
1351 "isMissingData": false,
1352 "trackById": "s6okajvv2n8",
1353 "networkStoreKey": "ExtVL 0",
1354 "productFamilyId": "d8a6ed93-251c-47ca-adc9-86671fd19f4c",
1355 "lcpCloudRegionId": "AAIAIC25",
1356 "legacyRegion": "12355555",
1357 "tenantId": "092eb9e8e4b7412e8787dd091bc58e86",
1358 "platformName": "platform",
1359 "lineOfBusiness": null,
1360 "instanceParams": [{}],
1362 "modelInvariantId": "379f816b-a7aa-422f-be30-17114ff50b7c",
1363 "modelVersionId": "ddc3f20c-08b5-40fd-af72-c6d14636b986",
1364 "modelName": "ExtVL",
1365 "modelVersion": "37.0",
1366 "modelCustomizationId": "94fdd893-4a36-4d70-b16a-ec29c54c184f",
1367 "modelCustomizationName": "ExtVL 0",
1368 "uuid": "ddc3f20c-08b5-40fd-af72-c6d14636b986"
1370 "uuid": "ddc3f20c-08b5-40fd-af72-c6d14636b986"
1374 "groupingservicefortest..ResourceInstanceGroup..0": {
1376 "rollbackOnFailure": "true",
1377 "originalName": "groupingservicefortest..ResourceInstanceGroup..0",
1378 "isMissingData": false,
1379 "trackById": "se0obn93qq",
1380 "vnfGroupStoreKey": "groupingservicefortest..ResourceInstanceGroup..0",
1381 "instanceName": "groupingservicefortestResourceInstanceGroup0",
1382 "instanceParams": [{}],
1384 "modelInvariantId": "4bb2e27e-ddab-4790-9c6d-1f731bc14a45",
1385 "modelVersionId": "daeb6568-cef8-417f-9075-ed259ce59f48",
1386 "modelName": "groupingservicefortest..ResourceInstanceGroup..0",
1387 "modelVersion": "1",
1388 "modelCustomizationName": "groupingservicefortest..ResourceInstanceGroup..0",
1389 "uuid": "daeb6568-cef8-417f-9075-ed259ce59f48"
1391 "uuid": "daeb6568-cef8-417f-9075-ed259ce59f48"
1394 "instanceName": "yoav",
1395 "globalSubscriberId": "e433710f-9217-458d-a79d-1c7aff376d89",
1396 "subscriptionServiceType": "TYLER SILVIA",
1397 "owningEntityId": "d61e6f2d-12fa-4cc2-91df-7c244011d6fc",
1398 "productFamilyId": "d8a6ed93-251c-47ca-adc9-86671fd19f4c",
1399 "lcpCloudRegionId": "AAIAIC25",
1400 "tenantId": "092eb9e8e4b7412e8787dd091bc58e86",
1401 "aicZoneId": "ATL53",
1403 "projectName": "WATKINS",
1404 "rollbackOnFailure": "true",
1406 "aicZoneName": "AAIATLTE-ATL53",
1407 "owningEntityName": "WayneHolland",
1408 "testApi": "VNF_API",
1409 "isEcompGeneratedNaming": false,
1410 "tenantName": "USP-SIP-IC-24335-T-01",
1412 "modelInvariantId": "cdb90b57-ed78-4d44-a5b4-7f43a02ec632",
1413 "modelVersionId": "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd",
1414 "modelName": "action-data",
1415 "modelVersion": "1.0",
1416 "uuid": "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd"
1418 "isALaCarte": false,
1419 "name": "action-data",
1421 "description": "PASQUALE vMX vPE based on Juniper 17.2 release. Updated with updated VF for v8.0 of VLM",
1422 "category": "Network L1-3",
1423 "uuid": "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd",
1424 "invariantUuid": "cdb90b57-ed78-4d44-a5b4-7f43a02ec632",
1425 "serviceType": "pnf",
1426 "serviceRole": "Testing",
1427 "vidNotions": {"instantiationUI": "legacy", "modelCategory": "other", "viewEditUI": "legacy"},
1428 "isMultiStepDesign": true
1431 "lcpRegionsAndTenants": {
1434 "name": "AAIAIC25 (AIC)",
1435 "isPermitted": true,
1436 "cloudOwner": "irma-aic"
1437 }, {"id": "hvf6", "name": "hvf6 (AIC)", "isPermitted": true, "cloudOwner": "irma-aic"}],
1438 "lcpRegionsTenantsMap": {
1440 "id": "092eb9e8e4b7412e8787dd091bc58e86",
1441 "name": "USP-SIP-IC-24335-T-01",
1442 "isPermitted": true,
1443 "cloudOwner": "irma-aic"
1446 "id": "bae71557c5bb4d5aac6743a4e5f1d054",
1447 "name": "AIN Web Tool-15-D-testalexandria",
1448 "isPermitted": true,
1449 "cloudOwner": "irma-aic"
1451 "id": "d0a3e3f2964542259d155a81c41aadc3",
1452 "name": "test-hvf6-09",
1453 "isPermitted": true,
1454 "cloudOwner": "irma-aic"
1456 "id": "fa45ca53c80b492fa8be5477cd84fc2b",
1458 "isPermitted": true,
1459 "cloudOwner": "irma-aic"
1461 "id": "cbb99fe4ada84631b7baf046b6fd2044",
1462 "name": "DN5242-Nov16-T3",
1463 "isPermitted": true,
1464 "cloudOwner": "irma-aic"
1469 "id": "ERICA5779-Subscriber-2",
1470 "name": "ERICA5779-Subscriber-2",
1471 "isPermitted": false
1473 "id": "ERICA5779-Subscriber-3",
1474 "name": "ERICA5779-Subscriber-3",
1475 "isPermitted": false
1477 "id": "ERICA5779-Subscriber-4",
1478 "name": "ERICA5779-Subscriber-5",
1479 "isPermitted": false
1481 "id": "ERICA5779-TestSub-PWT-101",
1482 "name": "ERICA5779-TestSub-PWT-101",
1483 "isPermitted": false
1485 "id": "ERICA5779-TestSub-PWT-102",
1486 "name": "ERICA5779-TestSub-PWT-102",
1487 "isPermitted": false
1489 "id": "ERICA5779-TestSub-PWT-103",
1490 "name": "ERICA5779-TestSub-PWT-103",
1491 "isPermitted": false
1493 "id": "31739f3e-526b-11e6-beb8-9e71128cae77",
1494 "name": "CRAIG/ROBERTS",
1495 "isPermitted": false
1496 }, {"id": "DHV1707-TestSubscriber-2", "name": "DALE BRIDGES", "isPermitted": false}, {
1497 "id": "jimmy-example",
1498 "name": "JimmyExampleCust-20161102",
1499 "isPermitted": false
1500 }, {"id": "jimmy-example2", "name": "JimmyExampleCust-20161103", "isPermitted": false}, {
1501 "id": "CAR_2020_ER",
1502 "name": "CAR_2020_ER",
1505 "id": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb",
1507 "isPermitted": false
1509 "id": "21014aa2-526b-11e6-beb8-9e71128cae77",
1510 "name": "JULIO ERICKSON",
1511 "isPermitted": false
1513 "id": "DHV1707-TestSubscriber-1",
1514 "name": "LLOYD BRIDGES",
1515 "isPermitted": false
1516 }, {"id": "e433710f-9217-458d-a79d-1c7aff376d89", "name": "SILVIA ROBBINS", "isPermitted": true}],
1517 "productFamilies": null,
1519 "e433710f-9217-458d-a79d-1c7aff376d89": [{
1521 "name": "JOHANNA_SANTOS",
1522 "isPermitted": false
1523 }, {"id": "16", "name": "LINDSEY", "isPermitted": false}, {
1526 "isPermitted": false
1527 }, {"id": "5", "name": "Kennedy", "isPermitted": false}, {
1530 "isPermitted": false
1531 }, {"id": "1", "name": "TYLER SILVIA", "isPermitted": true}, {
1534 "isPermitted": false
1535 }, {"id": "3", "name": "vJamie", "isPermitted": false}, {
1537 "name": "vRichardson",
1538 "isPermitted": false
1539 }, {"id": "18", "name": "vCarroll", "isPermitted": false}, {
1541 "name": "vFLORENCE",
1542 "isPermitted": false
1543 }, {"id": "13", "name": "vWINIFRED", "isPermitted": false}, {
1546 "isPermitted": false
1547 }, {"id": "15", "name": "vMOG", "isPermitted": false}, {
1550 "isPermitted": false
1551 }, {"id": "11", "name": "vEsmeralda", "isPermitted": false}, {
1553 "name": "vPorfirio",
1554 "isPermitted": false
1555 }, {"id": "7", "name": "vVM", "isPermitted": false}, {"id": "4", "name": "vVoiceMail", "isPermitted": false}]
1560 "name": "NFTJSSSS-NFT1"
1564 "name": "YUDFJULP-JAG1"
1568 "name": "UUUAIAAI-YYY1"
1572 "name": "AVTRFLHD-AVT1"
1576 "name": "ATLSANAI-ATL34"
1579 "categoryParameters": {
1580 "owningEntityList": [{
1583 }, {"id": "d61e6f2d-12fa-4cc2-91df-7c244011d6fc", "name": "WayneHolland"}, {
1587 "projectList": [{"id": "WATKINS", "name": "WATKINS"}, {"id": "x1", "name": "x1"}, {"id": "yyy1", "name": "yyy1"}],
1588 "lineOfBusinessList": [{"id": "ONAP", "name": "ONAP"}, {"id": "zzz1", "name": "zzz1"}],
1589 "platformList": [{"id": "platform", "name": "platform"}, {"id": "xxx1", "name": "xxx1"}]
1591 "type": "UPDATE_LCP_REGIONS_AND_TENANTS"
1597 function getNetworkModelInfoFromHierarchy(){
1600 "customizationUuid":"customization-id-from-hierarchy",
1601 "uuid": "UUID-from-hierarchy",
1602 "invariantUuid": "invariantId-from-hierarchy"
1606 function getSelectedModelInfo() {
1608 "instanceModelInfo": {
1609 "modelVersion": "5.0",
1610 "modelCustomizationId": "model-customization-id-from-instance",
1611 "modelVersionId": "UUID-from-instance",
1612 "modelInvariantId": "invariantId-from-instance"
1616 function getNetworkInstance() {
1619 "instanceId": "NETWORK4_INSTANCE_ID",
1620 "instanceType": "CONTRAIL30_HIMELGUARD",