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";
48 class MockAppStore<T> {
60 function getNodeWithData(menuAction:string){
64 nodeData['menuActions'][menuAction] = {
65 method: (node, serviceModelId) => {}
78 describe('Shared Tree Service', () => {
80 let service: SharedTreeService;
81 let _objectToInstanceTreeService: ObjectToInstanceTreeService;
82 let store: NgRedux<AppState>;
83 beforeAll(done => (async () => {
84 TestBed.configureTestingModule({
85 imports: [HttpClientTestingModule, NgReduxTestingModule, SdcUiComponentsModule],
88 SharedControllersService,
90 DefaultDataGeneratorService,
100 DynamicInputsService,
102 NetworkControlGenerator,
103 VfModulePopupService,
104 VfModuleUpgradePopupService,
105 VfModuleControlGenerator,
106 VnfGroupControlGenerator,
115 ObjectToInstanceTreeService,
116 ComponentInfoService,
120 CreateDynamicComponentService,
121 {provide: NgRedux, useClass: MockAppStore}
124 await TestBed.compileComponents();
125 injector = getTestBed();
126 service = injector.get(SharedTreeService);
127 _objectToInstanceTreeService = injector.get(ObjectToInstanceTreeService);
128 store = injector.get(NgRedux);
129 })().then(done).catch(done.fail));
131 test('SharedTreeService should be defined', () => {
132 expect(service).toBeDefined();
135 test('SharedTreeService upgradeBottomUp should call redux actions', () => {
136 const serviceModelId = "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd";
137 const node = getNodeWithData("upgrade");
138 spyOn(node.parent.data.menuActions['upgrade'], 'method');
139 service.upgradeBottomUp(node, serviceModelId);
140 expect(node.parent.data.menuActions['upgrade'].method).toBeCalledWith(node.parent, serviceModelId);
141 expect(node.parent.data.menuActions['upgrade'].method).toBeCalledTimes(2);
145 test('SharedTreeService undoUpgradeBottomUp should call redux actions', () => {
146 const serviceModelId = "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd";
147 const node = getNodeWithData("undoUpgrade");
148 spyOn(node.parent.data.menuActions['undoUpgrade'], 'method');
149 service.undoUpgradeBottomUp(node, serviceModelId);
150 expect(node.parent.data.menuActions['undoUpgrade'].method).toBeCalledWith(node.parent, serviceModelId);
151 expect(node.parent.data.menuActions['undoUpgrade'].method).toBeCalledTimes(2);
154 test('shouldShowDeleteInstanceWithChildrenModal should open modal if child exist with action create', () => {
155 jest.spyOn(MessageBoxService.openModal, 'next');
160 children: [{action: "Create"}, {action: "None"}],
165 service.shouldShowDeleteInstanceWithChildrenModal(node, "serviceModelId", foo);
166 expect(MessageBoxService.openModal.next).toHaveBeenCalled();
170 ['volumeGroups by entry name', "volumeGroups",
171 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1"],
172 ['vfmodule by customizationUuid', "vfModules",
173 "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1"],
174 ['vnf by customizationUuid', "vnfs",
175 "1da7b585-5e61-4993-b95e-8e6606c81e45", "2017-488_PASQUALE-vPE 0"],
176 ['vnfGroups by invariantUuid because no customizationUuid', "vnfGroups",
177 "4bb2e27e-ddab-4790-9c6d-1f731bc14a45", "groupingservicefortest..ResourceInstanceGroup..0"],
178 ]).test('modelByIdentifier should success: %s', (description, modelTypeName, modelUniqueIdOrName, expectedModelCustomizationName) => {
179 let serviceModelFromHierarchy =
180 getStore().service.serviceHierarchy["1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd"];
182 expect(service.modelByIdentifiers(serviceModelFromHierarchy, modelTypeName, modelUniqueIdOrName))
183 .toHaveProperty("modelCustomizationName", expectedModelCustomizationName);
187 ['vfmodule by invariantUuid when there is customizationUuid', "vfModules", "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1"],
188 ['network by non-existing modelUniqueIdOrName', "networks", "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1"],
189 ['collectionResource has no resource', "collectionResources", "whatever"],
190 ['non-existing model-type', "fooBar", "whatever"],
191 ]).test('modelByIdentifier should fail: %s', (description, modelTypeName, modelUniqueIdOrName) => {
192 let serviceModelFromHierarchy =
193 getStore().service.serviceHierarchy["1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd"];
195 expect(service.modelByIdentifiers(serviceModelFromHierarchy, modelTypeName, modelUniqueIdOrName))
199 test('openAuditInfoModalInsideIframe should open modal for failed instance', () => {
200 jest.spyOn(AuditInfoModalComponent.openInstanceAuditInfoModal, 'next');
202 let modelInfoServiceMock: ILevelNodeInfo = new VnfModelInfo(null, null,
203 null, null, null, null, null,
204 null, null, null, null,null, null);
205 const modelMock = {"a": "a"};
206 const instanceMock = {"instance": "instance", "trackById": "123456789"};
207 const instanceTypeMock = "instanceTypeMock";
208 jest.spyOn(modelInfoServiceMock, 'getModel').mockReturnValue(modelMock);
211 modelId: '6b528779-44a3-4472-bdff-9cd15ec93450',
212 trackById: '1245df21',
216 service.openAuditInfoModal(node, "serviceModelId", instanceMock, instanceTypeMock, <any>modelInfoServiceMock);
217 expect(AuditInfoModalComponent.openInstanceAuditInfoModal.next).toHaveBeenCalledWith(
219 "instance": instanceMock,
220 "instanceId": "serviceModelId",
222 "type": instanceTypeMock
226 ['undefined', 'Unlimited (default)', {}],
227 ['null', 'Unlimited (default)', {max:null}],
230 test("when there is %s max instances in model , shell return %s text", (desc, expected, model) =>{
231 expect(service.createMaximumToInstantiateModelInformationItem(model).values[0]).toBe(expected);
234 test('shouldShowDeleteInstanceWithChildrfenModal should not open modal if all childs with action None', () => {
237 spyOn(MessageBoxService.openModal, 'next');
240 children: [{action: "None"}, {action: "None"}],
245 service.shouldShowDeleteInstanceWithChildrenModal(node, "serviceModelId", foo);
246 expect(MessageBoxService.openModal.next).not.toHaveBeenCalled();
249 test ('addGeneralInfoItems should return correct info - ordered',()=>{
250 let specificNetworkInfo = [
251 ModelInformationItem.createInstance('Network role', "network role 1, network role 2")
253 const actualInfoModel: ComponentInfoModel = service.addGeneralInfoItems(specificNetworkInfo,ComponentInfoType.NETWORK, getNetworkModel(),getNetworkInstance());
255 let expectedGeneralInfo = [
256 ModelInformationItem.createInstance('Model version', '37.0'),
257 ModelInformationItem.createInstance('Model customization ID', '94fdd893-4a36-4d70-b16a-ec29c54c184f'),
258 ModelInformationItem.createInstance('Instance ID', 'NETWORK4_INSTANCE_ID'),
259 ModelInformationItem.createInstance('Instance type', 'CONTRAIL30_HIMELGUARD'),
260 ModelInformationItem.createInstance('In maintenance', false),
261 ModelInformationItem.createInstance('Network role', 'network role 1, network role 2')
263 expect(actualInfoModel.modelInfoItems).toEqual(expectedGeneralInfo);
267 test('statusProperties should be prop on node according to node properties', () => {
268 let node = service.addingStatusProperty({orchStatus: 'completed', provStatus: 'inProgress', inMaint: false});
269 expect(node.statusProperties).toBeDefined();
270 expect(node.statusProperties).toEqual([Object({
274 }), Object({key: 'Orch Status:', value: 'completed', testId: 'orchStatus'})]);
275 node = service.addingStatusProperty({orchStatus: 'completed', provStatus: 'inProgress', inMaint: true});
276 expect(node.statusProperties).toEqual([Object({
280 }), Object({key: 'Orch Status:', value: 'completed', testId: 'orchStatus'}), Object({
281 key: 'In-maintenance',
288 [false, 'method is not in menu actions', ServiceInstanceActions.None, DrawingBoardModes.EDIT, {}, true],
289 [false, 'there is no action in node', null, DrawingBoardModes.EDIT, {someMethod: "someValue"}, true],
290 [true, 'edit mode, action is none, method in menu action', ServiceInstanceActions.None, DrawingBoardModes.EDIT, {someMethod: "someValue"}, true],
291 [false, 'edit mode, action is none, method in menu action, macro service', ServiceInstanceActions.None, DrawingBoardModes.EDIT, {someMethod: "someValue"}, false],
292 [false, 'edit mode, action is not none, method in menu action', ServiceInstanceActions.Resume, DrawingBoardModes.EDIT, {someMethod: "someValue"}, true],
293 [false, 'edit mode, action is CREATE, method in menu action', ServiceInstanceActions.Resume, DrawingBoardModes.EDIT, {someMethod: "someValue"}, true]
294 ]).test('shouldShowButtonGeneric return %s if %s ', (expected, description, action, mode, menuActions, isALaCarte) => {
295 jest.spyOn(store, 'getState').mockReturnValue(<any>{
297 drawingBoardStatus: mode
311 menuActions: menuActions
315 let res = service.shouldShowButtonGeneric(node, "someMethod", "someModelId");
316 expect(res).toBe(expected);
319 const enableRemoveAndEditItemsDataProvider = [
320 ['Create action CREATE mode', DrawingBoardModes.CREATE ,ServiceInstanceActions.Create, true],
321 ['Create action VIEW mode',DrawingBoardModes.VIEW , ServiceInstanceActions.Create,false],
322 ['Create action RETRY_EDIT mode',DrawingBoardModes.RETRY_EDIT, ServiceInstanceActions.Create, true],
323 ['Create action EDIT mode',DrawingBoardModes.EDIT, ServiceInstanceActions.Create, true],
324 ['Create action RETRY mode',DrawingBoardModes.RETRY, ServiceInstanceActions.Create, false],
325 ['None action EDIT mode',DrawingBoardModes.EDIT, ServiceInstanceActions.None, false],
326 ['None action RETRY_EDIT mode', DrawingBoardModes.RETRY_EDIT, ServiceInstanceActions.None, false]];
327 each(enableRemoveAndEditItemsDataProvider).test('shouldShowEditAndDelete if child exist with %s', (description, mode, action, enabled) => {
328 jest.spyOn(store, 'getState').mockReturnValue(<any>{
330 drawingBoardStatus: mode
338 let res = service.shouldShowRemoveAndEdit(node);
339 expect(res).toBe(enabled);
343 const isVfmoduleAlmostPartOfModelOnlyCustomizationUuidDifferProvider = [
344 ['node is part of model, but vfmodule diff by customization',
345 true, 'mDNS 01222020 0', '9fdc68e9-9f53-431c-b8a2-7e337b9a0d0a', '82160e6e-d9c4-45ef-bd19-01573ab11b61'],
347 ['vnf model-name not found',
348 false, 'mDNS 01222020 1', '9fdc68e9-9f53-431c-b8a2-7e337b9a0d0a', '82160e6e-d9c4-45ef-bd19-01573ab11b61'],
350 ['vfmodule invariant-id not found',
351 false, 'mDNS 01222020 0', 'wrong invariant-id', '82160e6e-d9c4-45ef-bd19-01573ab11b61'],
353 ['vfmodule customization-id match',
354 false, 'mDNS 01222020 0', '9fdc68e9-9f53-431c-b8a2-7e337b9a0d0a', 'c9b32003-febc-44e0-a97f-7630fa7fa4a0'],
357 each(isVfmoduleAlmostPartOfModelOnlyCustomizationUuidDifferProvider).test('isVfmoduleAlmostPartOfModelOnlyCustomizationUuidDiffer: when %s should return %s', (description, expected, vnfModelName, invariantUuid, customizationUuid) => {
358 const serviceModelId : string = 'a243da28-c11e-45a8-9f26-0284a9a789bc';
359 spyOn(store, 'getState').and.returnValue({
366 vfModuleModelName : {
367 invariantUuid : invariantUuid,
368 customizationUuid : customizationUuid
380 modelInvariantId : '9fdc68e9-9f53-431c-b8a2-7e337b9a0d0a',
381 modelCustomizationId : 'c9b32003-febc-44e0-a97f-7630fa7fa4a0',
382 modelName : 'vfModuleModelName'
386 modelName : "mDNS 01222020 0"
391 const isDiffCustomizationUuidResponse : boolean = service.isVfmoduleAlmostPartOfModelOnlyCustomizationUuidDiffer(node, serviceModelId);
392 expect(isDiffCustomizationUuidResponse).toEqual(expected);
397 function getStore() {
402 "EMPTY_DRAWING_BOARD_TEST": false,
403 "FLAG_NETWORK_TO_ASYNC_INSTANTIATION": false,
404 "FLAG_ADD_MSO_TESTAPI_FIELD": true,
405 "FLAG_SERVICE_MODEL_CACHE": true,
406 "FLAG_SHOW_ASSIGNMENTS": true,
407 "FLAG_FABRIC_CONFIGURATION_ASSIGNMENTS": true,
408 "FLAG_A_LA_CARTE_AUDIT_INFO": true,
409 "FLAG_1810_CR_ADD_CLOUD_OWNER_TO_MSO_REQUEST": true,
410 "FLAG_PRESENT_PROVIDER_NETWORKS_ASSOCIATIONS": true,
411 "FLAG_1902_NEW_VIEW_EDIT": true,
412 "FLAG_1810_IDENTIFY_SERVICE_FOR_NEW_UI": false,
413 "FLAG_1902_VNF_GROUPING": true,
414 "FLAG_SHOW_VERIFY_SERVICE": true,
415 "FLAG_ASYNC_ALACARTE_VFMODULE": true,
416 "FLAG_ASYNC_ALACARTE_VNF": true,
417 "FLAG_1810_AAI_LOCAL_CACHE": true,
418 "FLAG_EXP_USE_DEFAULT_HOST_NAME_VERIFIER": false,
419 "FLAG_EXP_ANY_ALACARTE_NEW_INSTANTIATION_UI": false,
420 "FLAG_SUPPLEMENTARY_FILE": true,
421 "FLAG_5G_IN_NEW_INSTANTIATION_UI": true,
422 "FLAG_RESTRICTED_SELECT": false,
423 "FLAG_1810_CR_LET_SELECTING_COLLECTOR_TYPE_UNCONDITIONALLY": true
425 "drawingBoardStatus": "VIEW",
426 "type": "UPDATE_DRAWING_BOARD_STATUS"
429 "serviceHierarchy": {
430 "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd": {
432 "uuid": "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd",
433 "invariantUuid": "cdb90b57-ed78-4d44-a5b4-7f43a02ec632",
434 "name": "action-data",
436 "toscaModelURL": null,
437 "category": "Network L1-3",
438 "serviceType": "pnf",
439 "serviceRole": "Testing",
440 "description": "PASQUALE vMX vPE based on Juniper 17.2 release. Updated with updated VF for v8.0 of VLM",
441 "serviceEcompNaming": "false",
442 "instantiationType": "Macro",
444 "vidNotions": {"instantiationUI": "legacy", "modelCategory": "other", "viewEditUI": "legacy"}
447 "2017-388_PASQUALE-vPE 1": {
448 "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413",
449 "invariantUuid": "00beb8f9-6d39-452f-816d-c709b9cbb87d",
450 "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",
451 "name": "2017-388_PASQUALE-vPE",
453 "customizationUuid": "280dec31-f16d-488b-9668-4aae55d6648a",
457 "vmxvre_retype": "RE-VMX",
458 "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version",
459 "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d",
460 "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9",
461 "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF",
462 "int_ctl_net_name": "VMX-INTXI",
463 "vmx_int_ctl_prefix": "10.0.0.10",
464 "sriov43_net_id": "da349ca1-6de9-4548-be88-2d88e99bfef5",
465 "sriov42_net_id": "760669ba-013d-4d9b-b0e7-4151fe2e6279",
466 "sriov41_net_id": "25ad52d5-c165-40f8-b3b0-ddfc2373280a",
468 "vmxvpfe_int_ctl_ip_1": "10.0.0.10",
469 "is_AVPN_service": "false",
470 "vmx_RSG_name": "vREXI-affinity",
471 "vmx_int_ctl_forwarding": "l2",
472 "vmxvre_oam_ip_0": "10.0.0.10",
473 "vmxvpfe_sriov44_0_port_mac": "00:11:22:EF:AC:DF",
474 "vmxvpfe_sriov41_0_port_vlanstrip": "false",
475 "vmxvpfe_sriov42_0_port_vlanfilter": "4001",
476 "vmxvpfe_sriov44_0_port_unknownunicastallow": "true",
477 "vmxvre_image_name_0": "VRE-ENGINE_17.2-S2.1.qcow2",
478 "vmxvre_instance": "0",
479 "vmxvpfe_sriov43_0_port_mac": "00:11:22:EF:AC:DF",
480 "vmxvre_flavor_name": "ns.c1r16d32.v5",
481 "vmxvpfe_volume_size_0": "40.0",
482 "vmxvpfe_sriov43_0_port_vlanfilter": "4001",
483 "nf_naming": "{ecomp_generated_naming=true}",
484 "multi_stage_design": "true",
485 "nf_naming_code": "Navneet",
486 "vmxvre_name_0": "vREXI",
487 "vmxvpfe_sriov42_0_port_vlanstrip": "false",
488 "vmxvpfe_volume_name_0": "vPFEXI_FBVolume",
489 "vmx_RSG_id": "bd89a33c-13c3-4a04-8fde-1a57eb123141",
490 "vmxvpfe_image_name_0": "VPE_ROUTING-ENGINE_17.2R1-S2.1.qcow2",
491 "vmxvpfe_sriov43_0_port_unknownunicastallow": "true",
492 "vmxvpfe_sriov44_0_port_unknownmulticastallow": "true",
493 "vmxvre_console": "vidconsole",
494 "vmxvpfe_sriov44_0_port_vlanfilter": "4001",
495 "vmxvpfe_sriov42_0_port_mac": "00:11:22:EF:AC:DF",
496 "vmxvpfe_volume_id_0": "47cede15-da2f-4397-a101-aa683220aff3",
497 "vmxvpfe_sriov42_0_port_unknownmulticastallow": "true",
498 "vmxvpfe_sriov44_0_port_vlanstrip": "false",
499 "vf_module_id": "123",
500 "nf_function": "JAI",
501 "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true",
502 "vmxvre_int_ctl_ip_0": "10.0.0.10",
503 "ecomp_generated_naming": "true",
504 "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI",
505 "vnf_name": "mtnj309me6vre",
506 "vmxvpfe_sriov41_0_port_unknownunicastallow": "true",
507 "vmxvre_volume_type_1": "HITACHI",
508 "vmxvpfe_sriov44_0_port_broadcastallow": "true",
509 "vmxvre_volume_type_0": "HITACHI",
510 "vmxvpfe_volume_type_0": "HITACHI",
511 "vmxvpfe_sriov43_0_port_broadcastallow": "true",
512 "bandwidth_units": "get_input:2017488_pasqualevpe0_bandwidth_units",
514 "vmxvre_oam_prefix": "24",
515 "availability_zone_0": "mtpocfo-kvm-az01",
516 "ASN": "get_input:2017488_pasqualevpe0_ASN",
517 "vmxvre_chassis_i2cid": "161",
518 "vmxvpfe_name_0": "vPFEXI",
519 "bandwidth": "get_input:2017488_pasqualevpe0_bandwidth",
520 "availability_zone_max_count": "1",
521 "vmxvre_volume_size_0": "45.0",
522 "vmxvre_volume_size_1": "50.0",
523 "vmxvpfe_sriov42_0_port_broadcastallow": "true",
524 "vmxvre_oam_gateway": "10.0.0.10",
525 "vmxvre_volume_name_1": "vREXI_FAVolume",
526 "vmxvre_ore_present": "0",
527 "vmxvre_volume_name_0": "vREXI_FBVolume",
529 "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name",
530 "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true",
531 "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429",
532 "vmx_int_ctl_len": "24",
533 "vmxvpfe_sriov43_0_port_vlanstrip": "false",
534 "vmxvpfe_sriov41_0_port_broadcastallow": "true",
535 "vmxvre_volume_id_1": "6e86797e-03cd-4fdc-ba72-2957119c746d",
536 "vmxvpfe_sriov41_0_port_vlanfilter": "4001",
537 "nf_role": "Testing",
538 "vmxvre_volume_id_0": "f4eacb79-f687-4e9d-b760-21847c8bb15a",
539 "vmxvpfe_sriov42_0_port_unknownunicastallow": "true",
540 "vmxvpfe_flavor_name": "ns.c20r16d25.v5"
543 "modelCustomizationName": "2017-388_PASQUALE-vPE 1",
546 "vfcInstanceGroups": {}
548 "2017-388_PASQUALE-vPE 0": {
549 "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168",
550 "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8",
551 "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",
552 "name": "2017-388_PASQUALE-vPE",
554 "customizationUuid": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c",
558 "vmxvre_retype": "RE-VMX",
559 "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version",
560 "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d",
561 "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9",
562 "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF",
563 "int_ctl_net_name": "VMX-INTXI",
564 "vmx_int_ctl_prefix": "10.0.0.10",
565 "sriov43_net_id": "da349ca1-6de9-4548-be88-2d88e99bfef5",
566 "sriov42_net_id": "760669ba-013d-4d9b-b0e7-4151fe2e6279",
567 "sriov41_net_id": "25ad52d5-c165-40f8-b3b0-ddfc2373280a",
569 "vmxvpfe_int_ctl_ip_1": "10.0.0.10",
570 "is_AVPN_service": "false",
571 "vmx_RSG_name": "vREXI-affinity",
572 "vmx_int_ctl_forwarding": "l2",
573 "vmxvre_oam_ip_0": "10.0.0.10",
574 "vmxvpfe_sriov44_0_port_mac": "00:11:22:EF:AC:DF",
575 "vmxvpfe_sriov41_0_port_vlanstrip": "false",
576 "vmxvpfe_sriov42_0_port_vlanfilter": "4001",
577 "vmxvpfe_sriov44_0_port_unknownunicastallow": "true",
578 "vmxvre_image_name_0": "VRE-ENGINE_17.2-S2.1.qcow2",
579 "vmxvre_instance": "0",
580 "vmxvpfe_sriov43_0_port_mac": "00:11:22:EF:AC:DF",
581 "vmxvre_flavor_name": "ns.c1r16d32.v5",
582 "vmxvpfe_volume_size_0": "40.0",
583 "vmxvpfe_sriov43_0_port_vlanfilter": "4001",
584 "nf_naming": "{ecomp_generated_naming=true}",
585 "multi_stage_design": "true",
586 "nf_naming_code": "Navneet",
587 "vmxvre_name_0": "vREXI",
588 "vmxvpfe_sriov42_0_port_vlanstrip": "false",
589 "vmxvpfe_volume_name_0": "vPFEXI_FBVolume",
590 "vmx_RSG_id": "bd89a33c-13c3-4a04-8fde-1a57eb123141",
591 "vmxvpfe_image_name_0": "VPE_ROUTING-ENGINE_17.2R1-S2.1.qcow2",
592 "vmxvpfe_sriov43_0_port_unknownunicastallow": "true",
593 "vmxvpfe_sriov44_0_port_unknownmulticastallow": "true",
594 "vmxvre_console": "vidconsole",
595 "vmxvpfe_sriov44_0_port_vlanfilter": "4001",
596 "vmxvpfe_sriov42_0_port_mac": "00:11:22:EF:AC:DF",
597 "vmxvpfe_volume_id_0": "47cede15-da2f-4397-a101-aa683220aff3",
598 "vmxvpfe_sriov42_0_port_unknownmulticastallow": "true",
599 "vmxvpfe_sriov44_0_port_vlanstrip": "false",
600 "vf_module_id": "123",
601 "nf_function": "JAI",
602 "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true",
603 "vmxvre_int_ctl_ip_0": "10.0.0.10",
604 "ecomp_generated_naming": "true",
605 "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI",
606 "vnf_name": "mtnj309me6vre",
607 "vmxvpfe_sriov41_0_port_unknownunicastallow": "true",
608 "vmxvre_volume_type_1": "HITACHI",
609 "vmxvpfe_sriov44_0_port_broadcastallow": "true",
610 "vmxvre_volume_type_0": "HITACHI",
611 "vmxvpfe_volume_type_0": "HITACHI",
612 "vmxvpfe_sriov43_0_port_broadcastallow": "true",
613 "bandwidth_units": "get_input:2017488_pasqualevpe0_bandwidth_units",
615 "vmxvre_oam_prefix": "24",
616 "availability_zone_0": "mtpocfo-kvm-az01",
617 "ASN": "get_input:2017488_pasqualevpe0_ASN",
618 "vmxvre_chassis_i2cid": "161",
619 "vmxvpfe_name_0": "vPFEXI",
620 "bandwidth": "get_input:2017488_pasqualevpe0_bandwidth",
621 "availability_zone_max_count": "1",
622 "vmxvre_volume_size_0": "45.0",
623 "vmxvre_volume_size_1": "50.0",
624 "vmxvpfe_sriov42_0_port_broadcastallow": "true",
625 "vmxvre_oam_gateway": "10.0.0.10",
626 "vmxvre_volume_name_1": "vREXI_FAVolume",
627 "vmxvre_ore_present": "0",
628 "vmxvre_volume_name_0": "vREXI_FBVolume",
630 "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name",
631 "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true",
632 "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429",
633 "vmx_int_ctl_len": "24",
634 "vmxvpfe_sriov43_0_port_vlanstrip": "false",
635 "vmxvpfe_sriov41_0_port_broadcastallow": "true",
636 "vmxvre_volume_id_1": "6e86797e-03cd-4fdc-ba72-2957119c746d",
637 "vmxvpfe_sriov41_0_port_vlanfilter": "4001",
638 "nf_role": "Testing",
639 "vmxvre_volume_id_0": "f4eacb79-f687-4e9d-b760-21847c8bb15a",
640 "vmxvpfe_sriov42_0_port_unknownunicastallow": "true",
641 "vmxvpfe_flavor_name": "ns.c20r16d25.v5"
644 "modelCustomizationName": "2017-388_PASQUALE-vPE 0",
647 "vfcInstanceGroups": {}
649 "2017-488_PASQUALE-vPE 0": {
650 "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09",
651 "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8",
652 "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",
653 "name": "2017-488_PASQUALE-vPE",
655 "customizationUuid": "1da7b585-5e61-4993-b95e-8e6606c81e45",
660 "vmxvre_retype": "RE-VMX",
661 "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version",
662 "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d",
663 "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9",
664 "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF",
665 "int_ctl_net_name": "VMX-INTXI",
666 "vmx_int_ctl_prefix": "10.0.0.10",
667 "sriov43_net_id": "da349ca1-6de9-4548-be88-2d88e99bfef5",
668 "sriov42_net_id": "760669ba-013d-4d9b-b0e7-4151fe2e6279",
669 "sriov41_net_id": "25ad52d5-c165-40f8-b3b0-ddfc2373280a",
671 "vmxvpfe_int_ctl_ip_1": "10.0.0.10",
672 "is_AVPN_service": "false",
673 "vmx_RSG_name": "vREXI-affinity",
674 "vmx_int_ctl_forwarding": "l2",
675 "vmxvre_oam_ip_0": "10.0.0.10",
676 "vmxvpfe_sriov44_0_port_mac": "00:11:22:EF:AC:DF",
677 "vmxvpfe_sriov41_0_port_vlanstrip": "false",
678 "vmxvpfe_sriov42_0_port_vlanfilter": "4001",
679 "vmxvpfe_sriov44_0_port_unknownunicastallow": "true",
680 "vmxvre_image_name_0": "VRE-ENGINE_17.2-S2.1.qcow2",
681 "vmxvre_instance": "0",
682 "vmxvpfe_sriov43_0_port_mac": "00:11:22:EF:AC:DF",
683 "vmxvre_flavor_name": "ns.c1r16d32.v5",
684 "vmxvpfe_volume_size_0": "40.0",
685 "vmxvpfe_sriov43_0_port_vlanfilter": "4001",
686 "nf_naming": "{ecomp_generated_naming=true}",
687 "multi_stage_design": "true",
688 "nf_naming_code": "Navneet",
689 "vmxvre_name_0": "vREXI",
690 "vmxvpfe_sriov42_0_port_vlanstrip": "false",
691 "vmxvpfe_volume_name_0": "vPFEXI_FBVolume",
692 "vmx_RSG_id": "bd89a33c-13c3-4a04-8fde-1a57eb123141",
693 "vmxvpfe_image_name_0": "VPE_ROUTING-ENGINE_17.2R1-S2.1.qcow2",
694 "vmxvpfe_sriov43_0_port_unknownunicastallow": "true",
695 "vmxvpfe_sriov44_0_port_unknownmulticastallow": "true",
696 "vmxvre_console": "vidconsole",
697 "vmxvpfe_sriov44_0_port_vlanfilter": "4001",
698 "vmxvpfe_sriov42_0_port_mac": "00:11:22:EF:AC:DF",
699 "vmxvpfe_volume_id_0": "47cede15-da2f-4397-a101-aa683220aff3",
700 "vmxvpfe_sriov42_0_port_unknownmulticastallow": "true",
701 "vmxvpfe_sriov44_0_port_vlanstrip": "false",
702 "vf_module_id": "123",
703 "nf_function": "JAI",
704 "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true",
705 "vmxvre_int_ctl_ip_0": "10.0.0.10",
706 "ecomp_generated_naming": "true",
707 "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI",
708 "vnf_name": "mtnj309me6vre",
709 "vmxvpfe_sriov41_0_port_unknownunicastallow": "true",
710 "vmxvre_volume_type_1": "HITACHI",
711 "vmxvpfe_sriov44_0_port_broadcastallow": "true",
712 "vmxvre_volume_type_0": "HITACHI",
713 "vmxvpfe_volume_type_0": "HITACHI",
714 "vmxvpfe_sriov43_0_port_broadcastallow": "true",
715 "bandwidth_units": "get_input:2017488_pasqualevpe0_bandwidth_units",
717 "vmxvre_oam_prefix": "24",
718 "availability_zone_0": "mtpocfo-kvm-az01",
719 "ASN": "get_input:2017488_pasqualevpe0_ASN",
720 "vmxvre_chassis_i2cid": "161",
721 "vmxvpfe_name_0": "vPFEXI",
722 "bandwidth": "get_input:2017488_pasqualevpe0_bandwidth",
723 "availability_zone_max_count": "1",
724 "vmxvre_volume_size_0": "45.0",
725 "vmxvre_volume_size_1": "50.0",
726 "vmxvpfe_sriov42_0_port_broadcastallow": "true",
727 "vmxvre_oam_gateway": "10.0.0.10",
728 "vmxvre_volume_name_1": "vREXI_FAVolume",
729 "vmxvre_ore_present": "0",
730 "vmxvre_volume_name_0": "vREXI_FBVolume",
732 "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name",
733 "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true",
734 "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429",
735 "vmx_int_ctl_len": "24",
736 "vmxvpfe_sriov43_0_port_vlanstrip": "false",
737 "vmxvpfe_sriov41_0_port_broadcastallow": "true",
738 "vmxvre_volume_id_1": "6e86797e-03cd-4fdc-ba72-2957119c746d",
739 "vmxvpfe_sriov41_0_port_vlanfilter": "4001",
740 "nf_role": "Testing",
741 "vmxvre_volume_id_0": "f4eacb79-f687-4e9d-b760-21847c8bb15a",
742 "vmxvpfe_sriov42_0_port_unknownunicastallow": "true",
743 "vmxvpfe_flavor_name": "ns.c20r16d25.v5"
746 "modelCustomizationName": "2017-488_PASQUALE-vPE 0",
748 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": {
749 "uuid": "25284168-24bb-4698-8cb4-3f509146eca5",
750 "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1",
751 "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
753 "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
755 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
757 "minCountInstances": 0,
758 "maxCountInstances": null,
760 "vfModuleLabel": "PASQUALE_vRE_BV",
764 "volumeGroupAllowed": true
766 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": {
767 "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db",
768 "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091",
769 "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3",
771 "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
773 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
775 "minCountInstances": 1,
776 "maxCountInstances": 1,
778 "vfModuleLabel": "PASQUALE_base_vPE_BV",
782 "volumeGroupAllowed": false
784 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": {
785 "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a",
786 "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339",
787 "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557",
789 "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
791 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
793 "minCountInstances": 0,
794 "maxCountInstances": null,
796 "vfModuleLabel": "PASQUALE_vPFE_BV",
800 "volumeGroupAllowed": true
804 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": {
805 "uuid": "25284168-24bb-4698-8cb4-3f509146eca5",
806 "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1",
807 "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
809 "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
811 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
813 "minCountInstances": 0,
814 "maxCountInstances": null,
816 "vfModuleLabel": "PASQUALE_vRE_BV",
821 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": {
822 "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a",
823 "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339",
824 "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557",
826 "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
828 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
830 "minCountInstances": 0,
831 "maxCountInstances": null,
833 "vfModuleLabel": "PASQUALE_vPFE_BV",
839 "vfcInstanceGroups": {}
844 "uuid": "ddc3f20c-08b5-40fd-af72-c6d14636b986",
845 "invariantUuid": "379f816b-a7aa-422f-be30-17114ff50b7c",
846 "description": "ECOMP generic virtual link (network) base type for all other service-level and global networks",
849 "customizationUuid": "94fdd893-4a36-4d70-b16a-ec29c54c184f",
853 "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}}",
854 "exVL_naming": "{ecomp_generated_naming=true}",
855 "network_flows": "{is_network_policy=false, is_bound_to_vpn=false}",
856 "network_homing": "{ecomp_selected_instance_node_target=false}"
859 "modelCustomizationName": "ExtVL 0"
862 "collectionResources": {},
863 "configurations": {},
864 "fabricConfigurations": {},
865 "serviceProxies": {},
867 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": {
868 "uuid": "25284168-24bb-4698-8cb4-3f509146eca5",
869 "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1",
870 "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
872 "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
874 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
876 "minCountInstances": 0,
877 "maxCountInstances": null,
879 "vfModuleLabel": "PASQUALE_vRE_BV",
883 "volumeGroupAllowed": true
885 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": {
886 "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db",
887 "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091",
888 "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3",
890 "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
892 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
894 "minCountInstances": 1,
895 "maxCountInstances": 1,
897 "vfModuleLabel": "PASQUALE_base_vPE_BV",
901 "volumeGroupAllowed": false
903 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": {
904 "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a",
905 "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339",
906 "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557",
908 "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
910 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
912 "minCountInstances": 0,
913 "maxCountInstances": null,
915 "vfModuleLabel": "PASQUALE_vPFE_BV",
919 "volumeGroupAllowed": true
923 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": {
924 "uuid": "25284168-24bb-4698-8cb4-3f509146eca5",
925 "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1",
926 "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
928 "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
930 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
932 "minCountInstances": 0,
933 "maxCountInstances": null,
935 "vfModuleLabel": "PASQUALE_vRE_BV",
940 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": {
941 "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a",
942 "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339",
943 "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557",
945 "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
947 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
949 "minCountInstances": 0,
950 "maxCountInstances": null,
952 "vfModuleLabel": "PASQUALE_vPFE_BV",
960 "groupingservicefortest..ResourceInstanceGroup..0": {
962 "invariantUuid": "4bb2e27e-ddab-4790-9c6d-1f731bc14a45",
963 "uuid": "daeb6568-cef8-417f-9075-ed259ce59f48",
965 "name": "groupingservicefortest..ResourceInstanceGroup..0",
966 "modelCustomizationName": "groupingservicefortest..ResourceInstanceGroup..0",
968 "contained_resource_type": "VF",
969 "role": "SERVICE-ACCESS",
971 "description": "DDD0",
972 "type": "LOAD-GROUP",
973 "ecomp_generated_naming": "true"
976 "vdorothea_svc_vprs_proxy 0": {
977 "uuid": "65fadfa8-a0d9-443f-95ad-836cd044e26c",
978 "invariantUuid": "f4baae0c-b3a5-4ca1-a777-afbffe7010bc",
979 "description": "A Proxy for Service vDOROTHEA_Svc_vPRS",
980 "name": "vDOROTHEA_Svc_vPRS Service Proxy",
982 "customizationUuid": "bdb63d23-e132-4ce7-af2c-a493b4cafac9",
986 "type": "Service Proxy",
987 "sourceModelUuid": "da7827a2-366d-4be6-8c68-a69153c61274",
988 "sourceModelInvariant": "24632e6b-584b-4f45-80d4-fefd75fd9f14",
989 "sourceModelName": "vDOROTHEA_Svc_vPRS"
993 "groupingservicefortest..ResourceInstanceGroup..1": {
995 "invariantUuid": "a704112d-dbc6-4e56-8d4e-aec57e95ef9a",
996 "uuid": "c2b300e6-45de-4e5e-abda-3032bee2de56",
998 "name": "groupingservicefortest..ResourceInstanceGroup..1",
999 "modelCustomizationName": "groupingservicefortest..ResourceInstanceGroup..1",
1001 "contained_resource_type": "VF",
1002 "role": "SERVICE-ACCESS",
1003 "function": "SIGNALING",
1004 "description": "DDD1",
1005 "type": "LOAD-GROUP",
1006 "ecomp_generated_naming": "true"
1009 "tsbc0001vm001_svc_proxy 0": {
1010 "uuid": "65fadfa8-a0d9-443f-95ad-836cd044e26c",
1011 "invariantUuid": "f4baae0c-b3a5-4ca1-a777-afbffe7010bc",
1012 "description": "A Proxy for Service tsbc0001vm001_Svc",
1013 "name": "tsbc0001vm001_Svc Service Proxy",
1015 "customizationUuid": "3d814462-30fb-4c62-b997-9aa360d27ead",
1019 "type": "Service Proxy",
1020 "sourceModelUuid": "28aeb8f6-5620-4148-8bfb-a5fb406f0309",
1021 "sourceModelInvariant": "c989ab9a-33c7-46ec-b521-1b2daef5f047",
1022 "sourceModelName": "tsbc0001vm001_Svc"
1028 "b75e0d22-05ff-4448-9266-5f0d4e1dbbd6": {
1030 "uuid": "b75e0d22-05ff-4448-9266-5f0d4e1dbbd6",
1031 "invariantUuid": "5b9c0f33-eec1-484a-bf77-736a6644d7a8",
1032 "name": "Using VID for VoIP Network Instantiations Shani",
1034 "toscaModelURL": null,
1035 "category": "VoIP Call Control",
1038 "description": "Using VID for VoIP Network Instantiations Shani",
1039 "serviceEcompNaming": "true",
1040 "instantiationType": "ClientConfig",
1042 "vidNotions": {"instantiationUI": "legacy", "modelCategory": "other", "viewEditUI": "legacy"}
1046 "AIC30_CONTRAIL_BASIC 0": {
1047 "uuid": "ac815c68-35b7-4ea4-9d04-92d2f844b27c",
1048 "invariantUuid": "de01afb5-532b-451d-aac4-ff9ff0644060",
1049 "description": "Basic contrail 3.0.x L3 network for AIC 3.x sites. ",
1050 "name": "AIC30_CONTRAIL_BASIC",
1052 "customizationUuid": "e94d61f7-b4b2-489a-a4a7-30b1a1a80daf",
1056 "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}}",
1057 "exVL_naming": "{ecomp_generated_naming=true}",
1058 "network_flows": "{is_network_policy=false, is_bound_to_vpn=false}",
1059 "network_scope": "Service",
1060 "network_type": "AIC30_CONTRAIL_BASIC",
1061 "network_technology": "Contrail",
1062 "network_homing": "{ecomp_selected_instance_node_target=false}"
1065 "modelCustomizationName": "AIC30_CONTRAIL_BASIC 0"
1068 "collectionResources": {},
1069 "configurations": {},
1070 "fabricConfigurations": {},
1071 "serviceProxies": {},
1078 "serviceInstance": {
1079 "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd": {
1081 "2017-488_PASQUALE-vPE 0": {
1084 "rollbackOnFailure": "true",
1085 "originalName": "2017-488_PASQUALE-vPE 0",
1086 "isMissingData": false,
1087 "trackById": "stigekyxrqi",
1089 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": {
1090 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0gytfi": {
1091 "isMissingData": false,
1092 "sdncPreReload": null,
1094 "modelType": "VFmodule",
1095 "modelInvariantId": "b34833bb-6aa9-4ad6-a831-70b06367a091",
1096 "modelVersionId": "f8360508-3f17-4414-a2ed-6bc71161e8db",
1097 "modelName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
1098 "modelVersion": "5",
1099 "modelCustomizationId": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3",
1100 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0"
1102 "instanceParams": [{}],
1103 "trackById": "3oj23o7nupo"
1107 "vnfStoreKey": "2017-488_PASQUALE-vPE 0",
1108 "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09",
1109 "productFamilyId": "d8a6ed93-251c-47ca-adc9-86671fd19f4c",
1110 "lcpCloudRegionId": "AAIAIC25",
1111 "tenantId": "092eb9e8e4b7412e8787dd091bc58e86",
1112 "lineOfBusiness": "ONAP",
1113 "platformName": "xxx1",
1115 "modelInvariantId": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8",
1116 "modelVersionId": "69e09f68-8b63-4cc9-b9ff-860960b5db09",
1117 "modelName": "2017-488_PASQUALE-vPE",
1118 "modelVersion": "5.0",
1119 "modelCustomizationName": "2017-488_PASQUALE-vPE 0",
1120 "modelCustomizationId": "1da7b585-5e61-4993-b95e-8e6606c81e45",
1121 "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09"
1123 "legacyRegion": "11111111",
1124 "instanceParams": [{}]
1126 "2017-388_PASQUALE-vPE 0": {
1129 "rollbackOnFailure": "true",
1130 "originalName": "2017-388_PASQUALE-vPE 0",
1131 "isMissingData": false,
1132 "trackById": "nib719t5vca",
1134 "vnfStoreKey": "2017-388_PASQUALE-vPE 0",
1135 "productFamilyId": "d8a6ed93-251c-47ca-adc9-86671fd19f4c",
1136 "lcpCloudRegionId": "AAIAIC25",
1137 "legacyRegion": "11111",
1138 "tenantId": "092eb9e8e4b7412e8787dd091bc58e86",
1139 "platformName": "platform",
1140 "lineOfBusiness": "zzz1",
1141 "instanceParams": [{}],
1143 "modelInvariantId": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8",
1144 "modelVersionId": "afacccf6-397d-45d6-b5ae-94c39734b168",
1145 "modelName": "2017-388_PASQUALE-vPE",
1146 "modelVersion": "4.0",
1147 "modelCustomizationId": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c",
1148 "modelCustomizationName": "2017-388_PASQUALE-vPE 0",
1149 "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168"
1151 "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168"
1153 "2017-388_PASQUALE-vPE 1": {
1156 "rollbackOnFailure": "true",
1157 "originalName": "2017-388_PASQUALE-vPE 1",
1158 "isMissingData": false,
1159 "trackById": "cv7l1ak8vpe",
1161 "vnfStoreKey": "2017-388_PASQUALE-vPE 1",
1162 "productFamilyId": "d8a6ed93-251c-47ca-adc9-86671fd19f4c",
1163 "lcpCloudRegionId": "AAIAIC25",
1164 "legacyRegion": "123",
1165 "tenantId": "092eb9e8e4b7412e8787dd091bc58e86",
1166 "platformName": "platform",
1167 "lineOfBusiness": "ONAP",
1168 "instanceParams": [{}],
1170 "modelInvariantId": "00beb8f9-6d39-452f-816d-c709b9cbb87d",
1171 "modelVersionId": "0903e1c0-8e03-4936-b5c2-260653b96413",
1172 "modelName": "2017-388_PASQUALE-vPE",
1173 "modelVersion": "1.0",
1174 "modelCustomizationId": "280dec31-f16d-488b-9668-4aae55d6648a",
1175 "modelCustomizationName": "2017-388_PASQUALE-vPE 1",
1176 "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413"
1178 "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413"
1181 "instanceParams": [{}],
1182 "validationCounter": 0,
1183 "existingNames": {"yoav": ""},
1184 "existingVNFCounterMap": {
1185 "69e09f68-8b63-4cc9-b9ff-860960b5db09": 1,
1186 "afacccf6-397d-45d6-b5ae-94c39734b168": 1,
1187 "0903e1c0-8e03-4936-b5c2-260653b96413": 1
1189 "existingVnfGroupCounterMap": {
1190 "daeb6568-cef8-417f-9075-ed259ce59f48": 0,
1191 "c2b300e6-45de-4e5e-abda-3032bee2de56": -1
1193 "existingNetworksCounterMap": {"ddc3f20c-08b5-40fd-af72-c6d14636b986": 1},
1197 "rollbackOnFailure": "true",
1198 "originalName": "ExtVL 0",
1199 "isMissingData": false,
1200 "trackById": "s6okajvv2n8",
1201 "networkStoreKey": "ExtVL 0",
1202 "productFamilyId": "d8a6ed93-251c-47ca-adc9-86671fd19f4c",
1203 "lcpCloudRegionId": "AAIAIC25",
1204 "legacyRegion": "12355555",
1205 "tenantId": "092eb9e8e4b7412e8787dd091bc58e86",
1206 "platformName": "platform",
1207 "lineOfBusiness": null,
1208 "instanceParams": [{}],
1210 "modelInvariantId": "379f816b-a7aa-422f-be30-17114ff50b7c",
1211 "modelVersionId": "ddc3f20c-08b5-40fd-af72-c6d14636b986",
1212 "modelName": "ExtVL",
1213 "modelVersion": "37.0",
1214 "modelCustomizationId": "94fdd893-4a36-4d70-b16a-ec29c54c184f",
1215 "modelCustomizationName": "ExtVL 0",
1216 "uuid": "ddc3f20c-08b5-40fd-af72-c6d14636b986"
1218 "uuid": "ddc3f20c-08b5-40fd-af72-c6d14636b986"
1222 "groupingservicefortest..ResourceInstanceGroup..0": {
1224 "rollbackOnFailure": "true",
1225 "originalName": "groupingservicefortest..ResourceInstanceGroup..0",
1226 "isMissingData": false,
1227 "trackById": "se0obn93qq",
1228 "vnfGroupStoreKey": "groupingservicefortest..ResourceInstanceGroup..0",
1229 "instanceName": "groupingservicefortestResourceInstanceGroup0",
1230 "instanceParams": [{}],
1232 "modelInvariantId": "4bb2e27e-ddab-4790-9c6d-1f731bc14a45",
1233 "modelVersionId": "daeb6568-cef8-417f-9075-ed259ce59f48",
1234 "modelName": "groupingservicefortest..ResourceInstanceGroup..0",
1235 "modelVersion": "1",
1236 "modelCustomizationName": "groupingservicefortest..ResourceInstanceGroup..0",
1237 "uuid": "daeb6568-cef8-417f-9075-ed259ce59f48"
1239 "uuid": "daeb6568-cef8-417f-9075-ed259ce59f48"
1242 "instanceName": "yoav",
1243 "globalSubscriberId": "e433710f-9217-458d-a79d-1c7aff376d89",
1244 "subscriptionServiceType": "TYLER SILVIA",
1245 "owningEntityId": "d61e6f2d-12fa-4cc2-91df-7c244011d6fc",
1246 "productFamilyId": "d8a6ed93-251c-47ca-adc9-86671fd19f4c",
1247 "lcpCloudRegionId": "AAIAIC25",
1248 "tenantId": "092eb9e8e4b7412e8787dd091bc58e86",
1249 "aicZoneId": "ATL53",
1251 "projectName": "WATKINS",
1252 "rollbackOnFailure": "true",
1254 "aicZoneName": "AAIATLTE-ATL53",
1255 "owningEntityName": "WayneHolland",
1256 "testApi": "VNF_API",
1257 "isEcompGeneratedNaming": false,
1258 "tenantName": "USP-SIP-IC-24335-T-01",
1260 "modelInvariantId": "cdb90b57-ed78-4d44-a5b4-7f43a02ec632",
1261 "modelVersionId": "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd",
1262 "modelName": "action-data",
1263 "modelVersion": "1.0",
1264 "uuid": "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd"
1266 "isALaCarte": false,
1267 "name": "action-data",
1269 "description": "PASQUALE vMX vPE based on Juniper 17.2 release. Updated with updated VF for v8.0 of VLM",
1270 "category": "Network L1-3",
1271 "uuid": "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd",
1272 "invariantUuid": "cdb90b57-ed78-4d44-a5b4-7f43a02ec632",
1273 "serviceType": "pnf",
1274 "serviceRole": "Testing",
1275 "vidNotions": {"instantiationUI": "legacy", "modelCategory": "other", "viewEditUI": "legacy"},
1276 "isMultiStepDesign": true
1279 "lcpRegionsAndTenants": {
1282 "name": "AAIAIC25 (AIC)",
1283 "isPermitted": true,
1284 "cloudOwner": "irma-aic"
1285 }, {"id": "hvf6", "name": "hvf6 (AIC)", "isPermitted": true, "cloudOwner": "irma-aic"}],
1286 "lcpRegionsTenantsMap": {
1288 "id": "092eb9e8e4b7412e8787dd091bc58e86",
1289 "name": "USP-SIP-IC-24335-T-01",
1290 "isPermitted": true,
1291 "cloudOwner": "irma-aic"
1294 "id": "bae71557c5bb4d5aac6743a4e5f1d054",
1295 "name": "AIN Web Tool-15-D-testalexandria",
1296 "isPermitted": true,
1297 "cloudOwner": "irma-aic"
1299 "id": "d0a3e3f2964542259d155a81c41aadc3",
1300 "name": "test-hvf6-09",
1301 "isPermitted": true,
1302 "cloudOwner": "irma-aic"
1304 "id": "fa45ca53c80b492fa8be5477cd84fc2b",
1306 "isPermitted": true,
1307 "cloudOwner": "irma-aic"
1309 "id": "cbb99fe4ada84631b7baf046b6fd2044",
1310 "name": "DN5242-Nov16-T3",
1311 "isPermitted": true,
1312 "cloudOwner": "irma-aic"
1317 "id": "ERICA5779-Subscriber-2",
1318 "name": "ERICA5779-Subscriber-2",
1319 "isPermitted": false
1321 "id": "ERICA5779-Subscriber-3",
1322 "name": "ERICA5779-Subscriber-3",
1323 "isPermitted": false
1325 "id": "ERICA5779-Subscriber-4",
1326 "name": "ERICA5779-Subscriber-5",
1327 "isPermitted": false
1329 "id": "ERICA5779-TestSub-PWT-101",
1330 "name": "ERICA5779-TestSub-PWT-101",
1331 "isPermitted": false
1333 "id": "ERICA5779-TestSub-PWT-102",
1334 "name": "ERICA5779-TestSub-PWT-102",
1335 "isPermitted": false
1337 "id": "ERICA5779-TestSub-PWT-103",
1338 "name": "ERICA5779-TestSub-PWT-103",
1339 "isPermitted": false
1341 "id": "31739f3e-526b-11e6-beb8-9e71128cae77",
1342 "name": "CRAIG/ROBERTS",
1343 "isPermitted": false
1344 }, {"id": "DHV1707-TestSubscriber-2", "name": "DALE BRIDGES", "isPermitted": false}, {
1345 "id": "jimmy-example",
1346 "name": "JimmyExampleCust-20161102",
1347 "isPermitted": false
1348 }, {"id": "jimmy-example2", "name": "JimmyExampleCust-20161103", "isPermitted": false}, {
1349 "id": "CAR_2020_ER",
1350 "name": "CAR_2020_ER",
1353 "id": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb",
1355 "isPermitted": false
1357 "id": "21014aa2-526b-11e6-beb8-9e71128cae77",
1358 "name": "JULIO ERICKSON",
1359 "isPermitted": false
1361 "id": "DHV1707-TestSubscriber-1",
1362 "name": "LLOYD BRIDGES",
1363 "isPermitted": false
1364 }, {"id": "e433710f-9217-458d-a79d-1c7aff376d89", "name": "SILVIA ROBBINS", "isPermitted": true}],
1365 "productFamilies": null,
1367 "e433710f-9217-458d-a79d-1c7aff376d89": [{
1369 "name": "JOHANNA_SANTOS",
1370 "isPermitted": false
1371 }, {"id": "16", "name": "LINDSEY", "isPermitted": false}, {
1374 "isPermitted": false
1375 }, {"id": "5", "name": "Kennedy", "isPermitted": false}, {
1378 "isPermitted": false
1379 }, {"id": "1", "name": "TYLER SILVIA", "isPermitted": true}, {
1382 "isPermitted": false
1383 }, {"id": "3", "name": "vJamie", "isPermitted": false}, {
1385 "name": "vRichardson",
1386 "isPermitted": false
1387 }, {"id": "18", "name": "vCarroll", "isPermitted": false}, {
1389 "name": "vFLORENCE",
1390 "isPermitted": false
1391 }, {"id": "13", "name": "vWINIFRED", "isPermitted": false}, {
1394 "isPermitted": false
1395 }, {"id": "15", "name": "vMOG", "isPermitted": false}, {
1398 "isPermitted": false
1399 }, {"id": "11", "name": "vEsmeralda", "isPermitted": false}, {
1401 "name": "vPorfirio",
1402 "isPermitted": false
1403 }, {"id": "7", "name": "vVM", "isPermitted": false}, {"id": "4", "name": "vVoiceMail", "isPermitted": false}]
1408 "name": "NFTJSSSS-NFT1"
1412 "name": "YUDFJULP-JAG1"
1416 "name": "UUUAIAAI-YYY1"
1420 "name": "AVTRFLHD-AVT1"
1424 "name": "ATLSANAI-ATL34"
1427 "categoryParameters": {
1428 "owningEntityList": [{
1431 }, {"id": "d61e6f2d-12fa-4cc2-91df-7c244011d6fc", "name": "WayneHolland"}, {
1435 "projectList": [{"id": "WATKINS", "name": "WATKINS"}, {"id": "x1", "name": "x1"}, {"id": "yyy1", "name": "yyy1"}],
1436 "lineOfBusinessList": [{"id": "ONAP", "name": "ONAP"}, {"id": "zzz1", "name": "zzz1"}],
1437 "platformList": [{"id": "platform", "name": "platform"}, {"id": "xxx1", "name": "xxx1"}]
1439 "type": "UPDATE_LCP_REGIONS_AND_TENANTS"
1444 function getNetworkModel(){
1446 "customizationUuid":"94fdd893-4a36-4d70-b16a-ec29c54c184f",
1449 "description":"ECOMP generic virtual link (network) base type for all other service-level and global networks",
1450 "uuid":"ddc3f20c-08b5-40fd-af72-c6d14636b986",
1451 "invariantUuid":"379f816b-a7aa-422f-be30-17114ff50b7c",
1454 "isEcompGeneratedNaming":false,
1456 "modelCustomizationName":"ExtVL 0",
1457 "roles":["network role 1"," network role 2"],
1459 "network_role":"network role 1, network role 2",
1460 "network_assignments":
1461 "{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}}",
1462 "exVL_naming":"{ecomp_generated_naming=true}","network_flows":"{is_network_policy=false, is_bound_to_vpn=false}",
1463 "network_homing":"{ecomp_selected_instance_node_target=false}"
1469 function getNetworkInstance() {
1471 "modelCustomizationId": "94fdd893-4a36-4d70-b16a-ec29c54c184f",
1472 "modelId": "ddc3f20c-08b5-40fd-af72-c6d14636b986",
1473 "modelUniqueId": "94fdd893-4a36-4d70-b16a-ec29c54c184f",
1474 "missingData": true,
1475 "id": "NETWORK4_INSTANCE_ID",
1477 "orchStatus": "Created",
1478 "provStatus": "preprov",
1480 "instanceId": "NETWORK4_INSTANCE_ID",
1481 "instanceType": "CONTRAIL30_HIMELGUARD",
1482 "instanceName": "NETWORK4_INSTANCE_NAME",
1483 "name": "NETWORK4_INSTANCE_NAME",
1484 "modelName": "ExtVL 0",
1486 "isEcompGeneratedNaming": false,
1487 "networkStoreKey": "NETWORK4_INSTANCE_ID",
1489 "menuActions": {"edit": {}, "showAuditInfo": {}, "duplicate": {}, "remove": {}, "delete": {}, "undoDelete": {}},
1491 "statusMessage": "",
1492 "statusProperties": [{"key": "Prov Status:", "value": "preprov", "testId": "provStatus"}, {
1493 "key": "Orch Status:",
1495 "testId": "orchStatus"
1497 "trackById": "1wvr73xl999",
1499 "componentInfoType": "Network",