dc4c2d3deac35fa767d913194d4893f1735436be
[vid.git] / vid-webpack-master / src / app / drawingBoard / service-planning / objectsToTree / shared.tree.service.spec.ts
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
48 class MockAppStore<T> {
49   getState() {
50     return getStore()
51   }
52
53   dispatch() {
54   }
55 }
56
57
58
59
60 function getNodeWithData(menuAction:string){
61   const nodeData = {
62     menuActions: {}
63   };
64   nodeData['menuActions'][menuAction] =  {
65     method: (node, serviceModelId) => {}
66   };
67   const node = {
68     parent: {
69       data: nodeData,
70       parent: {
71         data: nodeData
72       }
73     }
74   };
75   return node
76 }
77
78 describe('Shared Tree Service', () => {
79   let injector;
80   let service: SharedTreeService;
81   let _objectToInstanceTreeService: ObjectToInstanceTreeService;
82   let store: NgRedux<AppState>;
83
84   beforeAll(done => (async () => {
85     TestBed.configureTestingModule({
86       imports: [HttpClientTestingModule, NgReduxTestingModule, SdcUiComponentsModule],
87       providers: [
88         SharedTreeService,
89         SharedControllersService,
90         ObjectToTreeService,
91         DefaultDataGeneratorService,
92         DialogService,
93         VnfPopupService,
94         ControlGeneratorUtil,
95         AaiService,
96         LogService,
97         BasicPopupService,
98         VnfGroupPopupService,
99         DuplicateService,
100         IframeService,
101         DynamicInputsService,
102         NetworkPopupService,
103         NetworkControlGenerator,
104         VfModulePopupService,
105         VfModuleUpgradePopupService,
106         VfModuleControlGenerator,
107         VnfGroupControlGenerator,
108         DialogService,
109         FeatureFlagsService,
110         VnfControlGenerator,
111         AaiService,
112         DialogService,
113         GenericFormService,
114         FormBuilder,
115         ErrorMsgService,
116         ObjectToInstanceTreeService,
117         ComponentInfoService,
118         NetworkStepService,
119         VpnStepService,
120         ModalService,
121         CreateDynamicComponentService,
122         {provide: NgRedux, useClass: MockAppStore}
123       ]
124     });
125     await TestBed.compileComponents();
126     injector = getTestBed();
127     service = injector.get(SharedTreeService);
128     _objectToInstanceTreeService = injector.get(ObjectToInstanceTreeService);
129     store = injector.get(NgRedux);
130   })().then(done).catch(done.fail));
131
132   test('SharedTreeService should be defined', () => {
133     expect(service).toBeDefined();
134   });
135
136   test('SharedTreeService upgradeBottomUp should call redux actions', () => {
137     const serviceModelId = "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd";
138     const node = getNodeWithData("upgrade");
139     spyOn(node.parent.data.menuActions['upgrade'], 'method');
140     service.upgradeBottomUp(node, serviceModelId);
141     expect(node.parent.data.menuActions['upgrade'].method).toBeCalledWith(node.parent, serviceModelId);
142     expect(node.parent.data.menuActions['upgrade'].method).toBeCalledTimes(2);
143
144   });
145
146   test('SharedTreeService undoUpgradeBottomUp should call redux actions', () => {
147     const serviceModelId = "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd";
148     const node = getNodeWithData("undoUpgrade");
149     spyOn(node.parent.data.menuActions['undoUpgrade'], 'method');
150     service.undoUpgradeBottomUp(node, serviceModelId);
151     expect(node.parent.data.menuActions['undoUpgrade'].method).toBeCalledWith(node.parent, serviceModelId);
152     expect(node.parent.data.menuActions['undoUpgrade'].method).toBeCalledTimes(2);
153   });
154
155   test('shouldShowDeleteInstanceWithChildrenModal should open modal if child exist with action create', () => {
156     jest.spyOn(MessageBoxService.openModal, 'next');
157     let foo = () => {
158
159     };
160     let node = <any>{
161       children: [{action: "Create"}, {action: "None"}],
162       data: {
163         typeName: 'VNF'
164       }
165     };
166     service.shouldShowDeleteInstanceWithChildrenModal(node, "serviceModelId", foo);
167     expect(MessageBoxService.openModal.next).toHaveBeenCalled();
168   });
169
170   each([
171     ['volumeGroups by entry name', "volumeGroups",
172       "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1"],
173     ['vfmodule by customizationUuid', "vfModules",
174       "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1"],
175     ['vnf by customizationUuid', "vnfs",
176       "1da7b585-5e61-4993-b95e-8e6606c81e45", "2017-488_PASQUALE-vPE 0"],
177     ['vnfGroups by invariantUuid because no customizationUuid', "vnfGroups",
178       "4bb2e27e-ddab-4790-9c6d-1f731bc14a45", "groupingservicefortest..ResourceInstanceGroup..0"],
179   ]).test('modelByIdentifier should success: %s', (description, modelTypeName, modelUniqueIdOrName, expectedModelCustomizationName) => {
180     let serviceModelFromHierarchy =
181       getStore().service.serviceHierarchy["1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd"];
182
183     expect(service.modelByIdentifiers(serviceModelFromHierarchy, modelTypeName, modelUniqueIdOrName))
184       .toHaveProperty("modelCustomizationName", expectedModelCustomizationName);
185   });
186
187   each([
188     ['vfmodule by invariantUuid when there is customizationUuid', "vfModules", "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1"],
189     ['network by non-existing modelUniqueIdOrName', "networks", "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1"],
190     ['collectionResource has no resource', "collectionResources", "whatever"],
191     ['non-existing model-type', "fooBar", "whatever"],
192   ]).test('modelByIdentifier should fail: %s', (description, modelTypeName, modelUniqueIdOrName) => {
193     let serviceModelFromHierarchy =
194       getStore().service.serviceHierarchy["1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd"];
195
196     expect(service.modelByIdentifiers(serviceModelFromHierarchy, modelTypeName, modelUniqueIdOrName))
197       .toBeUndefined();
198   });
199
200   test('openAuditInfoModalInsideIframe should open modal for failed instance', () => {
201     jest.spyOn(AuditInfoModalComponent.openInstanceAuditInfoModal, 'next');
202
203     let modelInfoServiceMock: ILevelNodeInfo = new VnfModelInfo(null, null,
204       null, null, null, null, null,
205       null, null, null, null,null, null);
206     const modelMock = {"a": "a"};
207     const instanceMock = {"instance": "instance", "trackById": "123456789"};
208     const instanceTypeMock = "instanceTypeMock";
209     jest.spyOn(modelInfoServiceMock, 'getModel').mockReturnValue(modelMock);
210     let node = <any>{
211       data: {
212         modelId: '6b528779-44a3-4472-bdff-9cd15ec93450',
213         trackById: '1245df21',
214         isFailed: true
215       }
216     };
217     service.openAuditInfoModal(node, "serviceModelId", instanceMock, instanceTypeMock, <any>modelInfoServiceMock);
218     expect(AuditInfoModalComponent.openInstanceAuditInfoModal.next).toHaveBeenCalledWith(
219       {
220         "instance": instanceMock,
221         "instanceId": "serviceModelId",
222         "model": modelMock,
223         "type": instanceTypeMock
224       });
225   });
226   each([
227     ['undefined', 'Unlimited (default)', {}],
228     ['null', 'Unlimited (default)', {max:null}],
229     ['3', '3', {max:3}],
230     ]).
231   test("when there is %s max instances in model , shell return %s text", (desc, expected, model) =>{
232     expect(service.createMaximumToInstantiateModelInformationItem(model).values[0]).toBe(expected);
233   });
234
235   test('shouldShowDeleteInstanceWithChildrfenModal should not open modal if all childs with action None', () => {
236     let foo = () => {
237     };
238     spyOn(MessageBoxService.openModal, 'next');
239
240     let node = <any>{
241       children: [{action: "None"}, {action: "None"}],
242       data: {
243         typeName: 'VNF'
244       }
245     };
246     service.shouldShowDeleteInstanceWithChildrenModal(node, "serviceModelId", foo);
247     expect(MessageBoxService.openModal.next).not.toHaveBeenCalled();
248   });
249
250   test ('addGeneralInfoItems should return correct info - ordered',()=>{
251     let specificNetworkInfo = [
252       ModelInformationItem.createInstance('Network role', "network role 1, network role 2")
253     ];
254     const actualInfoModel: ComponentInfoModel = service.addGeneralInfoItems(specificNetworkInfo,ComponentInfoType.NETWORK, getNetworkModel(),getNetworkInstance());
255
256     let expectedGeneralInfo = [
257       ModelInformationItem.createInstance('Model version', '37.0'),
258       ModelInformationItem.createInstance('Model customization ID', '94fdd893-4a36-4d70-b16a-ec29c54c184f'),
259       ModelInformationItem.createInstance('Instance ID', 'NETWORK4_INSTANCE_ID'),
260       ModelInformationItem.createInstance('Instance type', 'CONTRAIL30_HIMELGUARD'),
261       ModelInformationItem.createInstance('In maintenance', false),
262       ModelInformationItem.createInstance('Network role', 'network role 1, network role 2')
263     ];
264     expect(actualInfoModel.modelInfoItems).toEqual(expectedGeneralInfo);
265   });
266
267
268   test('statusProperties should be prop on node according to node properties', () => {
269     let node = service.addingStatusProperty({orchStatus: 'completed', provStatus: 'inProgress', inMaint: false});
270     expect(node.statusProperties).toBeDefined();
271     expect(node.statusProperties).toEqual([Object({
272       key: 'Prov Status:',
273       value: 'inProgress',
274       testId: 'provStatus'
275     }), Object({key: 'Orch Status:', value: 'completed', testId: 'orchStatus'})]);
276     node = service.addingStatusProperty({orchStatus: 'completed', provStatus: 'inProgress', inMaint: true});
277     expect(node.statusProperties).toEqual([Object({
278       key: 'Prov Status:',
279       value: 'inProgress',
280       testId: 'provStatus'
281     }), Object({key: 'Orch Status:', value: 'completed', testId: 'orchStatus'}), Object({
282       key: 'In-maintenance',
283       value: '',
284       testId: 'inMaint'
285     })]);
286   });
287
288   each([
289     [false, 'method is not in menu actions', ServiceInstanceActions.None, DrawingBoardModes.EDIT, {}, true],
290     [false, 'there is no action in node', null, DrawingBoardModes.EDIT, {someMethod: "someValue"}, true],
291     [true, 'edit mode, action is none, method in menu action', ServiceInstanceActions.None, DrawingBoardModes.EDIT, {someMethod: "someValue"}, true],
292     [false, 'edit mode, action is none, method in menu action, macro service', ServiceInstanceActions.None, DrawingBoardModes.EDIT, {someMethod: "someValue"}, false],
293     [false, 'edit mode, action is not none, method in menu action', ServiceInstanceActions.Resume, DrawingBoardModes.EDIT, {someMethod: "someValue"}, true],
294     [false, 'edit mode, action is CREATE, method in menu action', ServiceInstanceActions.Resume, DrawingBoardModes.EDIT, {someMethod: "someValue"}, true]
295   ]).test('shouldShowButtonGeneric return %s if %s ', (expected, description, action, mode, menuActions, isALaCarte) => {
296     jest.spyOn(store, 'getState').mockReturnValue(<any>{
297       global: {
298         drawingBoardStatus: mode
299       },
300       service : {
301         serviceInstance: {
302           someModelId : {
303             isALaCarte
304           }
305         }
306
307       }
308     });
309     let node = <any>{
310       data:{
311         action: action,
312         menuActions: menuActions
313       },
314     };
315
316     let res = service.shouldShowButtonGeneric(node, "someMethod", "someModelId");
317     expect(res).toBe(expected);
318   });
319
320   const enableRemoveAndEditItemsDataProvider = [
321     ['Create action CREATE mode', DrawingBoardModes.CREATE ,ServiceInstanceActions.Create, true],
322     ['Create action VIEW mode',DrawingBoardModes.VIEW , ServiceInstanceActions.Create,false],
323     ['Create action RETRY_EDIT mode',DrawingBoardModes.RETRY_EDIT,  ServiceInstanceActions.Create,  true],
324     ['Create action EDIT mode',DrawingBoardModes.EDIT, ServiceInstanceActions.Create,  true],
325     ['Create action RETRY mode',DrawingBoardModes.RETRY, ServiceInstanceActions.Create,  false],
326     ['None action EDIT mode',DrawingBoardModes.EDIT,  ServiceInstanceActions.None, false],
327     ['None action RETRY_EDIT mode', DrawingBoardModes.RETRY_EDIT, ServiceInstanceActions.None, false]];
328   each(enableRemoveAndEditItemsDataProvider).test('shouldShowEditAndDelete if child exist with %s', (description, mode, action, enabled) => {
329     jest.spyOn(store, 'getState').mockReturnValue(<any>{
330         global: {
331           drawingBoardStatus: mode
332         }
333       });
334       let node = <any>{
335         data:{
336           action: action
337         },
338       };
339       let res = service.shouldShowRemoveAndEdit(node);
340       expect(res).toBe(enabled);
341     });
342
343
344   const isVfmoduleAlmostPartOfModelOnlyCustomizationUuidDifferProvider = [
345     ['node is part of model, but vfmodule diff by customization',
346       true, 'mDNS 01222020 0', '9fdc68e9-9f53-431c-b8a2-7e337b9a0d0a', '82160e6e-d9c4-45ef-bd19-01573ab11b61'],
347
348     ['vnf model-name not found',
349       false, 'mDNS 01222020 1', '9fdc68e9-9f53-431c-b8a2-7e337b9a0d0a', '82160e6e-d9c4-45ef-bd19-01573ab11b61'],
350
351     ['vfmodule invariant-id not found',
352       false, 'mDNS 01222020 0', 'wrong invariant-id', '82160e6e-d9c4-45ef-bd19-01573ab11b61'],
353
354     ['vfmodule customization-id match',
355       false, 'mDNS 01222020 0', '9fdc68e9-9f53-431c-b8a2-7e337b9a0d0a', 'c9b32003-febc-44e0-a97f-7630fa7fa4a0'],
356   ];
357
358   each(isVfmoduleAlmostPartOfModelOnlyCustomizationUuidDifferProvider).test('isVfmoduleAlmostPartOfModelOnlyCustomizationUuidDiffer: when  %s should return %s', (description, expected, vnfModelName, invariantUuid, customizationUuid) => {
359     const serviceModelId : string = 'a243da28-c11e-45a8-9f26-0284a9a789bc';
360     spyOn(store, 'getState').and.returnValue({
361       service : {
362         serviceHierarchy : {
363           [serviceModelId] : {
364             vnfs : {
365               [vnfModelName] : {
366                 vfModules : {
367                   vfModuleModelName : {
368                     invariantUuid : invariantUuid,
369                     customizationUuid : customizationUuid
370                   }
371                 }
372               }
373             }
374           }
375         }
376       }
377     });
378
379     const node = <any>{
380       data:{
381         modelInvariantId : '9fdc68e9-9f53-431c-b8a2-7e337b9a0d0a',
382         modelCustomizationId : 'c9b32003-febc-44e0-a97f-7630fa7fa4a0',
383         modelName : 'vfModuleModelName'
384       },
385       parent : {
386         data : {
387           modelName : "mDNS 01222020 0"
388         }
389       }
390     };
391
392     const isDiffCustomizationUuidResponse : boolean = service.isVfmoduleAlmostPartOfModelOnlyCustomizationUuidDiffer(node, serviceModelId);
393     expect(isDiffCustomizationUuidResponse).toEqual(expected);
394   });
395
396   each([
397     [false, true, true, false],
398     [true, true, true, true],
399     [true, true, false, true],
400     [true, false, true, true],
401     [true, false, false, false],
402   ]).
403   test('when flag is %s the UpdatedLatestVersion is %s and Vfmodule not exists on hierarchy is %s isShouldShowButtonGenericMustToBeCalled should return %s', (
404      flag: boolean,
405      isThereAnUpdatedLatestVersion: boolean,
406      isVfModuleCustomizationIdNotExistsOnModel: boolean,
407      isShouldShowButtonGenericMustToBeCalled: boolean
408      ) => {
409       let node = <any>  {};
410       let serviceModelId : string = '08c5fa17-769a-4231-bd92-aed4b0ed086d';
411       jest.spyOn(store, 'getState').mockReturnValue(<any>{
412         global: {
413           "flags": {
414             "FLAG_FLASH_REPLACE_VF_MODULE": flag,
415           },
416         }
417       });
418       spyOn(service, 'isThereAnUpdatedLatestVersion').and.returnValue(isThereAnUpdatedLatestVersion);
419       spyOn(service, 'isVfModuleCustomizationIdNotExistsOnModel').and.returnValue(isVfModuleCustomizationIdNotExistsOnModel);
420
421       expect(service.isVfMoudleCouldBeUpgraded(node, serviceModelId)).toEqual(isShouldShowButtonGenericMustToBeCalled);
422     });
423
424   each([
425     ['Vfm customization uuid not exists in model', 'not-existing-customization-uuid', 'service-model-id', true],
426     ['Vfm customization uuid exists in model', 'existing-customization-uuid', 'service-model-id', false]
427   ]).
428   test('%s when vfModuleNode is  %s and serviceModelId is %s ', (
429     description,
430     modelCustomizationId,
431     serviceModelId: string,
432     isExistsOnHierarchy: boolean,
433     ) => {
434
435     const vfModuleNode = { data: {
436         modelCustomizationId : modelCustomizationId
437       }};
438
439     jest.spyOn(store, 'getState').mockReturnValue(<any>{
440       service : {
441         "serviceHierarchy": {
442           [serviceModelId]: {
443             "vfModules": {
444               "module-1": {
445                 "customizationUuid": "3d7f41c8-333b-4fee-b50d-5687e9c2170f",
446               },
447               "module-2": {
448                 "customizationUuid": "existing-customization-uuid",
449               }
450             }
451           }
452         }
453       }
454     });
455     expect(service.isVfModuleCustomizationIdNotExistsOnModel(vfModuleNode, serviceModelId)).toEqual(isExistsOnHierarchy);
456
457
458   });
459
460 });
461
462 function getStore() {
463   return {
464     "global": {
465       "name": null,
466       "flags": {
467         "EMPTY_DRAWING_BOARD_TEST": false,
468         "FLAG_NETWORK_TO_ASYNC_INSTANTIATION": false,
469         "FLAG_ADD_MSO_TESTAPI_FIELD": true,
470         "FLAG_SERVICE_MODEL_CACHE": true,
471         "FLAG_SHOW_ASSIGNMENTS": true,
472         "FLAG_FABRIC_CONFIGURATION_ASSIGNMENTS": true,
473         "FLAG_A_LA_CARTE_AUDIT_INFO": true,
474         "FLAG_1810_CR_ADD_CLOUD_OWNER_TO_MSO_REQUEST": true,
475         "FLAG_PRESENT_PROVIDER_NETWORKS_ASSOCIATIONS": true,
476         "FLAG_1902_NEW_VIEW_EDIT": true,
477         "FLAG_1810_IDENTIFY_SERVICE_FOR_NEW_UI": false,
478         "FLAG_1902_VNF_GROUPING": true,
479         "FLAG_SHOW_VERIFY_SERVICE": true,
480         "FLAG_ASYNC_ALACARTE_VFMODULE": true,
481         "FLAG_ASYNC_ALACARTE_VNF": true,
482         "FLAG_1810_AAI_LOCAL_CACHE": true,
483         "FLAG_EXP_USE_DEFAULT_HOST_NAME_VERIFIER": false,
484         "FLAG_EXP_ANY_ALACARTE_NEW_INSTANTIATION_UI": false,
485         "FLAG_SUPPLEMENTARY_FILE": true,
486         "FLAG_5G_IN_NEW_INSTANTIATION_UI": true,
487         "FLAG_RESTRICTED_SELECT": false,
488         "FLAG_1810_CR_LET_SELECTING_COLLECTOR_TYPE_UNCONDITIONALLY": true
489       },
490       "drawingBoardStatus": "VIEW",
491       "type": "UPDATE_DRAWING_BOARD_STATUS"
492     },
493     "service": {
494       "serviceHierarchy": {
495         "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd": {
496           "service": {
497             "uuid": "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd",
498             "invariantUuid": "cdb90b57-ed78-4d44-a5b4-7f43a02ec632",
499             "name": "action-data",
500             "version": "1.0",
501             "toscaModelURL": null,
502             "category": "Network L1-3",
503             "serviceType": "pnf",
504             "serviceRole": "Testing",
505             "description": "PASQUALE vMX vPE based on Juniper 17.2 release. Updated with updated VF for v8.0 of VLM",
506             "serviceEcompNaming": "false",
507             "instantiationType": "Macro",
508             "inputs": {},
509             "vidNotions": {"instantiationUI": "legacy", "modelCategory": "other", "viewEditUI": "legacy"}
510           },
511           "vnfs": {
512             "2017-388_PASQUALE-vPE 1": {
513               "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413",
514               "invariantUuid": "00beb8f9-6d39-452f-816d-c709b9cbb87d",
515               "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",
516               "name": "2017-388_PASQUALE-vPE",
517               "version": "1.0",
518               "customizationUuid": "280dec31-f16d-488b-9668-4aae55d6648a",
519               "inputs": {},
520               "commands": {},
521               "properties": {
522                 "vmxvre_retype": "RE-VMX",
523                 "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version",
524                 "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d",
525                 "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9",
526                 "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF",
527                 "int_ctl_net_name": "VMX-INTXI",
528                 "vmx_int_ctl_prefix": "10.0.0.10",
529                 "sriov43_net_id": "da349ca1-6de9-4548-be88-2d88e99bfef5",
530                 "sriov42_net_id": "760669ba-013d-4d9b-b0e7-4151fe2e6279",
531                 "sriov41_net_id": "25ad52d5-c165-40f8-b3b0-ddfc2373280a",
532                 "nf_type": "vPE",
533                 "vmxvpfe_int_ctl_ip_1": "10.0.0.10",
534                 "is_AVPN_service": "false",
535                 "vmx_RSG_name": "vREXI-affinity",
536                 "vmx_int_ctl_forwarding": "l2",
537                 "vmxvre_oam_ip_0": "10.0.0.10",
538                 "vmxvpfe_sriov44_0_port_mac": "00:11:22:EF:AC:DF",
539                 "vmxvpfe_sriov41_0_port_vlanstrip": "false",
540                 "vmxvpfe_sriov42_0_port_vlanfilter": "4001",
541                 "vmxvpfe_sriov44_0_port_unknownunicastallow": "true",
542                 "vmxvre_image_name_0": "VRE-ENGINE_17.2-S2.1.qcow2",
543                 "vmxvre_instance": "0",
544                 "vmxvpfe_sriov43_0_port_mac": "00:11:22:EF:AC:DF",
545                 "vmxvre_flavor_name": "ns.c1r16d32.v5",
546                 "vmxvpfe_volume_size_0": "40.0",
547                 "vmxvpfe_sriov43_0_port_vlanfilter": "4001",
548                 "nf_naming": "{ecomp_generated_naming=true}",
549                 "multi_stage_design": "true",
550                 "nf_naming_code": "Navneet",
551                 "vmxvre_name_0": "vREXI",
552                 "vmxvpfe_sriov42_0_port_vlanstrip": "false",
553                 "vmxvpfe_volume_name_0": "vPFEXI_FBVolume",
554                 "vmx_RSG_id": "bd89a33c-13c3-4a04-8fde-1a57eb123141",
555                 "vmxvpfe_image_name_0": "VPE_ROUTING-ENGINE_17.2R1-S2.1.qcow2",
556                 "vmxvpfe_sriov43_0_port_unknownunicastallow": "true",
557                 "vmxvpfe_sriov44_0_port_unknownmulticastallow": "true",
558                 "vmxvre_console": "vidconsole",
559                 "vmxvpfe_sriov44_0_port_vlanfilter": "4001",
560                 "vmxvpfe_sriov42_0_port_mac": "00:11:22:EF:AC:DF",
561                 "vmxvpfe_volume_id_0": "47cede15-da2f-4397-a101-aa683220aff3",
562                 "vmxvpfe_sriov42_0_port_unknownmulticastallow": "true",
563                 "vmxvpfe_sriov44_0_port_vlanstrip": "false",
564                 "vf_module_id": "123",
565                 "nf_function": "JAI",
566                 "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true",
567                 "vmxvre_int_ctl_ip_0": "10.0.0.10",
568                 "ecomp_generated_naming": "true",
569                 "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI",
570                 "vnf_name": "mtnj309me6vre",
571                 "vmxvpfe_sriov41_0_port_unknownunicastallow": "true",
572                 "vmxvre_volume_type_1": "HITACHI",
573                 "vmxvpfe_sriov44_0_port_broadcastallow": "true",
574                 "vmxvre_volume_type_0": "HITACHI",
575                 "vmxvpfe_volume_type_0": "HITACHI",
576                 "vmxvpfe_sriov43_0_port_broadcastallow": "true",
577                 "bandwidth_units": "get_input:2017488_pasqualevpe0_bandwidth_units",
578                 "vnf_id": "123",
579                 "vmxvre_oam_prefix": "24",
580                 "availability_zone_0": "mtpocfo-kvm-az01",
581                 "ASN": "get_input:2017488_pasqualevpe0_ASN",
582                 "vmxvre_chassis_i2cid": "161",
583                 "vmxvpfe_name_0": "vPFEXI",
584                 "bandwidth": "get_input:2017488_pasqualevpe0_bandwidth",
585                 "availability_zone_max_count": "1",
586                 "vmxvre_volume_size_0": "45.0",
587                 "vmxvre_volume_size_1": "50.0",
588                 "vmxvpfe_sriov42_0_port_broadcastallow": "true",
589                 "vmxvre_oam_gateway": "10.0.0.10",
590                 "vmxvre_volume_name_1": "vREXI_FAVolume",
591                 "vmxvre_ore_present": "0",
592                 "vmxvre_volume_name_0": "vREXI_FBVolume",
593                 "vmxvre_type": "0",
594                 "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name",
595                 "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true",
596                 "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429",
597                 "vmx_int_ctl_len": "24",
598                 "vmxvpfe_sriov43_0_port_vlanstrip": "false",
599                 "vmxvpfe_sriov41_0_port_broadcastallow": "true",
600                 "vmxvre_volume_id_1": "6e86797e-03cd-4fdc-ba72-2957119c746d",
601                 "vmxvpfe_sriov41_0_port_vlanfilter": "4001",
602                 "nf_role": "Testing",
603                 "vmxvre_volume_id_0": "f4eacb79-f687-4e9d-b760-21847c8bb15a",
604                 "vmxvpfe_sriov42_0_port_unknownunicastallow": "true",
605                 "vmxvpfe_flavor_name": "ns.c20r16d25.v5"
606               },
607               "type": "VF",
608               "modelCustomizationName": "2017-388_PASQUALE-vPE 1",
609               "vfModules": {},
610               "volumeGroups": {},
611               "vfcInstanceGroups": {}
612             },
613             "2017-388_PASQUALE-vPE 0": {
614               "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168",
615               "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8",
616               "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",
617               "name": "2017-388_PASQUALE-vPE",
618               "version": "4.0",
619               "customizationUuid": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c",
620               "inputs": {},
621               "commands": {},
622               "properties": {
623                 "vmxvre_retype": "RE-VMX",
624                 "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version",
625                 "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d",
626                 "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9",
627                 "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF",
628                 "int_ctl_net_name": "VMX-INTXI",
629                 "vmx_int_ctl_prefix": "10.0.0.10",
630                 "sriov43_net_id": "da349ca1-6de9-4548-be88-2d88e99bfef5",
631                 "sriov42_net_id": "760669ba-013d-4d9b-b0e7-4151fe2e6279",
632                 "sriov41_net_id": "25ad52d5-c165-40f8-b3b0-ddfc2373280a",
633                 "nf_type": "vPE",
634                 "vmxvpfe_int_ctl_ip_1": "10.0.0.10",
635                 "is_AVPN_service": "false",
636                 "vmx_RSG_name": "vREXI-affinity",
637                 "vmx_int_ctl_forwarding": "l2",
638                 "vmxvre_oam_ip_0": "10.0.0.10",
639                 "vmxvpfe_sriov44_0_port_mac": "00:11:22:EF:AC:DF",
640                 "vmxvpfe_sriov41_0_port_vlanstrip": "false",
641                 "vmxvpfe_sriov42_0_port_vlanfilter": "4001",
642                 "vmxvpfe_sriov44_0_port_unknownunicastallow": "true",
643                 "vmxvre_image_name_0": "VRE-ENGINE_17.2-S2.1.qcow2",
644                 "vmxvre_instance": "0",
645                 "vmxvpfe_sriov43_0_port_mac": "00:11:22:EF:AC:DF",
646                 "vmxvre_flavor_name": "ns.c1r16d32.v5",
647                 "vmxvpfe_volume_size_0": "40.0",
648                 "vmxvpfe_sriov43_0_port_vlanfilter": "4001",
649                 "nf_naming": "{ecomp_generated_naming=true}",
650                 "multi_stage_design": "true",
651                 "nf_naming_code": "Navneet",
652                 "vmxvre_name_0": "vREXI",
653                 "vmxvpfe_sriov42_0_port_vlanstrip": "false",
654                 "vmxvpfe_volume_name_0": "vPFEXI_FBVolume",
655                 "vmx_RSG_id": "bd89a33c-13c3-4a04-8fde-1a57eb123141",
656                 "vmxvpfe_image_name_0": "VPE_ROUTING-ENGINE_17.2R1-S2.1.qcow2",
657                 "vmxvpfe_sriov43_0_port_unknownunicastallow": "true",
658                 "vmxvpfe_sriov44_0_port_unknownmulticastallow": "true",
659                 "vmxvre_console": "vidconsole",
660                 "vmxvpfe_sriov44_0_port_vlanfilter": "4001",
661                 "vmxvpfe_sriov42_0_port_mac": "00:11:22:EF:AC:DF",
662                 "vmxvpfe_volume_id_0": "47cede15-da2f-4397-a101-aa683220aff3",
663                 "vmxvpfe_sriov42_0_port_unknownmulticastallow": "true",
664                 "vmxvpfe_sriov44_0_port_vlanstrip": "false",
665                 "vf_module_id": "123",
666                 "nf_function": "JAI",
667                 "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true",
668                 "vmxvre_int_ctl_ip_0": "10.0.0.10",
669                 "ecomp_generated_naming": "true",
670                 "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI",
671                 "vnf_name": "mtnj309me6vre",
672                 "vmxvpfe_sriov41_0_port_unknownunicastallow": "true",
673                 "vmxvre_volume_type_1": "HITACHI",
674                 "vmxvpfe_sriov44_0_port_broadcastallow": "true",
675                 "vmxvre_volume_type_0": "HITACHI",
676                 "vmxvpfe_volume_type_0": "HITACHI",
677                 "vmxvpfe_sriov43_0_port_broadcastallow": "true",
678                 "bandwidth_units": "get_input:2017488_pasqualevpe0_bandwidth_units",
679                 "vnf_id": "123",
680                 "vmxvre_oam_prefix": "24",
681                 "availability_zone_0": "mtpocfo-kvm-az01",
682                 "ASN": "get_input:2017488_pasqualevpe0_ASN",
683                 "vmxvre_chassis_i2cid": "161",
684                 "vmxvpfe_name_0": "vPFEXI",
685                 "bandwidth": "get_input:2017488_pasqualevpe0_bandwidth",
686                 "availability_zone_max_count": "1",
687                 "vmxvre_volume_size_0": "45.0",
688                 "vmxvre_volume_size_1": "50.0",
689                 "vmxvpfe_sriov42_0_port_broadcastallow": "true",
690                 "vmxvre_oam_gateway": "10.0.0.10",
691                 "vmxvre_volume_name_1": "vREXI_FAVolume",
692                 "vmxvre_ore_present": "0",
693                 "vmxvre_volume_name_0": "vREXI_FBVolume",
694                 "vmxvre_type": "0",
695                 "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name",
696                 "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true",
697                 "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429",
698                 "vmx_int_ctl_len": "24",
699                 "vmxvpfe_sriov43_0_port_vlanstrip": "false",
700                 "vmxvpfe_sriov41_0_port_broadcastallow": "true",
701                 "vmxvre_volume_id_1": "6e86797e-03cd-4fdc-ba72-2957119c746d",
702                 "vmxvpfe_sriov41_0_port_vlanfilter": "4001",
703                 "nf_role": "Testing",
704                 "vmxvre_volume_id_0": "f4eacb79-f687-4e9d-b760-21847c8bb15a",
705                 "vmxvpfe_sriov42_0_port_unknownunicastallow": "true",
706                 "vmxvpfe_flavor_name": "ns.c20r16d25.v5"
707               },
708               "type": "VF",
709               "modelCustomizationName": "2017-388_PASQUALE-vPE 0",
710               "vfModules": {},
711               "volumeGroups": {},
712               "vfcInstanceGroups": {}
713             },
714             "2017-488_PASQUALE-vPE 0": {
715               "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09",
716               "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8",
717               "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",
718               "name": "2017-488_PASQUALE-vPE",
719               "version": "5.0",
720               "customizationUuid": "1da7b585-5e61-4993-b95e-8e6606c81e45",
721               "inputs": {},
722               "commands": {},
723               "properties": {
724                 "max_instances": 1,
725                 "vmxvre_retype": "RE-VMX",
726                 "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version",
727                 "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d",
728                 "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9",
729                 "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF",
730                 "int_ctl_net_name": "VMX-INTXI",
731                 "vmx_int_ctl_prefix": "10.0.0.10",
732                 "sriov43_net_id": "da349ca1-6de9-4548-be88-2d88e99bfef5",
733                 "sriov42_net_id": "760669ba-013d-4d9b-b0e7-4151fe2e6279",
734                 "sriov41_net_id": "25ad52d5-c165-40f8-b3b0-ddfc2373280a",
735                 "nf_type": "vPE",
736                 "vmxvpfe_int_ctl_ip_1": "10.0.0.10",
737                 "is_AVPN_service": "false",
738                 "vmx_RSG_name": "vREXI-affinity",
739                 "vmx_int_ctl_forwarding": "l2",
740                 "vmxvre_oam_ip_0": "10.0.0.10",
741                 "vmxvpfe_sriov44_0_port_mac": "00:11:22:EF:AC:DF",
742                 "vmxvpfe_sriov41_0_port_vlanstrip": "false",
743                 "vmxvpfe_sriov42_0_port_vlanfilter": "4001",
744                 "vmxvpfe_sriov44_0_port_unknownunicastallow": "true",
745                 "vmxvre_image_name_0": "VRE-ENGINE_17.2-S2.1.qcow2",
746                 "vmxvre_instance": "0",
747                 "vmxvpfe_sriov43_0_port_mac": "00:11:22:EF:AC:DF",
748                 "vmxvre_flavor_name": "ns.c1r16d32.v5",
749                 "vmxvpfe_volume_size_0": "40.0",
750                 "vmxvpfe_sriov43_0_port_vlanfilter": "4001",
751                 "nf_naming": "{ecomp_generated_naming=true}",
752                 "multi_stage_design": "true",
753                 "nf_naming_code": "Navneet",
754                 "vmxvre_name_0": "vREXI",
755                 "vmxvpfe_sriov42_0_port_vlanstrip": "false",
756                 "vmxvpfe_volume_name_0": "vPFEXI_FBVolume",
757                 "vmx_RSG_id": "bd89a33c-13c3-4a04-8fde-1a57eb123141",
758                 "vmxvpfe_image_name_0": "VPE_ROUTING-ENGINE_17.2R1-S2.1.qcow2",
759                 "vmxvpfe_sriov43_0_port_unknownunicastallow": "true",
760                 "vmxvpfe_sriov44_0_port_unknownmulticastallow": "true",
761                 "vmxvre_console": "vidconsole",
762                 "vmxvpfe_sriov44_0_port_vlanfilter": "4001",
763                 "vmxvpfe_sriov42_0_port_mac": "00:11:22:EF:AC:DF",
764                 "vmxvpfe_volume_id_0": "47cede15-da2f-4397-a101-aa683220aff3",
765                 "vmxvpfe_sriov42_0_port_unknownmulticastallow": "true",
766                 "vmxvpfe_sriov44_0_port_vlanstrip": "false",
767                 "vf_module_id": "123",
768                 "nf_function": "JAI",
769                 "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true",
770                 "vmxvre_int_ctl_ip_0": "10.0.0.10",
771                 "ecomp_generated_naming": "true",
772                 "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI",
773                 "vnf_name": "mtnj309me6vre",
774                 "vmxvpfe_sriov41_0_port_unknownunicastallow": "true",
775                 "vmxvre_volume_type_1": "HITACHI",
776                 "vmxvpfe_sriov44_0_port_broadcastallow": "true",
777                 "vmxvre_volume_type_0": "HITACHI",
778                 "vmxvpfe_volume_type_0": "HITACHI",
779                 "vmxvpfe_sriov43_0_port_broadcastallow": "true",
780                 "bandwidth_units": "get_input:2017488_pasqualevpe0_bandwidth_units",
781                 "vnf_id": "123",
782                 "vmxvre_oam_prefix": "24",
783                 "availability_zone_0": "mtpocfo-kvm-az01",
784                 "ASN": "get_input:2017488_pasqualevpe0_ASN",
785                 "vmxvre_chassis_i2cid": "161",
786                 "vmxvpfe_name_0": "vPFEXI",
787                 "bandwidth": "get_input:2017488_pasqualevpe0_bandwidth",
788                 "availability_zone_max_count": "1",
789                 "vmxvre_volume_size_0": "45.0",
790                 "vmxvre_volume_size_1": "50.0",
791                 "vmxvpfe_sriov42_0_port_broadcastallow": "true",
792                 "vmxvre_oam_gateway": "10.0.0.10",
793                 "vmxvre_volume_name_1": "vREXI_FAVolume",
794                 "vmxvre_ore_present": "0",
795                 "vmxvre_volume_name_0": "vREXI_FBVolume",
796                 "vmxvre_type": "0",
797                 "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name",
798                 "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true",
799                 "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429",
800                 "vmx_int_ctl_len": "24",
801                 "vmxvpfe_sriov43_0_port_vlanstrip": "false",
802                 "vmxvpfe_sriov41_0_port_broadcastallow": "true",
803                 "vmxvre_volume_id_1": "6e86797e-03cd-4fdc-ba72-2957119c746d",
804                 "vmxvpfe_sriov41_0_port_vlanfilter": "4001",
805                 "nf_role": "Testing",
806                 "vmxvre_volume_id_0": "f4eacb79-f687-4e9d-b760-21847c8bb15a",
807                 "vmxvpfe_sriov42_0_port_unknownunicastallow": "true",
808                 "vmxvpfe_flavor_name": "ns.c20r16d25.v5"
809               },
810               "type": "VF",
811               "modelCustomizationName": "2017-488_PASQUALE-vPE 0",
812               "vfModules": {
813                 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": {
814                   "uuid": "25284168-24bb-4698-8cb4-3f509146eca5",
815                   "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1",
816                   "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
817                   "description": null,
818                   "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
819                   "version": "6",
820                   "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
821                   "properties": {
822                     "minCountInstances": 0,
823                     "maxCountInstances": null,
824                     "initialCount": 0,
825                     "vfModuleLabel": "PASQUALE_vRE_BV",
826                     "baseModule": false
827                   },
828                   "inputs": {},
829                   "volumeGroupAllowed": true
830                 },
831                 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": {
832                   "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db",
833                   "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091",
834                   "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3",
835                   "description": null,
836                   "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
837                   "version": "5",
838                   "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
839                   "properties": {
840                     "minCountInstances": 1,
841                     "maxCountInstances": 1,
842                     "initialCount": 1,
843                     "vfModuleLabel": "PASQUALE_base_vPE_BV",
844                     "baseModule": true
845                   },
846                   "inputs": {},
847                   "volumeGroupAllowed": false
848                 },
849                 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": {
850                   "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a",
851                   "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339",
852                   "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557",
853                   "description": null,
854                   "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
855                   "version": "6",
856                   "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
857                   "properties": {
858                     "minCountInstances": 0,
859                     "maxCountInstances": null,
860                     "initialCount": 0,
861                     "vfModuleLabel": "PASQUALE_vPFE_BV",
862                     "baseModule": false
863                   },
864                   "inputs": {},
865                   "volumeGroupAllowed": true
866                 }
867               },
868               "volumeGroups": {
869                 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": {
870                   "uuid": "25284168-24bb-4698-8cb4-3f509146eca5",
871                   "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1",
872                   "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
873                   "description": null,
874                   "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
875                   "version": "6",
876                   "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
877                   "properties": {
878                     "minCountInstances": 0,
879                     "maxCountInstances": null,
880                     "initialCount": 0,
881                     "vfModuleLabel": "PASQUALE_vRE_BV",
882                     "baseModule": false
883                   },
884                   "inputs": {}
885                 },
886                 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": {
887                   "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a",
888                   "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339",
889                   "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557",
890                   "description": null,
891                   "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
892                   "version": "6",
893                   "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
894                   "properties": {
895                     "minCountInstances": 0,
896                     "maxCountInstances": null,
897                     "initialCount": 0,
898                     "vfModuleLabel": "PASQUALE_vPFE_BV",
899                     "baseModule": false
900                   },
901                   "inputs": {}
902                 }
903               },
904               "vfcInstanceGroups": {}
905             }
906           },
907           "networks": {
908             "ExtVL 0": {
909               "uuid": "ddc3f20c-08b5-40fd-af72-c6d14636b986",
910               "invariantUuid": "379f816b-a7aa-422f-be30-17114ff50b7c",
911               "description": "ECOMP generic virtual link (network) base type for all other service-level and global networks",
912               "name": "ExtVL",
913               "version": "37.0",
914               "customizationUuid": "94fdd893-4a36-4d70-b16a-ec29c54c184f",
915               "inputs": {},
916               "commands": {},
917               "properties": {
918                 "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}}",
919                 "exVL_naming": "{ecomp_generated_naming=true}",
920                 "network_flows": "{is_network_policy=false, is_bound_to_vpn=false}",
921                 "network_homing": "{ecomp_selected_instance_node_target=false}"
922               },
923               "type": "VL",
924               "modelCustomizationName": "ExtVL 0"
925             }
926           },
927           "collectionResources": {},
928           "configurations": {},
929           "fabricConfigurations": {},
930           "serviceProxies": {},
931           "vfModules": {
932             "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": {
933               "uuid": "25284168-24bb-4698-8cb4-3f509146eca5",
934               "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1",
935               "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
936               "description": null,
937               "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
938               "version": "6",
939               "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
940               "properties": {
941                 "minCountInstances": 0,
942                 "maxCountInstances": null,
943                 "initialCount": 0,
944                 "vfModuleLabel": "PASQUALE_vRE_BV",
945                 "baseModule": false
946               },
947               "inputs": {},
948               "volumeGroupAllowed": true
949             },
950             "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": {
951               "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db",
952               "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091",
953               "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3",
954               "description": null,
955               "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
956               "version": "5",
957               "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
958               "properties": {
959                 "minCountInstances": 1,
960                 "maxCountInstances": 1,
961                 "initialCount": 1,
962                 "vfModuleLabel": "PASQUALE_base_vPE_BV",
963                 "baseModule": true
964               },
965               "inputs": {},
966               "volumeGroupAllowed": false
967             },
968             "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": {
969               "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a",
970               "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339",
971               "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557",
972               "description": null,
973               "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
974               "version": "6",
975               "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
976               "properties": {
977                 "minCountInstances": 0,
978                 "maxCountInstances": null,
979                 "initialCount": 0,
980                 "vfModuleLabel": "PASQUALE_vPFE_BV",
981                 "baseModule": false
982               },
983               "inputs": {},
984               "volumeGroupAllowed": true
985             }
986           },
987           "volumeGroups": {
988             "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": {
989               "uuid": "25284168-24bb-4698-8cb4-3f509146eca5",
990               "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1",
991               "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
992               "description": null,
993               "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
994               "version": "6",
995               "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
996               "properties": {
997                 "minCountInstances": 0,
998                 "maxCountInstances": null,
999                 "initialCount": 0,
1000                 "vfModuleLabel": "PASQUALE_vRE_BV",
1001                 "baseModule": false
1002               },
1003               "inputs": {}
1004             },
1005             "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": {
1006               "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a",
1007               "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339",
1008               "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557",
1009               "description": null,
1010               "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
1011               "version": "6",
1012               "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
1013               "properties": {
1014                 "minCountInstances": 0,
1015                 "maxCountInstances": null,
1016                 "initialCount": 0,
1017                 "vfModuleLabel": "PASQUALE_vPFE_BV",
1018                 "baseModule": false
1019               },
1020               "inputs": {}
1021             }
1022           },
1023           "pnfs": {},
1024           "vnfGroups": {
1025             "groupingservicefortest..ResourceInstanceGroup..0": {
1026               "type": "VnfGroup",
1027               "invariantUuid": "4bb2e27e-ddab-4790-9c6d-1f731bc14a45",
1028               "uuid": "daeb6568-cef8-417f-9075-ed259ce59f48",
1029               "version": "1",
1030               "name": "groupingservicefortest..ResourceInstanceGroup..0",
1031               "modelCustomizationName": "groupingservicefortest..ResourceInstanceGroup..0",
1032               "properties": {
1033                 "contained_resource_type": "VF",
1034                 "role": "SERVICE-ACCESS",
1035                 "function": "DATA",
1036                 "description": "DDD0",
1037                 "type": "LOAD-GROUP",
1038                 "ecomp_generated_naming": "true"
1039               },
1040               "members": {
1041                 "vdorothea_svc_vprs_proxy 0": {
1042                   "uuid": "65fadfa8-a0d9-443f-95ad-836cd044e26c",
1043                   "invariantUuid": "f4baae0c-b3a5-4ca1-a777-afbffe7010bc",
1044                   "description": "A Proxy for Service vDOROTHEA_Svc_vPRS",
1045                   "name": "vDOROTHEA_Svc_vPRS Service Proxy",
1046                   "version": "1.0",
1047                   "customizationUuid": "bdb63d23-e132-4ce7-af2c-a493b4cafac9",
1048                   "inputs": {},
1049                   "commands": {},
1050                   "properties": {},
1051                   "type": "Service Proxy",
1052                   "sourceModelUuid": "da7827a2-366d-4be6-8c68-a69153c61274",
1053                   "sourceModelInvariant": "24632e6b-584b-4f45-80d4-fefd75fd9f14",
1054                   "sourceModelName": "vDOROTHEA_Svc_vPRS"
1055                 }
1056               }
1057             },
1058             "groupingservicefortest..ResourceInstanceGroup..1": {
1059               "type": "VnfGroup",
1060               "invariantUuid": "a704112d-dbc6-4e56-8d4e-aec57e95ef9a",
1061               "uuid": "c2b300e6-45de-4e5e-abda-3032bee2de56",
1062               "version": "1",
1063               "name": "groupingservicefortest..ResourceInstanceGroup..1",
1064               "modelCustomizationName": "groupingservicefortest..ResourceInstanceGroup..1",
1065               "properties": {
1066                 "contained_resource_type": "VF",
1067                 "role": "SERVICE-ACCESS",
1068                 "function": "SIGNALING",
1069                 "description": "DDD1",
1070                 "type": "LOAD-GROUP",
1071                 "ecomp_generated_naming": "true"
1072               },
1073               "members": {
1074                 "tsbc0001vm001_svc_proxy 0": {
1075                   "uuid": "65fadfa8-a0d9-443f-95ad-836cd044e26c",
1076                   "invariantUuid": "f4baae0c-b3a5-4ca1-a777-afbffe7010bc",
1077                   "description": "A Proxy for Service tsbc0001vm001_Svc",
1078                   "name": "tsbc0001vm001_Svc Service Proxy",
1079                   "version": "1.0",
1080                   "customizationUuid": "3d814462-30fb-4c62-b997-9aa360d27ead",
1081                   "inputs": {},
1082                   "commands": {},
1083                   "properties": {},
1084                   "type": "Service Proxy",
1085                   "sourceModelUuid": "28aeb8f6-5620-4148-8bfb-a5fb406f0309",
1086                   "sourceModelInvariant": "c989ab9a-33c7-46ec-b521-1b2daef5f047",
1087                   "sourceModelName": "tsbc0001vm001_Svc"
1088                 }
1089               }
1090             }
1091           }
1092         },
1093         "b75e0d22-05ff-4448-9266-5f0d4e1dbbd6": {
1094           "service": {
1095             "uuid": "b75e0d22-05ff-4448-9266-5f0d4e1dbbd6",
1096             "invariantUuid": "5b9c0f33-eec1-484a-bf77-736a6644d7a8",
1097             "name": "Using VID for VoIP Network Instantiations Shani",
1098             "version": "1.0",
1099             "toscaModelURL": null,
1100             "category": "VoIP Call Control",
1101             "serviceType": "",
1102             "serviceRole": "",
1103             "description": "Using VID for VoIP Network Instantiations Shani",
1104             "serviceEcompNaming": "true",
1105             "instantiationType": "ClientConfig",
1106             "inputs": {},
1107             "vidNotions": {"instantiationUI": "legacy", "modelCategory": "other", "viewEditUI": "legacy"}
1108           },
1109           "vnfs": {},
1110           "networks": {
1111             "AIC30_CONTRAIL_BASIC 0": {
1112               "uuid": "ac815c68-35b7-4ea4-9d04-92d2f844b27c",
1113               "invariantUuid": "de01afb5-532b-451d-aac4-ff9ff0644060",
1114               "description": "Basic contrail 3.0.x L3 network for AIC 3.x sites. ",
1115               "name": "AIC30_CONTRAIL_BASIC",
1116               "version": "3.0",
1117               "customizationUuid": "e94d61f7-b4b2-489a-a4a7-30b1a1a80daf",
1118               "inputs": {},
1119               "commands": {},
1120               "properties": {
1121                 "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}}",
1122                 "exVL_naming": "{ecomp_generated_naming=true}",
1123                 "network_flows": "{is_network_policy=false, is_bound_to_vpn=false}",
1124                 "network_scope": "Service",
1125                 "network_type": "AIC30_CONTRAIL_BASIC",
1126                 "network_technology": "Contrail",
1127                 "network_homing": "{ecomp_selected_instance_node_target=false}"
1128               },
1129               "type": "VL",
1130               "modelCustomizationName": "AIC30_CONTRAIL_BASIC 0"
1131             }
1132           },
1133           "collectionResources": {},
1134           "configurations": {},
1135           "fabricConfigurations": {},
1136           "serviceProxies": {},
1137           "vfModules": {},
1138           "volumeGroups": {},
1139           "pnfs": {},
1140           "vnfGroups": {}
1141         }
1142       },
1143       "serviceInstance": {
1144         "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd": {
1145           "vnfs": {
1146             "2017-488_PASQUALE-vPE 0": {
1147               "action": "None",
1148               "inMaint": false,
1149               "rollbackOnFailure": "true",
1150               "originalName": "2017-488_PASQUALE-vPE 0",
1151               "isMissingData": false,
1152               "trackById": "stigekyxrqi",
1153               "vfModules": {
1154                 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": {
1155                   "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0gytfi": {
1156                     "isMissingData": false,
1157                     "sdncPreReload": null,
1158                     "modelInfo": {
1159                       "modelType": "VFmodule",
1160                       "modelInvariantId": "b34833bb-6aa9-4ad6-a831-70b06367a091",
1161                       "modelVersionId": "f8360508-3f17-4414-a2ed-6bc71161e8db",
1162                       "modelName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
1163                       "modelVersion": "5",
1164                       "modelCustomizationId": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3",
1165                       "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0"
1166                     },
1167                     "instanceParams": [{}],
1168                     "trackById": "3oj23o7nupo"
1169                   }
1170                 }
1171               },
1172               "vnfStoreKey": "2017-488_PASQUALE-vPE 0",
1173               "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09",
1174               "productFamilyId": "d8a6ed93-251c-47ca-adc9-86671fd19f4c",
1175               "lcpCloudRegionId": "AAIAIC25",
1176               "tenantId": "092eb9e8e4b7412e8787dd091bc58e86",
1177               "lineOfBusiness": "ONAP",
1178               "platformName": "xxx1",
1179               "modelInfo": {
1180                 "modelInvariantId": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8",
1181                 "modelVersionId": "69e09f68-8b63-4cc9-b9ff-860960b5db09",
1182                 "modelName": "2017-488_PASQUALE-vPE",
1183                 "modelVersion": "5.0",
1184                 "modelCustomizationName": "2017-488_PASQUALE-vPE 0",
1185                 "modelCustomizationId": "1da7b585-5e61-4993-b95e-8e6606c81e45",
1186                 "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09"
1187               },
1188               "legacyRegion": "11111111",
1189               "instanceParams": [{}]
1190             },
1191             "2017-388_PASQUALE-vPE 0": {
1192               "action": "Create",
1193               "inMaint": false,
1194               "rollbackOnFailure": "true",
1195               "originalName": "2017-388_PASQUALE-vPE 0",
1196               "isMissingData": false,
1197               "trackById": "nib719t5vca",
1198               "vfModules": {},
1199               "vnfStoreKey": "2017-388_PASQUALE-vPE 0",
1200               "productFamilyId": "d8a6ed93-251c-47ca-adc9-86671fd19f4c",
1201               "lcpCloudRegionId": "AAIAIC25",
1202               "legacyRegion": "11111",
1203               "tenantId": "092eb9e8e4b7412e8787dd091bc58e86",
1204               "platformName": "platform",
1205               "lineOfBusiness": "zzz1",
1206               "instanceParams": [{}],
1207               "modelInfo": {
1208                 "modelInvariantId": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8",
1209                 "modelVersionId": "afacccf6-397d-45d6-b5ae-94c39734b168",
1210                 "modelName": "2017-388_PASQUALE-vPE",
1211                 "modelVersion": "4.0",
1212                 "modelCustomizationId": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c",
1213                 "modelCustomizationName": "2017-388_PASQUALE-vPE 0",
1214                 "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168"
1215               },
1216               "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168"
1217             },
1218             "2017-388_PASQUALE-vPE 1": {
1219               "action": "None",
1220               "inMaint": false,
1221               "rollbackOnFailure": "true",
1222               "originalName": "2017-388_PASQUALE-vPE 1",
1223               "isMissingData": false,
1224               "trackById": "cv7l1ak8vpe",
1225               "vfModules": {},
1226               "vnfStoreKey": "2017-388_PASQUALE-vPE 1",
1227               "productFamilyId": "d8a6ed93-251c-47ca-adc9-86671fd19f4c",
1228               "lcpCloudRegionId": "AAIAIC25",
1229               "legacyRegion": "123",
1230               "tenantId": "092eb9e8e4b7412e8787dd091bc58e86",
1231               "platformName": "platform",
1232               "lineOfBusiness": "ONAP",
1233               "instanceParams": [{}],
1234               "modelInfo": {
1235                 "modelInvariantId": "00beb8f9-6d39-452f-816d-c709b9cbb87d",
1236                 "modelVersionId": "0903e1c0-8e03-4936-b5c2-260653b96413",
1237                 "modelName": "2017-388_PASQUALE-vPE",
1238                 "modelVersion": "1.0",
1239                 "modelCustomizationId": "280dec31-f16d-488b-9668-4aae55d6648a",
1240                 "modelCustomizationName": "2017-388_PASQUALE-vPE 1",
1241                 "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413"
1242               },
1243               "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413"
1244             }
1245           },
1246           "instanceParams": [{}],
1247           "validationCounter": 0,
1248           "existingNames": {"yoav": ""},
1249           "existingVNFCounterMap": {
1250             "69e09f68-8b63-4cc9-b9ff-860960b5db09": 1,
1251             "afacccf6-397d-45d6-b5ae-94c39734b168": 1,
1252             "0903e1c0-8e03-4936-b5c2-260653b96413": 1
1253           },
1254           "existingVnfGroupCounterMap": {
1255             "daeb6568-cef8-417f-9075-ed259ce59f48": 0,
1256             "c2b300e6-45de-4e5e-abda-3032bee2de56": -1
1257           },
1258           "existingNetworksCounterMap": {"ddc3f20c-08b5-40fd-af72-c6d14636b986": 1},
1259           "networks": {
1260             "ExtVL 0": {
1261               "inMaint": false,
1262               "rollbackOnFailure": "true",
1263               "originalName": "ExtVL 0",
1264               "isMissingData": false,
1265               "trackById": "s6okajvv2n8",
1266               "networkStoreKey": "ExtVL 0",
1267               "productFamilyId": "d8a6ed93-251c-47ca-adc9-86671fd19f4c",
1268               "lcpCloudRegionId": "AAIAIC25",
1269               "legacyRegion": "12355555",
1270               "tenantId": "092eb9e8e4b7412e8787dd091bc58e86",
1271               "platformName": "platform",
1272               "lineOfBusiness": null,
1273               "instanceParams": [{}],
1274               "modelInfo": {
1275                 "modelInvariantId": "379f816b-a7aa-422f-be30-17114ff50b7c",
1276                 "modelVersionId": "ddc3f20c-08b5-40fd-af72-c6d14636b986",
1277                 "modelName": "ExtVL",
1278                 "modelVersion": "37.0",
1279                 "modelCustomizationId": "94fdd893-4a36-4d70-b16a-ec29c54c184f",
1280                 "modelCustomizationName": "ExtVL 0",
1281                 "uuid": "ddc3f20c-08b5-40fd-af72-c6d14636b986"
1282               },
1283               "uuid": "ddc3f20c-08b5-40fd-af72-c6d14636b986"
1284             }
1285           },
1286           "vnfGroups": {
1287             "groupingservicefortest..ResourceInstanceGroup..0": {
1288               "inMaint": false,
1289               "rollbackOnFailure": "true",
1290               "originalName": "groupingservicefortest..ResourceInstanceGroup..0",
1291               "isMissingData": false,
1292               "trackById": "se0obn93qq",
1293               "vnfGroupStoreKey": "groupingservicefortest..ResourceInstanceGroup..0",
1294               "instanceName": "groupingservicefortestResourceInstanceGroup0",
1295               "instanceParams": [{}],
1296               "modelInfo": {
1297                 "modelInvariantId": "4bb2e27e-ddab-4790-9c6d-1f731bc14a45",
1298                 "modelVersionId": "daeb6568-cef8-417f-9075-ed259ce59f48",
1299                 "modelName": "groupingservicefortest..ResourceInstanceGroup..0",
1300                 "modelVersion": "1",
1301                 "modelCustomizationName": "groupingservicefortest..ResourceInstanceGroup..0",
1302                 "uuid": "daeb6568-cef8-417f-9075-ed259ce59f48"
1303               },
1304               "uuid": "daeb6568-cef8-417f-9075-ed259ce59f48"
1305             }
1306           },
1307           "instanceName": "yoav",
1308           "globalSubscriberId": "e433710f-9217-458d-a79d-1c7aff376d89",
1309           "subscriptionServiceType": "TYLER SILVIA",
1310           "owningEntityId": "d61e6f2d-12fa-4cc2-91df-7c244011d6fc",
1311           "productFamilyId": "d8a6ed93-251c-47ca-adc9-86671fd19f4c",
1312           "lcpCloudRegionId": "AAIAIC25",
1313           "tenantId": "092eb9e8e4b7412e8787dd091bc58e86",
1314           "aicZoneId": "ATL53",
1315           "pause": null,
1316           "projectName": "WATKINS",
1317           "rollbackOnFailure": "true",
1318           "bulkSize": 1,
1319           "aicZoneName": "AAIATLTE-ATL53",
1320           "owningEntityName": "WayneHolland",
1321           "testApi": "VNF_API",
1322           "isEcompGeneratedNaming": false,
1323           "tenantName": "USP-SIP-IC-24335-T-01",
1324           "modelInfo": {
1325             "modelInvariantId": "cdb90b57-ed78-4d44-a5b4-7f43a02ec632",
1326             "modelVersionId": "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd",
1327             "modelName": "action-data",
1328             "modelVersion": "1.0",
1329             "uuid": "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd"
1330           },
1331           "isALaCarte": false,
1332           "name": "action-data",
1333           "version": "1.0",
1334           "description": "PASQUALE vMX vPE based on Juniper 17.2 release. Updated with updated VF for v8.0 of VLM",
1335           "category": "Network L1-3",
1336           "uuid": "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd",
1337           "invariantUuid": "cdb90b57-ed78-4d44-a5b4-7f43a02ec632",
1338           "serviceType": "pnf",
1339           "serviceRole": "Testing",
1340           "vidNotions": {"instantiationUI": "legacy", "modelCategory": "other", "viewEditUI": "legacy"},
1341           "isMultiStepDesign": true
1342         }
1343       },
1344       "lcpRegionsAndTenants": {
1345         "lcpRegionList": [{
1346           "id": "AAIAIC25",
1347           "name": "AAIAIC25 (AIC)",
1348           "isPermitted": true,
1349           "cloudOwner": "irma-aic"
1350         }, {"id": "hvf6", "name": "hvf6 (AIC)", "isPermitted": true, "cloudOwner": "irma-aic"}],
1351         "lcpRegionsTenantsMap": {
1352           "AAIAIC25": [{
1353             "id": "092eb9e8e4b7412e8787dd091bc58e86",
1354             "name": "USP-SIP-IC-24335-T-01",
1355             "isPermitted": true,
1356             "cloudOwner": "irma-aic"
1357           }],
1358           "hvf6": [{
1359             "id": "bae71557c5bb4d5aac6743a4e5f1d054",
1360             "name": "AIN Web Tool-15-D-testalexandria",
1361             "isPermitted": true,
1362             "cloudOwner": "irma-aic"
1363           }, {
1364             "id": "d0a3e3f2964542259d155a81c41aadc3",
1365             "name": "test-hvf6-09",
1366             "isPermitted": true,
1367             "cloudOwner": "irma-aic"
1368           }, {
1369             "id": "fa45ca53c80b492fa8be5477cd84fc2b",
1370             "name": "ro-T112",
1371             "isPermitted": true,
1372             "cloudOwner": "irma-aic"
1373           }, {
1374             "id": "cbb99fe4ada84631b7baf046b6fd2044",
1375             "name": "DN5242-Nov16-T3",
1376             "isPermitted": true,
1377             "cloudOwner": "irma-aic"
1378           }]
1379         }
1380       },
1381       "subscribers": [{
1382         "id": "ERICA5779-Subscriber-2",
1383         "name": "ERICA5779-Subscriber-2",
1384         "isPermitted": false
1385       }, {
1386         "id": "ERICA5779-Subscriber-3",
1387         "name": "ERICA5779-Subscriber-3",
1388         "isPermitted": false
1389       }, {
1390         "id": "ERICA5779-Subscriber-4",
1391         "name": "ERICA5779-Subscriber-5",
1392         "isPermitted": false
1393       }, {
1394         "id": "ERICA5779-TestSub-PWT-101",
1395         "name": "ERICA5779-TestSub-PWT-101",
1396         "isPermitted": false
1397       }, {
1398         "id": "ERICA5779-TestSub-PWT-102",
1399         "name": "ERICA5779-TestSub-PWT-102",
1400         "isPermitted": false
1401       }, {
1402         "id": "ERICA5779-TestSub-PWT-103",
1403         "name": "ERICA5779-TestSub-PWT-103",
1404         "isPermitted": false
1405       }, {
1406         "id": "31739f3e-526b-11e6-beb8-9e71128cae77",
1407         "name": "CRAIG/ROBERTS",
1408         "isPermitted": false
1409       }, {"id": "DHV1707-TestSubscriber-2", "name": "DALE BRIDGES", "isPermitted": false}, {
1410         "id": "jimmy-example",
1411         "name": "JimmyExampleCust-20161102",
1412         "isPermitted": false
1413       }, {"id": "jimmy-example2", "name": "JimmyExampleCust-20161103", "isPermitted": false}, {
1414         "id": "CAR_2020_ER",
1415         "name": "CAR_2020_ER",
1416         "isPermitted": true
1417       }, {
1418         "id": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb",
1419         "name": "Emanuel",
1420         "isPermitted": false
1421       }, {
1422         "id": "21014aa2-526b-11e6-beb8-9e71128cae77",
1423         "name": "JULIO ERICKSON",
1424         "isPermitted": false
1425       }, {
1426         "id": "DHV1707-TestSubscriber-1",
1427         "name": "LLOYD BRIDGES",
1428         "isPermitted": false
1429       }, {"id": "e433710f-9217-458d-a79d-1c7aff376d89", "name": "SILVIA ROBBINS", "isPermitted": true}],
1430       "productFamilies": null,
1431       "serviceTypes": {
1432         "e433710f-9217-458d-a79d-1c7aff376d89": [{
1433           "id": "17",
1434           "name": "JOHANNA_SANTOS",
1435           "isPermitted": false
1436         }, {"id": "16", "name": "LINDSEY", "isPermitted": false}, {
1437           "id": "2",
1438           "name": "Emanuel",
1439           "isPermitted": false
1440         }, {"id": "5", "name": "Kennedy", "isPermitted": false}, {
1441           "id": "14",
1442           "name": "SSD",
1443           "isPermitted": false
1444         }, {"id": "1", "name": "TYLER SILVIA", "isPermitted": true}, {
1445           "id": "12",
1446           "name": "VPMS",
1447           "isPermitted": false
1448         }, {"id": "3", "name": "vJamie", "isPermitted": false}, {
1449           "id": "0",
1450           "name": "vRichardson",
1451           "isPermitted": false
1452         }, {"id": "18", "name": "vCarroll", "isPermitted": false}, {
1453           "id": "9",
1454           "name": "vFLORENCE",
1455           "isPermitted": false
1456         }, {"id": "13", "name": "vWINIFRED", "isPermitted": false}, {
1457           "id": "10",
1458           "name": "vMNS",
1459           "isPermitted": false
1460         }, {"id": "15", "name": "vMOG", "isPermitted": false}, {
1461           "id": "8",
1462           "name": "vOTA",
1463           "isPermitted": false
1464         }, {"id": "11", "name": "vEsmeralda", "isPermitted": false}, {
1465           "id": "6",
1466           "name": "vPorfirio",
1467           "isPermitted": false
1468         }, {"id": "7", "name": "vVM", "isPermitted": false}, {"id": "4", "name": "vVoiceMail", "isPermitted": false}]
1469       },
1470       "aicZones": [
1471         {
1472           "id": "NFT1",
1473           "name": "NFTJSSSS-NFT1"
1474         },
1475         {
1476           "id": "JAG1",
1477           "name": "YUDFJULP-JAG1"
1478         },
1479         {
1480           "id": "YYY1",
1481           "name": "UUUAIAAI-YYY1"
1482         },
1483         {
1484           "id": "AVT1",
1485           "name": "AVTRFLHD-AVT1"
1486         },
1487         {
1488           "id": "ATL34",
1489           "name": "ATLSANAI-ATL34"
1490         }
1491       ],
1492       "categoryParameters": {
1493         "owningEntityList": [{
1494           "id": "aaa1",
1495           "name": "aaa1"
1496         }, {"id": "d61e6f2d-12fa-4cc2-91df-7c244011d6fc", "name": "WayneHolland"}, {
1497           "id": "Melissa",
1498           "name": "Melissa"
1499         }],
1500         "projectList": [{"id": "WATKINS", "name": "WATKINS"}, {"id": "x1", "name": "x1"}, {"id": "yyy1", "name": "yyy1"}],
1501         "lineOfBusinessList": [{"id": "ONAP", "name": "ONAP"}, {"id": "zzz1", "name": "zzz1"}],
1502         "platformList": [{"id": "platform", "name": "platform"}, {"id": "xxx1", "name": "xxx1"}]
1503       },
1504       "type": "UPDATE_LCP_REGIONS_AND_TENANTS"
1505     }
1506   }
1507 }
1508
1509 function getNetworkModel(){
1510   return {
1511     "customizationUuid":"94fdd893-4a36-4d70-b16a-ec29c54c184f",
1512     "name":"ExtVL",
1513     "version":"37.0",
1514     "description":"ECOMP generic virtual link (network) base type for all other service-level and global networks",
1515     "uuid":"ddc3f20c-08b5-40fd-af72-c6d14636b986",
1516     "invariantUuid":"379f816b-a7aa-422f-be30-17114ff50b7c",
1517     "max":1,
1518     "min":0,
1519     "isEcompGeneratedNaming":false,
1520     "type":"VL",
1521     "modelCustomizationName":"ExtVL 0",
1522     "roles":["network role 1"," network role 2"],
1523     "properties":{
1524       "network_role":"network role 1, network role 2",
1525       "network_assignments":
1526         "{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}}",
1527       "exVL_naming":"{ecomp_generated_naming=true}","network_flows":"{is_network_policy=false, is_bound_to_vpn=false}",
1528       "network_homing":"{ecomp_selected_instance_node_target=false}"
1529     }
1530   };
1531
1532 }
1533
1534 function getNetworkInstance() {
1535   return {
1536     "modelCustomizationId": "94fdd893-4a36-4d70-b16a-ec29c54c184f",
1537     "modelId": "ddc3f20c-08b5-40fd-af72-c6d14636b986",
1538     "modelUniqueId": "94fdd893-4a36-4d70-b16a-ec29c54c184f",
1539     "missingData": true,
1540     "id": "NETWORK4_INSTANCE_ID",
1541     "action": "None",
1542     "orchStatus": "Created",
1543     "provStatus": "preprov",
1544     "inMaint": false,
1545     "instanceId": "NETWORK4_INSTANCE_ID",
1546     "instanceType": "CONTRAIL30_HIMELGUARD",
1547     "instanceName": "NETWORK4_INSTANCE_NAME",
1548     "name": "NETWORK4_INSTANCE_NAME",
1549     "modelName": "ExtVL 0",
1550     "type": "VL",
1551     "isEcompGeneratedNaming": false,
1552     "networkStoreKey": "NETWORK4_INSTANCE_ID",
1553     "typeName": "N",
1554     "menuActions": {"edit": {}, "showAuditInfo": {}, "duplicate": {}, "remove": {}, "delete": {}, "undoDelete": {}},
1555     "isFailed": false,
1556     "statusMessage": "",
1557     "statusProperties": [{"key": "Prov Status:", "value": "preprov", "testId": "provStatus"}, {
1558       "key": "Orch Status:",
1559       "value": "Created",
1560       "testId": "orchStatus"
1561     }],
1562     "trackById": "1wvr73xl999",
1563     "parentType": "",
1564     "componentInfoType": "Network",
1565     "errors": {}
1566   };
1567 }