From 8d17bc384337849ffdf4a8369834c4480c9c5d93 Mon Sep 17 00:00:00 2001 From: Amir Skalka Date: Tue, 10 Dec 2019 16:47:11 +0200 Subject: Do not show retain VGs checkbox in VFM Upgrade modal + tests modifications Business&test(cypress&UT), refactor of some files, fix of typos, upgrade jest version etc. Issue-ID: VID-603 Change-Id: I2153c8a7f300bfa34f6817704b08f0c2a046a4e7 Signed-off-by: Amir Skalka --- .../generic-form-popup.service.spec.ts | 8 +- .../vfModule/vfModule.popuop.service.spec.ts | 2126 -------------------- .../vfModule/vfModule.popuop.service.ts | 211 -- .../vfModule/vfModule.popup.service.spec.ts | 2126 ++++++++++++++++++++ .../vfModule/vfModule.popup.service.ts | 210 ++ .../vfModule.upgrade.popuop.service.ts | 12 +- .../vfModule.upgrade.popup.service.spec.ts | 41 +- .../vnf/vnf.popup.service.spec.ts | 4 +- .../vnfGroup/vnfGroup.popup.service.spec.ts | 4 +- 9 files changed, 2384 insertions(+), 2358 deletions(-) delete mode 100644 vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModule/vfModule.popuop.service.spec.ts delete mode 100644 vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModule/vfModule.popuop.service.ts create mode 100644 vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModule/vfModule.popup.service.spec.ts create mode 100644 vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModule/vfModule.popup.service.ts (limited to 'vid-webpack-master/src/app/shared/components/genericFormPopup') diff --git a/vid-webpack-master/src/app/shared/components/genericFormPopup/generic-form-popup.service.spec.ts b/vid-webpack-master/src/app/shared/components/genericFormPopup/generic-form-popup.service.spec.ts index 63c980cd5..514b9bfef 100644 --- a/vid-webpack-master/src/app/shared/components/genericFormPopup/generic-form-popup.service.spec.ts +++ b/vid-webpack-master/src/app/shared/components/genericFormPopup/generic-form-popup.service.spec.ts @@ -17,7 +17,7 @@ import {UUIDData} from "./generic-form-popup.component"; import {ITreeNode} from "angular-tree-component/dist/defs/api"; import {NetworkPopupService} from "./genericFormServices/network/network.popup.service"; import {NetworkControlGenerator} from "../genericForm/formControlsServices/networkGenerator/network.control.generator"; -import {VfModulePopuopService} from "./genericFormServices/vfModule/vfModule.popuop.service"; +import {VfModulePopupService} from "./genericFormServices/vfModule/vfModule.popup.service"; import {VfModuleControlGenerator} from "../genericForm/formControlsServices/vfModuleGenerator/vfModule.control.generator"; import {FeatureFlagsService} from "../../services/featureFlag/feature-flags.service"; import {VfModuleUpgradePopupService} from "./genericFormServices/vfModuleUpgrade/vfModule.upgrade.popuop.service"; @@ -946,7 +946,7 @@ describe('Generic Form popup Service', () => { let form : FormGroup; let fb : FormBuilder; let netwokPopupService : NetworkPopupService; - let vfModulePopupService : VfModulePopuopService; + let vfModulePopupService : VfModulePopupService; let servicePopupService : ServicePopupService; let _aaiService : AaiService; let _activatedRoute : ActivatedRoute; @@ -967,7 +967,7 @@ describe('Generic Form popup Service', () => { AaiService, NetworkPopupService, NetworkControlGenerator, - VfModulePopuopService, + VfModulePopupService, VfModuleUpgradePopupService, VfModuleControlGenerator, {provide:FeatureFlagsService, useClass: MockFeatureFlagsService}, @@ -981,7 +981,7 @@ describe('Generic Form popup Service', () => { httpMock = injector.get(HttpTestingController); fb = injector.get(FormBuilder); netwokPopupService = injector.get(NetworkPopupService); - vfModulePopupService = injector.get(VfModulePopuopService); + vfModulePopupService = injector.get(VfModulePopupService); servicePopupService = injector.get(ServicePopupService); _aaiService = injector.get(AaiService); _activatedRoute = injector.get(ActivatedRoute); diff --git a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModule/vfModule.popuop.service.spec.ts b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModule/vfModule.popuop.service.spec.ts deleted file mode 100644 index 6c487102f..000000000 --- a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModule/vfModule.popuop.service.spec.ts +++ /dev/null @@ -1,2126 +0,0 @@ -import {LogService} from "../../../../utils/log/log.service"; -import {NgRedux} from "@angular-redux/store"; -import {BasicControlGenerator} from "../../../genericForm/formControlsServices/basic.control.generator"; -import {AaiService} from "../../../../services/aaiService/aai.service"; -import {HttpClient} from "@angular/common/http"; -import {GenericFormService} from "../../../genericForm/generic-form.service"; -import {FormBuilder} from "@angular/forms"; -import {IframeService} from "../../../../utils/iframe.service"; -import {DefaultDataGeneratorService} from "../../../../services/defaultDataServiceGenerator/default.data.generator.service"; -import {BasicPopupService} from "../basic.popup.service"; -import {VfModulePopuopService} from "./vfModule.popuop.service"; -import {VfModuleControlGenerator} from "../../../genericForm/formControlsServices/vfModuleGenerator/vfModule.control.generator"; -import {SdcUiServices} from "onap-ui-angular"; -import {FeatureFlagsService} from "../../../../services/featureFlag/feature-flags.service"; -import {getTestBed, TestBed} from "@angular/core/testing"; - -class MockModalService {} - -class MockAppStore {} - -class MockReduxStore { - getState() { - return { - "global": { - "name": null, - "flags": { - "FLAG_NETWORK_TO_ASYNC_INSTANTIATION": false, - "FLAG_SHOW_ASSIGNMENTS": true, - "FLAG_FABRIC_CONFIGURATION_ASSIGNMENTS": true, - "FLAG_SHOW_VERIFY_SERVICE": false, - "FLAG_SERVICE_MODEL_CACHE": true, - "FLAG_ADVANCED_PORTS_FILTER": true, - "FLAG_REGION_ID_FROM_REMOTE": true, - "FLAG_ADD_MSO_TESTAPI_FIELD": true - }, - "type": "[FLAGS] Update" - }, - "service": { - "serviceHierarchy": { - "6e59c5de-f052-46fa-aa7e-2fca9d674c44": { - "service": { - "uuid": "6e59c5de-f052-46fa-aa7e-2fca9d674c44", - "invariantUuid": "e49fbd11-e60c-4a8e-b4bf-30fbe8f4fcc0", - "name": "ComplexService", - "version": "1.0", - "toscaModelURL": null, - "category": "Emanuel", - "serviceType": "", - "serviceRole": "", - "description": "ComplexService", - "serviceEcompNaming": "false", - "instantiationType": "Macro", - "inputs": {} - }, - "vnfs": { - "VF_vGeraldine 0": { - "uuid": "d6557200-ecf2-4641-8094-5393ae3aae60", - "invariantUuid": "4160458e-f648-4b30-a176-43881ffffe9e", - "description": "VSP_vGeraldine", - "name": "VF_vGeraldine", - "version": "2.0", - "customizationUuid": "91415b44-753d-494c-926a-456a9172bbb9", - "inputs": {}, - "commands": {}, - "properties": { - "max_instances": 10, - "min_instances": 1, - "gpb2_Internal2_mac": "00:11:22:EF:AC:DF", - "sctp-b-ipv6-egress_src_start_port": "0", - "sctp-a-ipv6-egress_rule_application": "any", - "Internal2_allow_transit": "true", - "sctp-b-IPv6_ethertype": "IPv6", - "sctp-a-egress_rule_application": "any", - "sctp-b-ingress_action": "pass", - "sctp-b-ingress_rule_protocol": "icmp", - "ncb2_Internal1_mac": "00:11:22:EF:AC:DF", - "sctp-b-ipv6-ingress-src_start_port": "0.0", - "ncb1_Internal2_mac": "00:11:22:EF:AC:DF", - "fsb_volume_size_0": "320.0", - "sctp-b-egress_src_addresses": "local", - "sctp-a-ipv6-ingress_ethertype": "IPv4", - "sctp-a-ipv6-ingress-dst_start_port": "0", - "sctp-b-ipv6-ingress_rule_application": "any", - "domain_name": "default-domain", - "sctp-a-ingress_rule_protocol": "icmp", - "sctp-b-egress-src_start_port": "0.0", - "sctp-a-egress_src_addresses": "local", - "sctp-b-display_name": "epc-sctp-b-ipv4v6-sec-group", - "sctp-a-egress-src_start_port": "0.0", - "sctp-a-ingress_ethertype": "IPv4", - "sctp-b-ipv6-ingress-dst_end_port": "65535", - "sctp-b-dst_subnet_prefix_v6": "::", - "nf_naming": "{ecomp_generated_naming=true}", - "sctp-a-ipv6-ingress_src_subnet_prefix": "0.0.0.0", - "sctp-b-egress-dst_start_port": "0.0", - "ncb_flavor_name": "nv.c20r64d1", - "gpb1_Internal1_mac": "00:11:22:EF:AC:DF", - "sctp-b-egress_dst_subnet_prefix_len": "0.0", - "Internal2_net_cidr": "10.0.0.10", - "sctp-a-ingress-dst_start_port": "0.0", - "sctp-a-egress-dst_start_port": "0.0", - "fsb1_Internal2_mac": "00:11:22:EF:AC:DF", - "sctp-a-egress_ethertype": "IPv4", - "vlc_st_service_mode": "in-network-nat", - "sctp-a-ipv6-egress_ethertype": "IPv4", - "sctp-a-egress-src_end_port": "65535.0", - "sctp-b-ipv6-egress_rule_application": "any", - "sctp-b-egress_action": "pass", - "sctp-a-ingress-src_subnet_prefix_len": "0.0", - "sctp-b-ipv6-ingress-src_end_port": "65535.0", - "sctp-b-name": "epc-sctp-b-ipv4v6-sec-group", - "fsb2_Internal1_mac": "00:11:22:EF:AC:DF", - "sctp-a-ipv6-ingress-src_start_port": "0.0", - "sctp-b-ipv6-egress_ethertype": "IPv4", - "Internal1_net_cidr": "10.0.0.10", - "sctp-a-egress_dst_subnet_prefix": "0.0.0.0", - "fsb_flavor_name": "nv.c20r64d1", - "sctp_rule_protocol": "132", - "sctp-b-ipv6-ingress_src_subnet_prefix_len": "0", - "sctp-a-ipv6-ingress_rule_application": "any", - "ecomp_generated_naming": "false", - "sctp-a-IPv6_ethertype": "IPv6", - "vlc2_Internal1_mac": "00:11:22:EF:AC:DF", - "vlc_st_virtualization_type": "virtual-machine", - "sctp-b-ingress-dst_start_port": "0.0", - "sctp-b-ingress-dst_end_port": "65535.0", - "sctp-a-ipv6-ingress-src_end_port": "65535.0", - "sctp-a-display_name": "epc-sctp-a-ipv4v6-sec-group", - "sctp-b-ingress_rule_application": "any", - "int2_sec_group_name": "int2-sec-group", - "vlc_flavor_name": "nd.c16r64d1", - "sctp-b-ipv6-egress_src_addresses": "local", - "vlc_st_interface_type_int1": "other1", - "sctp-b-egress-src_end_port": "65535.0", - "sctp-a-ipv6-egress-dst_start_port": "0", - "vlc_st_interface_type_int2": "other2", - "sctp-a-ipv6-egress_rule_protocol": "any", - "Internal2_shared": "false", - "sctp-a-ipv6-egress_dst_subnet_prefix_len": "0", - "Internal2_rpf": "disable", - "vlc1_Internal1_mac": "00:11:22:EF:AC:DF", - "sctp-b-ipv6-egress_src_end_port": "65535", - "sctp-a-ipv6-egress_src_addresses": "local", - "sctp-a-ingress-dst_end_port": "65535.0", - "sctp-a-ipv6-egress_src_end_port": "65535", - "Internal1_forwarding_mode": "l2", - "Internal2_dhcp": "false", - "sctp-a-dst_subnet_prefix_v6": "::", - "pxe_image_name": "MME_PXE-Boot_16ACP04_GA.qcow2", - "vlc_st_interface_type_gtp": "other0", - "ncb1_Internal1_mac": "00:11:22:EF:AC:DF", - "sctp-b-src_subnet_prefix_v6": "::", - "sctp-a-egress_dst_subnet_prefix_len": "0.0", - "int1_sec_group_name": "int1-sec-group", - "Internal1_dhcp": "false", - "sctp-a-ipv6-egress_dst_end_port": "65535", - "Internal2_forwarding_mode": "l2", - "fsb2_Internal2_mac": "00:11:22:EF:AC:DF", - "sctp-b-egress_dst_subnet_prefix": "0.0.0.0", - "Internal1_net_cidr_len": "17", - "gpb2_Internal1_mac": "00:11:22:EF:AC:DF", - "sctp-b-ingress-src_subnet_prefix_len": "0.0", - "sctp-a-ingress_dst_addresses": "local", - "sctp-a-egress_action": "pass", - "fsb_volume_type_0": "SF-Default-SSD", - "ncb2_Internal2_mac": "00:11:22:EF:AC:DF", - "vlc_st_interface_type_sctp_a": "left", - "vlc_st_interface_type_sctp_b": "right", - "sctp-a-src_subnet_prefix_v6": "::", - "vlc_st_version": "2", - "sctp-b-egress_ethertype": "IPv4", - "sctp-a-ingress_rule_application": "any", - "gpb1_Internal2_mac": "00:11:22:EF:AC:DF", - "instance_ip_family_v6": "v6", - "sctp-a-ipv6-egress_src_start_port": "0", - "sctp-b-ingress-src_start_port": "0.0", - "sctp-b-ingress_dst_addresses": "local", - "fsb1_Internal1_mac": "00:11:22:EF:AC:DF", - "vlc_st_interface_type_oam": "management", - "multi_stage_design": "true", - "oam_sec_group_name": "oam-sec-group", - "Internal2_net_gateway": "10.0.0.10", - "sctp-a-ipv6-ingress-dst_end_port": "65535", - "sctp-b-ipv6-egress-dst_start_port": "0", - "Internal1_net_gateway": "10.0.0.10", - "sctp-b-ipv6-egress_rule_protocol": "any", - "gtp_sec_group_name": "gtp-sec-group", - "sctp-a-ipv6-egress_dst_subnet_prefix": "0.0.0.0", - "sctp-b-ipv6-egress_dst_subnet_prefix_len": "0", - "sctp-a-ipv6-ingress_dst_addresses": "local", - "sctp-a-egress_rule_protocol": "icmp", - "sctp-b-ipv6-egress_action": "pass", - "sctp-a-ipv6-egress_action": "pass", - "Internal1_shared": "false", - "sctp-b-ipv6-ingress_rule_protocol": "any", - "Internal2_net_cidr_len": "17", - "sctp-a-name": "epc-sctp-a-ipv4v6-sec-group", - "sctp-a-ingress-src_end_port": "65535.0", - "sctp-b-ipv6-ingress_src_subnet_prefix": "0.0.0.0", - "sctp-a-egress-dst_end_port": "65535.0", - "sctp-a-ingress_action": "pass", - "sctp-b-egress_rule_protocol": "icmp", - "sctp-b-ipv6-ingress_action": "pass", - "vlc_st_service_type": "firewall", - "sctp-b-ipv6-egress_dst_end_port": "65535", - "sctp-b-ipv6-ingress-dst_start_port": "0", - "vlc2_Internal2_mac": "00:11:22:EF:AC:DF", - "vlc_st_availability_zone": "true", - "fsb_volume_image_name_1": "MME_FSB2_16ACP04_GA.qcow2", - "sctp-b-ingress-src_subnet_prefix": "0.0.0.0", - "sctp-a-ipv6-ingress_src_subnet_prefix_len": "0", - "Internal1_allow_transit": "true", - "gpb_flavor_name": "nv.c20r64d1", - "availability_zone_max_count": "1", - "fsb_volume_image_name_0": "MME_FSB1_16ACP04_GA.qcow2", - "sctp-b-ipv6-ingress_dst_addresses": "local", - "sctp-b-ipv6-egress_dst_subnet_prefix": "0.0.0.0", - "sctp-b-ipv6-ingress_ethertype": "IPv4", - "vlc1_Internal2_mac": "00:11:22:EF:AC:DF", - "sctp-a-ingress-src_subnet_prefix": "0.0.0.0", - "sctp-a-ipv6-ingress_action": "pass", - "Internal1_rpf": "disable", - "sctp-b-ingress_ethertype": "IPv4", - "sctp-b-egress_rule_application": "any", - "sctp-b-ingress-src_end_port": "65535.0", - "sctp-a-ipv6-ingress_rule_protocol": "any", - "sctp-a-ingress-src_start_port": "0.0", - "sctp-b-egress-dst_end_port": "65535.0" - }, - "type": "VF", - "modelCustomizationName": "VF_vGeraldine 0", - "vfModules": { - "vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1": { - "uuid": "522159d5-d6e0-4c2a-aa44-5a542a12a830", - "invariantUuid": "98a7c88b-b577-476a-90e4-e25a5871e02b", - "customizationUuid": "55b1be94-671a-403e-a26c-667e9c47d091", - "description": null, - "name": "VfVgeraldine..vflorence_vlc..module-1", - "version": "2", - "modelCustomizationName": "VfVgeraldine..vflorence_vlc..module-1", - "properties": { - "minCountInstances": 0, - "maxCountInstances": null, - "initialCount": 0, - "vfModuleLabel": "vflorence_vlc" - }, - "inputs": {}, - "volumeGroupAllowed": true - }, - "vf_vgeraldine0..VfVgeraldine..vflorence_gpb..module-2": { - "uuid": "41708296-e443-4c71-953f-d9a010f059e1", - "invariantUuid": "1cca90b8-3490-495e-87da-3f3e4c57d5b9", - "customizationUuid": "6add59e0-7fe1-4bc4-af48-f8812422ae7c", - "description": null, - "name": "VfVgeraldine..vflorence_gpb..module-2", - "version": "2", - "modelCustomizationName": "VfVgeraldine..vflorence_gpb..module-2", - "properties": { - "minCountInstances": 0, - "maxCountInstances": null, - "initialCount": 0, - "vfModuleLabel": "vflorence_gpb" - }, - "inputs": {}, - "volumeGroupAllowed": false - }, - "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { - "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", - "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", - "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", - "description": null, - "name": "VfVgeraldine..base_vflorence..module-0", - "version": "2", - "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", - "properties": { - "minCountInstances": 1, - "maxCountInstances": 1, - "initialCount": 1, - "vfModuleLabel": "base_vflorence" - }, - "inputs": {}, - "volumeGroupAllowed": true - } - }, - "volumeGroups": { - "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { - "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", - "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", - "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", - "description": null, - "name": "VfVgeraldine..base_vflorence..module-0", - "version": "2", - "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", - "properties": { - "minCountInstances": 1, - "maxCountInstances": 1, - "initialCount": 1, - "vfModuleLabel": "base_vflorence" - }, - "inputs": {} - } - }, - "vfcInstanceGroups": {} - } - }, - "networks": { - "ExtVL 0": { - "uuid": "ddc3f20c-08b5-40fd-af72-c6d14636b986", - "invariantUuid": "379f816b-a7aa-422f-be30-17114ff50b7c", - "description": "ECOMP generic virtual link (network) base type for all other service-level and global networks", - "name": "ExtVL", - "version": "37.0", - "customizationUuid": "94fdd893-4a36-4d70-b16a-ec29c54c184f", - "inputs": {}, - "commands": {}, - "properties": { - "netowrk_role": "role 1, role 2, role 3", - "network_assignments": "{is_external_network=false, ipv4_subnet_default_assignment={min_subnets_count=1}, ecomp_generated_network_assignment=false, ipv6_subnet_default_assignment={min_subnets_count=1}}", - "exVL_naming": "{ecomp_generated_naming=true}", - "network_flows": "{is_network_policy=false, is_bound_to_vpn=false}", - "network_homing": "{ecomp_selected_instance_node_target=false}" - }, - "type": "VL", - "modelCustomizationName": "ExtVL 0" - } - }, - "collectionResources": {}, - "configurations": { - "Port Mirroring Configuration By Policy 0": { - "uuid": "b4398538-e89d-4f13-b33d-ca323434ba50", - "invariantUuid": "6ef0ca40-f366-4897-951f-abd65d25f6f7", - "description": "A port mirroring configuration by policy object", - "name": "Port Mirroring Configuration By Policy", - "version": "27.0", - "customizationUuid": "3c3b7b8d-8669-4b3b-8664-61970041fad2", - "inputs": {}, - "commands": {}, - "properties": {}, - "type": "Configuration", - "modelCustomizationName": "Port Mirroring Configuration By Policy 0", - "sourceNodes": [], - "collectorNodes": null, - "configurationByPolicy": false - } - }, - "serviceProxies": {}, - "vfModules": { - "vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1": { - "uuid": "522159d5-d6e0-4c2a-aa44-5a542a12a830", - "invariantUuid": "98a7c88b-b577-476a-90e4-e25a5871e02b", - "customizationUuid": "55b1be94-671a-403e-a26c-667e9c47d091", - "description": null, - "name": "VfVgeraldine..vflorence_vlc..module-1", - "version": "2", - "modelCustomizationName": "VfVgeraldine..vflorence_vlc..module-1", - "properties": { - "minCountInstances": 0, - "maxCountInstances": null, - "initialCount": 0, - "vfModuleLabel": "vflorence_vlc" - }, - "inputs": {}, - "volumeGroupAllowed": true - }, - "vf_vgeraldine0..VfVgeraldine..vflorence_gpb..module-2": { - "uuid": "41708296-e443-4c71-953f-d9a010f059e1", - "invariantUuid": "1cca90b8-3490-495e-87da-3f3e4c57d5b9", - "customizationUuid": "6add59e0-7fe1-4bc4-af48-f8812422ae7c", - "description": null, - "name": "VfVgeraldine..vflorence_gpb..module-2", - "version": "2", - "modelCustomizationName": "VfVgeraldine..vflorence_gpb..module-2", - "properties": { - "minCountInstances": 0, - "maxCountInstances": null, - "initialCount": 0, - "vfModuleLabel": "vflorence_gpb" - }, - "inputs": {}, - "volumeGroupAllowed": false - }, - "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { - "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", - "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", - "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", - "description": null, - "name": "VfVgeraldine..base_vflorence..module-0", - "version": "2", - "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", - "properties": { - "minCountInstances": 1, - "maxCountInstances": 1, - "initialCount": 1, - "vfModuleLabel": "base_vflorence" - }, - "inputs": {}, - "volumeGroupAllowed": true - } - }, - "volumeGroups": { - "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { - "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", - "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", - "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", - "description": null, - "name": "VfVgeraldine..base_vflorence..module-0", - "version": "2", - "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", - "properties": { - "minCountInstances": 1, - "maxCountInstances": 1, - "initialCount": 1, - "vfModuleLabel": "base_vflorence" - }, - "inputs": {} - } - }, - "pnfs": {} - }, - "6b528779-44a3-4472-bdff-9cd15ec93450": { - "service": { - "uuid": "6b528779-44a3-4472-bdff-9cd15ec93450", - "invariantUuid": "e49fbd11-e60c-4a8e-b4bf-30fbe8f4fcc0", - "name": "action-data", - "version": "1.0", - "toscaModelURL": null, - "category": "", - "serviceType": "", - "serviceRole": "", - "description": "", - "serviceEcompNaming": "false", - "instantiationType": "A-La-Carte", - "inputs": { - "2017488_pasqualevpe0_ASN": { - "type": "string", - "description": "AV/PE", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "AV_vPE" - } - } - }, - "vnfs": { - "2017-388_PASQUALE-vPE 1": { - "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413", - "invariantUuid": "00beb8f9-6d39-452f-816d-c709b9cbb87d", - "description": "Name PASQUALE vPE Description The provider edge function for the PASQUALE service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-388_PASQUALE-vPE", - "version": "1.0", - "customizationUuid": "280dec31-f16d-488b-9668-4aae55d6648a", - "inputs": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "ATLMY8GA" - }, - "ASN": { - "type": "string", - "description": "AV/PE", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "AV_vPE" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "mtnj309me6" - } - }, - "commands": { - "vnf_config_template_version": { - "displayName": "vnf_config_template_version", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_config_template_version" - }, - "bandwidth_units": { - "displayName": "bandwidth_units", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth_units" - }, - "bandwidth": {"displayName": "bandwidth", "command": "get_input", "inputName": "pasqualevpe0_bandwidth"}, - "AIC_CLLI": { - "displayName": "AIC_CLLI", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_AIC_CLLI" - }, - "ASN": {"displayName": "ASN", "command": "get_input", "inputName": "2017488_pasqualevpe0_ASN"}, - "vnf_instance_name": { - "displayName": "vnf_instance_name", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_instance_name" - } - }, - "properties": { - "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", - "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", - "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", - "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", - "int_ctl_net_name": "VMX-INTXI", - "vmx_int_ctl_prefix": "10.0.0.10", - "sriov43_net_id": "da349ca1-6de9-4548-be88-2d88e99bfef5", - "sriov42_net_id": "760669ba-013d-4d9b-b0e7-4151fe2e6279", - "sriov41_net_id": "25ad52d5-c165-40f8-b3b0-ddfc2373280a", - "nf_type": "vPE", - "vmxvpfe_int_ctl_ip_1": "10.0.0.10", - "is_AVPN_service": "false", - "vmx_RSG_name": "vREXI-affinity", - "vmx_int_ctl_forwarding": "l2", - "vmxvre_oam_ip_0": "10.0.0.10", - "vmxvpfe_sriov44_0_port_mac": "00:11:22:EF:AC:DF", - "vmxvpfe_sriov41_0_port_vlanstrip": "false", - "vmxvpfe_sriov42_0_port_vlanfilter": "4001", - "vmxvpfe_sriov44_0_port_unknownunicastallow": "true", - "vmxvre_image_name_0": "VRE-ENGINE_17.2-S2.1.qcow2", - "vmxvre_instance": "0", - "vmxvpfe_sriov43_0_port_mac": "00:11:22:EF:AC:DF", - "vmxvre_flavor_name": "ns.c1r16d32.v5", - "vmxvpfe_volume_size_0": "40.0", - "vmxvpfe_sriov43_0_port_vlanfilter": "4001", - "nf_naming": "{ecomp_generated_naming=false}", - "nf_naming_code": "Navneet", - "vmxvre_name_0": "vREXI", - "vmxvpfe_sriov42_0_port_vlanstrip": "false", - "vmxvpfe_volume_name_0": "vPFEXI_FBVolume", - "vmx_RSG_id": "bd89a33c-13c3-4a04-8fde-1a57eb123141", - "vmxvpfe_image_name_0": "VPE_ROUTING-ENGINE_17.2R1-S2.1.qcow2", - "vmxvpfe_sriov43_0_port_unknownunicastallow": "true", - "vmxvpfe_sriov44_0_port_unknownmulticastallow": "true", - "vmxvre_console": "vidconsole", - "vmxvpfe_sriov44_0_port_vlanfilter": "4001", - "vmxvpfe_sriov42_0_port_mac": "00:11:22:EF:AC:DF", - "vmxvpfe_volume_id_0": "47cede15-da2f-4397-a101-aa683220aff3", - "vmxvpfe_sriov42_0_port_unknownmulticastallow": "true", - "vmxvpfe_sriov44_0_port_vlanstrip": "false", - "vf_module_id": "123", - "nf_function": "JAI", - "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", - "vmxvre_int_ctl_ip_0": "10.0.0.10", - "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", - "vnf_name": "mtnj309me6vre", - "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", - "vmxvre_volume_type_1": "HITACHI", - "vmxvpfe_sriov44_0_port_broadcastallow": "true", - "vmxvre_volume_type_0": "HITACHI", - "vmxvpfe_volume_type_0": "HITACHI", - "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", - "vnf_id": "123", - "vmxvre_oam_prefix": "24", - "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_pasqualevpe0_ASN", - "vmxvre_chassis_i2cid": "161", - "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:pasqualevpe0_bandwidth", - "availability_zone_max_count": "1", - "vmxvre_volume_size_0": "45.0", - "vmxvre_volume_size_1": "50.0", - "vmxvpfe_sriov42_0_port_broadcastallow": "true", - "vmxvre_oam_gateway": "10.0.0.10", - "vmxvre_volume_name_1": "vREXI_FAVolume", - "vmxvre_ore_present": "0", - "vmxvre_volume_name_0": "vREXI_FBVolume", - "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", - "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", - "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", - "vmx_int_ctl_len": "24", - "vmxvpfe_sriov43_0_port_vlanstrip": "false", - "vmxvpfe_sriov41_0_port_broadcastallow": "true", - "vmxvre_volume_id_1": "6e86797e-03cd-4fdc-ba72-2957119c746d", - "vmxvpfe_sriov41_0_port_vlanfilter": "4001", - "nf_role": "Testing", - "vmxvre_volume_id_0": "f4eacb79-f687-4e9d-b760-21847c8bb15a", - "vmxvpfe_sriov42_0_port_unknownunicastallow": "true", - "vmxvpfe_flavor_name": "ns.c20r16d25.v5" - }, - "type": "VF", - "modelCustomizationName": "2017-388_PASQUALE-vPE 1", - "vfModules": {}, - "volumeGroups": {}, - "vfcInstanceGroups": {} - }, - "2017-388_PASQUALE-vPE 0": { - "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168", - "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", - "description": "Name PASQUALE vPE Description The provider edge function for the PASQUALE service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-388_PASQUALE-vPE", - "version": "4.0", - "customizationUuid": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c", - "inputs": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "ATLMY8GA" - }, - "ASN": { - "type": "string", - "description": "AV/PE", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "AV_vPE" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "mtnj309me6" - } - }, - "commands": { - "vnf_config_template_version": { - "displayName": "vnf_config_template_version", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_config_template_version" - }, - "bandwidth_units": { - "displayName": "bandwidth_units", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth_units" - }, - "bandwidth": {"displayName": "bandwidth", "command": "get_input", "inputName": "pasqualevpe0_bandwidth"}, - "AIC_CLLI": { - "displayName": "AIC_CLLI", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_AIC_CLLI" - }, - "ASN": {"displayName": "ASN", "command": "get_input", "inputName": "2017488_pasqualevpe0_ASN"}, - "vnf_instance_name": { - "displayName": "vnf_instance_name", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_instance_name" - } - }, - "properties": { - "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", - "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", - "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", - "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", - "int_ctl_net_name": "VMX-INTXI", - "vmx_int_ctl_prefix": "10.0.0.10", - "sriov43_net_id": "da349ca1-6de9-4548-be88-2d88e99bfef5", - "sriov42_net_id": "760669ba-013d-4d9b-b0e7-4151fe2e6279", - "sriov41_net_id": "25ad52d5-c165-40f8-b3b0-ddfc2373280a", - "nf_type": "vPE", - "vmxvpfe_int_ctl_ip_1": "10.0.0.10", - "is_AVPN_service": "false", - "vmx_RSG_name": "vREXI-affinity", - "vmx_int_ctl_forwarding": "l2", - "vmxvre_oam_ip_0": "10.0.0.10", - "vmxvpfe_sriov44_0_port_mac": "00:11:22:EF:AC:DF", - "vmxvpfe_sriov41_0_port_vlanstrip": "false", - "vmxvpfe_sriov42_0_port_vlanfilter": "4001", - "vmxvpfe_sriov44_0_port_unknownunicastallow": "true", - "vmxvre_image_name_0": "VRE-ENGINE_17.2-S2.1.qcow2", - "vmxvre_instance": "0", - "vmxvpfe_sriov43_0_port_mac": "00:11:22:EF:AC:DF", - "vmxvre_flavor_name": "ns.c1r16d32.v5", - "vmxvpfe_volume_size_0": "40.0", - "vmxvpfe_sriov43_0_port_vlanfilter": "4001", - "nf_naming": "{ecomp_generated_naming=false}", - "nf_naming_code": "Navneet", - "vmxvre_name_0": "vREXI", - "vmxvpfe_sriov42_0_port_vlanstrip": "false", - "vmxvpfe_volume_name_0": "vPFEXI_FBVolume", - "vmx_RSG_id": "bd89a33c-13c3-4a04-8fde-1a57eb123141", - "vmxvpfe_image_name_0": "VPE_ROUTING-ENGINE_17.2R1-S2.1.qcow2", - "vmxvpfe_sriov43_0_port_unknownunicastallow": "true", - "vmxvpfe_sriov44_0_port_unknownmulticastallow": "true", - "vmxvre_console": "vidconsole", - "vmxvpfe_sriov44_0_port_vlanfilter": "4001", - "vmxvpfe_sriov42_0_port_mac": "00:11:22:EF:AC:DF", - "vmxvpfe_volume_id_0": "47cede15-da2f-4397-a101-aa683220aff3", - "vmxvpfe_sriov42_0_port_unknownmulticastallow": "true", - "min_instances": "1", - "vmxvpfe_sriov44_0_port_vlanstrip": "false", - "vf_module_id": "123", - "nf_function": "JAI", - "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", - "vmxvre_int_ctl_ip_0": "10.0.0.10", - "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", - "vnf_name": "mtnj309me6vre", - "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", - "vmxvre_volume_type_1": "HITACHI", - "vmxvpfe_sriov44_0_port_broadcastallow": "true", - "vmxvre_volume_type_0": "HITACHI", - "vmxvpfe_volume_type_0": "HITACHI", - "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", - "vnf_id": "123", - "vmxvre_oam_prefix": "24", - "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_pasqualevpe0_ASN", - "vmxvre_chassis_i2cid": "161", - "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:pasqualevpe0_bandwidth", - "availability_zone_max_count": "1", - "vmxvre_volume_size_0": "45.0", - "vmxvre_volume_size_1": "50.0", - "vmxvpfe_sriov42_0_port_broadcastallow": "true", - "vmxvre_oam_gateway": "10.0.0.10", - "vmxvre_volume_name_1": "vREXI_FAVolume", - "vmxvre_ore_present": "0", - "vmxvre_volume_name_0": "vREXI_FBVolume", - "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", - "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", - "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", - "vmx_int_ctl_len": "24", - "vmxvpfe_sriov43_0_port_vlanstrip": "false", - "vmxvpfe_sriov41_0_port_broadcastallow": "true", - "vmxvre_volume_id_1": "6e86797e-03cd-4fdc-ba72-2957119c746d", - "vmxvpfe_sriov41_0_port_vlanfilter": "4001", - "nf_role": "Testing", - "vmxvre_volume_id_0": "f4eacb79-f687-4e9d-b760-21847c8bb15a", - "vmxvpfe_sriov42_0_port_unknownunicastallow": "true", - "vmxvpfe_flavor_name": "ns.c20r16d25.v5" - }, - "type": "VF", - "modelCustomizationName": "2017-388_PASQUALE-vPE 0", - "vfModules": {}, - "volumeGroups": {}, - "vfcInstanceGroups": {} - }, - "2017-488_PASQUALE-vPE 0": { - "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09", - "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", - "description": "Name PASQUALE vPE Description The provider edge function for the PASQUALE service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", - "name": "2017-488_PASQUALE-vPE", - "version": "5.0", - "customizationUuid": "1da7b585-5e61-4993-b95e-8e6606c81e45", - "inputs": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "ATLMY8GA" - }, - "ASN": { - "type": "string", - "description": "AV/PE", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "AV_vPE" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "mtnj309me6" - } - }, - "commands": { - "vnf_config_template_version": { - "displayName": "vnf_config_template_version", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_config_template_version" - }, - "bandwidth_units": { - "displayName": "bandwidth_units", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth_units" - }, - "bandwidth": {"displayName": "bandwidth", "command": "get_input", "inputName": "pasqualevpe0_bandwidth"}, - "AIC_CLLI": { - "displayName": "AIC_CLLI", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_AIC_CLLI" - }, - "ASN": {"displayName": "ASN", "command": "get_input", "inputName": "2017488_pasqualevpe0_ASN"}, - "vnf_instance_name": { - "displayName": "vnf_instance_name", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_instance_name" - } - }, - "properties": { - "vmxvre_retype": "RE-VMX", - "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", - "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", - "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", - "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", - "int_ctl_net_name": "VMX-INTXI", - "vmx_int_ctl_prefix": "10.0.0.10", - "sriov43_net_id": "da349ca1-6de9-4548-be88-2d88e99bfef5", - "sriov42_net_id": "760669ba-013d-4d9b-b0e7-4151fe2e6279", - "sriov41_net_id": "25ad52d5-c165-40f8-b3b0-ddfc2373280a", - "nf_type": "vPE", - "vmxvpfe_int_ctl_ip_1": "10.0.0.10", - "is_AVPN_service": "false", - "vmx_RSG_name": "vREXI-affinity", - "vmx_int_ctl_forwarding": "l2", - "vmxvre_oam_ip_0": "10.0.0.10", - "vmxvpfe_sriov44_0_port_mac": "00:11:22:EF:AC:DF", - "vmxvpfe_sriov41_0_port_vlanstrip": "false", - "vmxvpfe_sriov42_0_port_vlanfilter": "4001", - "vmxvpfe_sriov44_0_port_unknownunicastallow": "true", - "vmxvre_image_name_0": "VRE-ENGINE_17.2-S2.1.qcow2", - "vmxvre_instance": "0", - "vmxvpfe_sriov43_0_port_mac": "00:11:22:EF:AC:DF", - "vmxvre_flavor_name": "ns.c1r16d32.v5", - "vmxvpfe_volume_size_0": "40.0", - "vmxvpfe_sriov43_0_port_vlanfilter": "4001", - "nf_naming": "{ecomp_generated_naming=false}", - "nf_naming_code": "Navneet", - "vmxvre_name_0": "vREXI", - "vmxvpfe_sriov42_0_port_vlanstrip": "false", - "vmxvpfe_volume_name_0": "vPFEXI_FBVolume", - "max_instances": "3", - "vmx_RSG_id": "bd89a33c-13c3-4a04-8fde-1a57eb123141", - "vmxvpfe_image_name_0": "VPE_ROUTING-ENGINE_17.2R1-S2.1.qcow2", - "vmxvpfe_sriov43_0_port_unknownunicastallow": "true", - "vmxvpfe_sriov44_0_port_unknownmulticastallow": "true", - "vmxvre_console": "vidconsole", - "vmxvpfe_sriov44_0_port_vlanfilter": "4001", - "vmxvpfe_sriov42_0_port_mac": "00:11:22:EF:AC:DF", - "vmxvpfe_volume_id_0": "47cede15-da2f-4397-a101-aa683220aff3", - "vmxvpfe_sriov42_0_port_unknownmulticastallow": "true", - "min_instances": "1", - "vmxvpfe_sriov44_0_port_vlanstrip": "false", - "vf_module_id": "123", - "nf_function": "JAI", - "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", - "vmxvre_int_ctl_ip_0": "10.0.0.10", - "ecomp_generated_naming": "false", - "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", - "vnf_name": "mtnj309me6vre", - "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", - "vmxvre_volume_type_1": "HITACHI", - "vmxvpfe_sriov44_0_port_broadcastallow": "true", - "vmxvre_volume_type_0": "HITACHI", - "vmxvpfe_volume_type_0": "HITACHI", - "vmxvpfe_sriov43_0_port_broadcastallow": "true", - "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", - "vnf_id": "123", - "vmxvre_oam_prefix": "24", - "availability_zone_0": "mtpocfo-kvm-az01", - "ASN": "get_input:2017488_pasqualevpe0_ASN", - "vmxvre_chassis_i2cid": "161", - "vmxvpfe_name_0": "vPFEXI", - "bandwidth": "get_input:pasqualevpe0_bandwidth", - "availability_zone_max_count": "1", - "vmxvre_volume_size_0": "45.0", - "vmxvre_volume_size_1": "50.0", - "vmxvpfe_sriov42_0_port_broadcastallow": "true", - "vmxvre_oam_gateway": "10.0.0.10", - "vmxvre_volume_name_1": "vREXI_FAVolume", - "vmxvre_ore_present": "0", - "vmxvre_volume_name_0": "vREXI_FBVolume", - "vmxvre_type": "0", - "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", - "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", - "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", - "vmx_int_ctl_len": "24", - "vmxvpfe_sriov43_0_port_vlanstrip": "false", - "vmxvpfe_sriov41_0_port_broadcastallow": "true", - "vmxvre_volume_id_1": "6e86797e-03cd-4fdc-ba72-2957119c746d", - "vmxvpfe_sriov41_0_port_vlanfilter": "4001", - "nf_role": "Testing", - "vmxvre_volume_id_0": "f4eacb79-f687-4e9d-b760-21847c8bb15a", - "vmxvpfe_sriov42_0_port_unknownunicastallow": "true", - "vmxvpfe_flavor_name": "ns.c20r16d25.v5" - }, - "type": "VF", - "modelCustomizationName": "2017-488_PASQUALE-vPE 0", - "vfModules": { - "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { - "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", - "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", - "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", - "description": null, - "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", - "version": "6", - "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", - "properties": { - "minCountInstances": 0, - "maxCountInstances": null, - "initialCount": 0, - "vfModuleLabel": "PASQUALE_vRE_BV" - }, - "inputs": { - "pasqualevpe0_bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth" - }, - "constraints": null, - "required": true, - "default": "10" - }, - "2017488_pasqualevpe0_vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_instance_name" - }, - "constraints": null, - "required": true, - "default": "mtnj309me6" - }, - "2017488_pasqualevpe0_vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_config_template_version" - }, - "constraints": null, - "required": true, - "default": "17.2" - }, - "2017488_pasqualevpe0_AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "AIC_CLLI" - }, - "constraints": null, - "required": true, - "default": "ATLMY8GA" - }, - "pasqualevpe0_bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth_units" - }, - "constraints": null, - "required": true, - "default": "Gbps" - } - }, - "volumeGroupAllowed": true - }, - "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { - "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db", - "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091", - "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", - "description": null, - "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", - "version": "5", - "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", - "properties": { - "minCountInstances": 1, - "maxCountInstances": 1, - "initialCount": 1, - "vfModuleLabel": "PASQUALE_base_vPE_BV" - }, - "inputs": {}, - "volumeGroupAllowed": false - }, - "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { - "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", - "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", - "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", - "description": null, - "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", - "version": "6", - "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", - "properties": { - "minCountInstances": 0, - "maxCountInstances": null, - "initialCount": 0, - "vfModuleLabel": "PASQUALE_vPFE_BV" - }, - "inputs": {}, - "volumeGroupAllowed": true - } - }, - "volumeGroups": { - "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { - "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", - "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", - "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", - "description": null, - "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", - "version": "6", - "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", - "properties": { - "minCountInstances": 0, - "maxCountInstances": null, - "initialCount": 0, - "vfModuleLabel": "PASQUALE_vRE_BV" - }, - "inputs": { - "pasqualevpe0_bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth" - }, - "constraints": null, - "required": true, - "default": "10" - }, - "2017488_pasqualevpe0_vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_instance_name" - }, - "constraints": null, - "required": true, - "default": "mtnj309me6" - }, - "2017488_pasqualevpe0_vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_config_template_version" - }, - "constraints": null, - "required": true, - "default": "17.2" - }, - "2017488_pasqualevpe0_AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "AIC_CLLI" - }, - "constraints": null, - "required": true, - "default": "ATLMY8GA" - }, - "pasqualevpe0_bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth_units" - }, - "constraints": null, - "required": true, - "default": "Gbps" - } - } - }, - "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { - "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", - "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", - "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", - "description": null, - "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", - "version": "6", - "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", - "properties": { - "minCountInstances": 0, - "maxCountInstances": null, - "initialCount": 0, - "vfModuleLabel": "PASQUALE_vPFE_BV" - }, - "inputs": {} - } - }, - "vfcInstanceGroups": {} - } - }, - "networks": { - "ExtVL 0": { - "uuid": "ddc3f20c-08b5-40fd-af72-c6d14636b986", - "invariantUuid": "379f816b-a7aa-422f-be30-17114ff50b7c", - "description": "ECOMP generic virtual link (network) base type for all other service-level and global networks", - "name": "ExtVL", - "version": "37.0", - "customizationUuid": "94fdd893-4a36-4d70-b16a-ec29c54c184f", - "inputs": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "ATLMY8GA" - }, - "ASN": { - "type": "string", - "description": "AV/PE", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "AV_vPE" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "mtnj309me6" - } - }, - "commands": {}, - "properties": { - "network_role" : "network role 1, network role 2", - "min_instances": 1, - "max_instances": 10, - "network_assignments": "{is_external_network=false, ipv4_subnet_default_assignment={min_subnets_count=1}, ecomp_generated_network_assignment=false, ipv6_subnet_default_assignment={min_subnets_count=1}}", - "exVL_naming": "{ecomp_generated_naming=true}", - "network_flows": "{is_network_policy=false, is_bound_to_vpn=false}", - "network_homing": "{ecomp_selected_instance_node_target=false}" - }, - "type": "VL", - "modelCustomizationName": "ExtVL 0" - } - }, - "collectionResources": {}, - "configurations": {}, - "fabricConfigurations": {}, - "serviceProxies": {}, - "vfModules": { - "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { - "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", - "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", - "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", - "description": null, - "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", - "version": "6", - "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", - "properties": { - "minCountInstances": 0, - "maxCountInstances": null, - "initialCount": 0, - "vfModuleLabel": "PASQUALE_vRE_BV" - }, - "inputs": { - "pasqualevpe0_bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth" - }, - "constraints": null, - "required": true, - "default": "10" - }, - "2017488_pasqualevpe0_vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_instance_name" - }, - "constraints": null, - "required": true, - "default": "mtnj309me6" - }, - "2017488_pasqualevpe0_vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_config_template_version" - }, - "constraints": null, - "required": true, - "default": "17.2" - }, - "2017488_pasqualevpe0_AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": {"sourceType": "HEAT", "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI"}, - "constraints": null, - "required": true, - "default": "ATLMY8GA" - }, - "pasqualevpe0_bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth_units" - }, - "constraints": null, - "required": true, - "default": "Gbps" - } - }, - "volumeGroupAllowed": true - }, - "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { - "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db", - "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091", - "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", - "description": null, - "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", - "version": "5", - "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", - "properties": { - "minCountInstances": 1, - "maxCountInstances": 1, - "initialCount": 1, - "vfModuleLabel": "PASQUALE_base_vPE_BV" - }, - "inputs": {}, - "volumeGroupAllowed": false - }, - "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { - "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", - "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", - "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", - "description": null, - "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", - "version": "6", - "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", - "properties": { - "minCountInstances": 0, - "maxCountInstances": null, - "initialCount": 0, - "vfModuleLabel": "PASQUALE_vPFE_BV" - }, - "inputs": {}, - "volumeGroupAllowed": true - } - }, - "volumeGroups": { - "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { - "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", - "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", - "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", - "description": null, - "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", - "version": "6", - "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", - "properties": { - "minCountInstances": 0, - "maxCountInstances": null, - "initialCount": 0, - "vfModuleLabel": "PASQUALE_vRE_BV" - }, - "inputs": { - "pasqualevpe0_bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth" - }, - "constraints": null, - "required": true, - "default": "10" - }, - "2017488_pasqualevpe0_vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_instance_name" - }, - "constraints": null, - "required": true, - "default": "mtnj309me6" - }, - "2017488_pasqualevpe0_vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_config_template_version" - }, - "constraints": null, - "required": true, - "default": "17.2" - }, - "2017488_pasqualevpe0_AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": {"sourceType": "HEAT", "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI"}, - "constraints": null, - "required": true, - "default": "ATLMY8GA" - }, - "pasqualevpe0_bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth_units" - }, - "constraints": null, - "required": true, - "default": "Gbps" - } - } - }, - "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { - "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", - "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", - "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", - "description": null, - "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", - "version": "6", - "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", - "properties": { - "minCountInstances": 0, - "maxCountInstances": null, - "initialCount": 0, - "vfModuleLabel": "PASQUALE_vPFE_BV" - }, - "inputs": {} - } - }, - "pnfs": {} - } - }, - "serviceInstance": { - "6e59c5de-f052-46fa-aa7e-2fca9d674c44": { - "vnfs": { - "VF_vGeraldine 0": { - "rollbackOnFailure": "true", - "vfModules": { - "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { - "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0vmvzo": { - "isMissingData": false, - "sdncPreReload": null, - "modelInfo": { - "modelType": "VFmodule", - "modelInvariantId": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", - "modelVersionId": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", - "modelName": "VfVgeraldine..base_vflorence..module-0", - "modelVersion": "2", - "modelCustomizationId": "f8c040f1-7e51-4a11-aca8-acf256cfd861", - "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0" - }, - "instanceParams": [{}], - "trackById": "wmtm6sy2uj" - } - } - }, - "isMissingData": true, - "originalName": "VF_vGeraldine 0", - "vnfStoreKey": "VF_vGeraldine 0", - "trackById": "p3wk448m5do", - "uuid": "d6557200-ecf2-4641-8094-5393ae3aae60", - "productFamilyId": "36b4733a-53f4-4cc8-8ff0-9172e5fc4b8e", - "lcpCloudRegionId": null, - "tenantId": null, - "lineOfBusiness": null, - "platformName": null, - "modelInfo": { - "modelType": "VF", - "modelInvariantId": "4160458e-f648-4b30-a176-43881ffffe9e", - "modelVersionId": "6e59c5de-f052-46fa-aa7e-2fca9d674c44", - "modelName": "VF_vGeraldine", - "modelVersion": "2.0", - "modelCustomizationName": "VF_vGeraldine 0" - } - } - }, - "networks": {}, - "instanceParams": [{}], - "validationCounter": 1, - "existingNames": {}, - "existingVNFCounterMap": {"d6557200-ecf2-4641-8094-5393ae3aae60": 1}, - "globalSubscriberId": "e433710f-9217-458d-a79d-1c7aff376d89", - "subscriptionServiceType": "TYLER SILVIA", - "owningEntityId": "d61e6f2d-12fa-4cc2-91df-7c244011d6fc", - "productFamilyId": "36b4733a-53f4-4cc8-8ff0-9172e5fc4b8e", - "lcpCloudRegionId": "hvf6", - "tenantId": "229bcdc6eaeb4ca59d55221141d01f8e", - "aicZoneId": "JAG1", - "projectName": "x1", - "rollbackOnFailure": "true", - "bulkSize": 1, - "modelInfo": { - "modelInvariantId": "e49fbd11-e60c-4a8e-b4bf-30fbe8f4fcc0", - "modelVersionId": "6e59c5de-f052-46fa-aa7e-2fca9d674c44", - "modelName": "ComplexService", - "modelVersion": "1.0", - "uuid": "6e59c5de-f052-46fa-aa7e-2fca9d674c44" - }, - "isALaCarte": false, - "name": "ComplexService", - "version": "1.0", - "description": "ComplexService", - "category": "Emanuel", - "uuid": "6e59c5de-f052-46fa-aa7e-2fca9d674c44", - "invariantUuid": "e49fbd11-e60c-4a8e-b4bf-30fbe8f4fcc0", - "serviceType": "", - "serviceRole": "", - "isMultiStepDesign": false - }, - "6b528779-44a3-4472-bdff-9cd15ec93450": { - "networks": { - "ExtVL 0": { - "rollbackOnFailure": "true", - "isMissingData": false, - "originalName": "ExtVL 0", - "networkStoreKey": "ExtVL 0", - "trackById": "sf3zth68xjf", - "productFamilyId": "ebc3bc3d-62fd-4a3f-a037-f619df4ff034", - "lcpCloudRegionId": "hvf6", - "tenantId": "229bcdc6eaeb4ca59d55221141d01f8e", - "platformName": "xxx1", - "lineOfBusiness": "ONAP", - "instanceParams": [{}], - "modelInfo": { - "modelInvariantId": "379f816b-a7aa-422f-be30-17114ff50b7c", - "modelVersionId": "ddc3f20c-08b5-40fd-af72-c6d14636b986", - "modelName": "ExtVL", - "modelVersion": "37.0", - "modelCustomizationId": "94fdd893-4a36-4d70-b16a-ec29c54c184f", - "modelCustomizationName": "ExtVL 0", - "uuid": "ddc3f20c-08b5-40fd-af72-c6d14636b986" - }, - "uuid": "ddc3f20c-08b5-40fd-af72-c6d14636b986" - }, - "ExtVL 0:0001": { - "rollbackOnFailure": "true", - "isMissingData": false, - "originalName": "ExtVL 0", - "networkStoreKey": "ExtVL 0", - "trackById": "2mdxioxca9h", - "productFamilyId": "ebc3bc3d-62fd-4a3f-a037-f619df4ff034", - "lcpCloudRegionId": "hvf6", - "tenantId": "229bcdc6eaeb4ca59d55221141d01f8e", - "platformName": "xxx1", - "lineOfBusiness": "ONAP", - "instanceParams": [{}], - "modelInfo": { - "modelInvariantId": "379f816b-a7aa-422f-be30-17114ff50b7c", - "modelVersionId": "ddc3f20c-08b5-40fd-af72-c6d14636b986", - "modelName": "ExtVL", - "modelVersion": "37.0", - "modelCustomizationId": "94fdd893-4a36-4d70-b16a-ec29c54c184f", - "modelCustomizationName": "ExtVL 0", - "uuid": "ddc3f20c-08b5-40fd-af72-c6d14636b986" - }, - "uuid": "ddc3f20c-08b5-40fd-af72-c6d14636b986" - }, - "ExtVL 0_1": { - "rollbackOnFailure": "true", - "isMissingData": false, - "originalName": "ExtVL 0", - "networkStoreKey": "ExtVL 0_1", - "trackById": "z7vd1gmpbs", - "instanceName": "ExtVL", - "productFamilyId": "17cc1042-527b-11e6-beb8-9e71128cae77", - "lcpCloudRegionId": "hvf6", - "tenantId": "229bcdc6eaeb4ca59d55221141d01f8e", - "platformName": "xxx1", - "lineOfBusiness": "zzz1", - "instanceParams": [{ - "vnf_config_template_version": "17.2", - "bandwidth_units": "Gbps", - "bandwidth": "10", - "AIC_CLLI": "ATLMY8GA", - "ASN": "AV_vPE", - "vnf_instance_name": "yoav" - }], - "modelInfo": { - "modelInvariantId": "379f816b-a7aa-422f-be30-17114ff50b7c", - "modelVersionId": "ddc3f20c-08b5-40fd-af72-c6d14636b986", - "modelName": "ExtVL", - "modelVersion": "37.0", - "modelCustomizationId": "94fdd893-4a36-4d70-b16a-ec29c54c184f", - "modelCustomizationName": "ExtVL 0", - "uuid": "ddc3f20c-08b5-40fd-af72-c6d14636b986" - }, - "uuid": "ddc3f20c-08b5-40fd-af72-c6d14636b986" - } - }, - "vnfs": { - "2017-488_PASQUALE-vPE 0": { - "rollbackOnFailure": "true", - "vfModules": { - "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { - "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1sgoqi": { - "instanceName": "yoav", - "volumeGroupName": "123", - "modelInfo": { - "modelInvariantId": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", - "modelVersionId": "25284168-24bb-4698-8cb4-3f509146eca5", - "modelName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", - "modelVersion": "6", - "modelCustomizationId": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", - "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", - "uuid": "25284168-24bb-4698-8cb4-3f509146eca5" - }, - "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", - "isMissingData": false, - "instanceParams": [{ - "pasqualevpe0_bandwidth": "10", - "2017488_pasqualevpe0_vnf_instance_name": "mtnj309me6", - "2017488_pasqualevpe0_vnf_config_template_version": "17.2", - "2017488_pasqualevpe0_AIC_CLLI": "ATLMY8GA", - "pasqualevpe0_bandwidth_units": "Gbps" - }] - } - } - }, - "isMissingData": false, - "originalName": "2017-488_PASQUALE-vPE 0", - "vnfStoreKey": "2017-488_PASQUALE-vPE 0", - "trackById": "o65b26t2thj", - "instanceName": "2017488_PASQUALEvPE", - "productFamilyId": "ebc3bc3d-62fd-4a3f-a037-f619df4ff034", - "lcpCloudRegionId": "hvf6", - "tenantId": "bae71557c5bb4d5aac6743a4e5f1d054", - "platformName": "platform", - "lineOfBusiness": "ONAP", - "instanceParams": [{}], - "modelInfo": { - "modelInvariantId": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", - "modelVersionId": "69e09f68-8b63-4cc9-b9ff-860960b5db09", - "modelName": "2017-488_PASQUALE-vPE", - "modelVersion": "5.0", - "modelCustomizationId": "1da7b585-5e61-4993-b95e-8e6606c81e45", - "modelCustomizationName": "2017-488_PASQUALE-vPE 0", - "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09" - }, - "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09" - } - }, - "instanceParams": [{"2017488_pasqualevpe0_ASN": "AV_vPE"}], - "validationCounter": 0, - "existingNames": {"123": "", "instancename": "", "yoav": "", "extvl": ""}, - "existingVNFCounterMap": {"69e09f68-8b63-4cc9-b9ff-860960b5db09": 1}, - "existingNetworksCounterMap": {"ddc3f20c-08b5-40fd-af72-c6d14636b986": 3}, - "instanceName": "InstanceName", - "globalSubscriberId": "e433710f-9217-458d-a79d-1c7aff376d89", - "subscriptionServiceType": "TYLER SILVIA", - "owningEntityId": "d61e6f2d-12fa-4cc2-91df-7c244011d6fc", - "productFamilyId": "17cc1042-527b-11e6-beb8-9e71128cae77", - "lcpCloudRegionId": "AAIAIC25", - "tenantId": "092eb9e8e4b7412e8787dd091bc58e86", - "aicZoneId": "JAG1", - "projectName": null, - "rollbackOnFailure": "true", - "aicZoneName": "YUDFJULP-JAG1", - "owningEntityName": "WayneHolland", - "testApi": "GR_API", - "tenantName": "USP-SIP-IC-24335-T-01", - "bulkSize": 1, - "modelInfo": { - "modelInvariantId": "e49fbd11-e60c-4a8e-b4bf-30fbe8f4fcc0", - "modelVersionId": "6b528779-44a3-4472-bdff-9cd15ec93450", - "modelName": "action-data", - "modelVersion": "1.0", - "uuid": "6b528779-44a3-4472-bdff-9cd15ec93450" - }, - "isALaCarte": false, - "name": "action-data", - "version": "1.0", - "description": "", - "category": "", - "uuid": "6b528779-44a3-4472-bdff-9cd15ec93450", - "invariantUuid": "e49fbd11-e60c-4a8e-b4bf-30fbe8f4fcc0", - "serviceType": "", - "serviceRole": "", - "isMultiStepDesign": false - } - }, - "lcpRegionsAndTenants": { - "lcpRegionList": [{ - "id": "AAIAIC25", - "name": "AAIAIC25", - "isPermitted": true - }, {"id": "hvf6", "name": "hvf6", "isPermitted": true}], - "lcpRegionsTenantsMap": { - "AAIAIC25": [{ - "id": "092eb9e8e4b7412e8787dd091bc58e86", - "name": "USP-SIP-IC-24335-T-01", - "isPermitted": true - }], - "hvf6": [{ - "id": "bae71557c5bb4d5aac6743a4e5f1d054", - "name": "AIN Web Tool-15-D-testalexandria", - "isPermitted": true - }, { - "id": "d0a3e3f2964542259d155a81c41aadc3", - "name": "test-hvf6-09", - "isPermitted": true - }, { - "id": "fa45ca53c80b492fa8be5477cd84fc2b", - "name": "ro-T112", - "isPermitted": true - }, { - "id": "4914ab0ab3a743e58f0eefdacc1dde77", - "name": "DN5242-Nov21-T1", - "isPermitted": true - }, { - "id": "d0a3e3f2964542259d155a81c41aadc3", - "name": "test-hvf6-09", - "isPermitted": true - }, {"id": "cbb99fe4ada84631b7baf046b6fd2044", "name": "DN5242-Nov16-T3", "isPermitted": true}] - } - }, - "productFamilies": [{ - "id": "ebc3bc3d-62fd-4a3f-a037-f619df4ff034", - "name": "ERICA", - "isPermitted": true - }, { - "id": "17cc1042-527b-11e6-beb8-9e71128cae77", - "name": "IGNACIO", - "isPermitted": true - }, { - "id": "36b4733a-53f4-4cc8-8ff0-9172e5fc4b8e", - "name": "Christie", - "isPermitted": true - }, { - "id": "a4f6f2ae-9bf5-4ed7-b904-06b2099c4bd7", - "name": "Enhanced Services", - "isPermitted": true - }, {"id": "vTerrance", "name": "vTerrance", "isPermitted": true}, { - "id": "323d69d9-2efe-4r45-ay0a-89ea7ard4e6f", - "name": "vEsmeralda", - "isPermitted": true - }, { - "id": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", - "name": "Emanuel", - "isPermitted": true - }, { - "id": "d8a6ed93-251c-47ca-adc9-86671fd19f4c", - "name": "BVOIP", - "isPermitted": true - }, {"id": "db171b8f-115c-4992-a2e3-ee04cae357e0", "name": "LINDSEY", "isPermitted": true}, { - "id": "LRSI-OSPF", - "name": "LRSI-OSPF", - "isPermitted": true - }, {"id": "vRosemarie", "name": "HNGATEWAY", "isPermitted": true}, { - "id": "vHNPaas", - "name": "WILKINS", - "isPermitted": true - }, { - "id": "e433710f-9217-458d-a79d-1c7aff376d89", - "name": "TYLER SILVIA", - "isPermitted": true - }, {"id": "b6a3f28c-eebf-494c-a900-055cc7c874ce", "name": "VROUTER", "isPermitted": true}, { - "id": "vMuriel", - "name": "vMuriel", - "isPermitted": true - }, { - "id": "0ee8c1bc-7cbd-4b0a-a1ac-e9999255abc1", - "name": "CARA Griffin", - "isPermitted": true - }, { - "id": "c7611ebe-c324-48f1-8085-94aef0c6ef3d", - "name": "DARREN MCGEE", - "isPermitted": true - }, {"id": "e30755dc-5673-4b6b-9dcf-9abdd96b93d1", "name": "Transport", "isPermitted": true}, { - "id": "vSalvatore", - "name": "vSalvatore", - "isPermitted": true - }, {"id": "d7bb0a21-66f2-4e6d-87d9-9ef3ced63ae4", "name": "JOSEFINA", "isPermitted": true}, { - "id": "vHubbard", - "name": "vHubbard", - "isPermitted": true - }, {"id": "12a96a9d-4b4c-4349-a950-fe1159602621", "name": "DARREN MCGEE", "isPermitted": true}], - "serviceTypes": { - "e433710f-9217-458d-a79d-1c7aff376d89": [{ - "id": "0", - "name": "vRichardson", - "isPermitted": false - }, {"id": "1", "name": "TYLER SILVIA", "isPermitted": true}, { - "id": "2", - "name": "Emanuel", - "isPermitted": false - }, {"id": "3", "name": "vJamie", "isPermitted": false}, { - "id": "4", - "name": "vVoiceMail", - "isPermitted": false - }, {"id": "5", "name": "Kennedy", "isPermitted": false}, { - "id": "6", - "name": "vPorfirio", - "isPermitted": false - }, {"id": "7", "name": "vVM", "isPermitted": false}, { - "id": "8", - "name": "vOTA", - "isPermitted": false - }, {"id": "9", "name": "vFLORENCE", "isPermitted": false}, { - "id": "10", - "name": "vMNS", - "isPermitted": false - }, {"id": "11", "name": "vEsmeralda", "isPermitted": false}, { - "id": "12", - "name": "VPMS", - "isPermitted": false - }, {"id": "13", "name": "vWINIFRED", "isPermitted": false}, { - "id": "14", - "name": "SSD", - "isPermitted": false - }, {"id": "15", "name": "vMOG", "isPermitted": false}, { - "id": "16", - "name": "LINDSEY", - "isPermitted": false - }, {"id": "17", "name": "JOHANNA_SANTOS", "isPermitted": false}, { - "id": "18", - "name": "vCarroll", - "isPermitted": false - }] - }, - "aicZones": [{ - "id": "NFT1", - "name": "NFTJSSSS-NFT1" - }, { - "id": "JAG1", - "name": "YUDFJULP-JAG1" - }, { - "id": "YYY1", - "name": "UUUAIAAI-YYY1" - }, { - "id": "AVT1", - "name": "AVTRFLHD-AVT1" - }, { - "id": "ATL34", - "name": "ATLSANAI-ATL34" - }], - "categoryParameters": { - "owningEntityList": [{ - "id": "aaa1", - "name": "aaa1" - }, {"id": "d61e6f2d-12fa-4cc2-91df-7c244011d6fc", "name": "WayneHolland"}, { - "id": "Melissa", - "name": "Melissa" - }], - "projectList": [{"id": "WATKINS", "name": "WATKINS"}, {"id": "x1", "name": "x1"}, {"id": "yyy1", "name": "yyy1"}], - "lineOfBusinessList": [{"id": "ONAP", "name": "ONAP"}, {"id": "zzz1", "name": "zzz1"}], - "platformList": [{"id": "platform", "name": "platform"}, {"id": "xxx1", "name": "xxx1"}] - }, - "type": "[LCP_REGIONS_AND_TENANTS] Update", - "subscribers": [{ - "id": "CAR_2020_ER", - "name": "CAR_2020_ER", - "isPermitted": true - }, { - "id": "21014aa2-526b-11e6-beb8-9e71128cae77", - "name": "JULIO ERICKSON", - "isPermitted": false - }, { - "id": "DHV1707-TestSubscriber-2", - "name": "DALE BRIDGES", - "isPermitted": false - }, {"id": "DHV1707-TestSubscriber-1", "name": "LLOYD BRIDGES", "isPermitted": false}, { - "id": "jimmy-example", - "name": "JimmyExampleCust-20161102", - "isPermitted": false - }, { - "id": "jimmy-example2", - "name": "JimmyExampleCust-20161103", - "isPermitted": false - }, { - "id": "ERICA5779-TestSub-PWT-102", - "name": "ERICA5779-TestSub-PWT-102", - "isPermitted": false - }, { - "id": "ERICA5779-TestSub-PWT-101", - "name": "ERICA5779-TestSub-PWT-101", - "isPermitted": false - }, { - "id": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", - "name": "Emanuel", - "isPermitted": false - }, { - "id": "ERICA5779-Subscriber-4", - "name": "ERICA5779-Subscriber-5", - "isPermitted": false - }, { - "id": "ERICA5779-TestSub-PWT-103", - "name": "ERICA5779-TestSub-PWT-103", - "isPermitted": false - }, { - "id": "ERICA5779-Subscriber-2", - "name": "ERICA5779-Subscriber-2", - "isPermitted": false - }, { - "id": "e433710f-9217-458d-a79d-1c7aff376d89", - "name": "SILVIA ROBBINS", - "isPermitted": true - }, { - "id": "ERICA5779-Subscriber-3", - "name": "ERICA5779-Subscriber-3", - "isPermitted": false - }, {"id": "31739f3e-526b-11e6-beb8-9e71128cae77", "name": "CRAIG/ROBERTS", "isPermitted": false}] - } - }; - } -} - -class MockFeatureFlagsService {} - -describe('VFModule popup service', () => { - let injector; - let service: VfModulePopuopService; - let genericFormService: GenericFormService - let defaultDataGeneratorService: DefaultDataGeneratorService; - let fb: FormBuilder; - let iframeService: IframeService; - - beforeAll(done => (async () => { - TestBed.configureTestingModule({ - providers : [ - VfModulePopuopService, - BasicControlGenerator, - VfModuleControlGenerator, - DefaultDataGeneratorService, - GenericFormService, - FormBuilder, - IframeService, - AaiService, - LogService, - BasicPopupService, - {provide:FeatureFlagsService, useClass: MockFeatureFlagsService}, - {provide: NgRedux, useClass: MockReduxStore}, - {provide: HttpClient, useClass: MockAppStore}, - {provide: SdcUiServices.ModalService, useClass: MockModalService} - ] - }); - await TestBed.compileComponents(); - - injector = getTestBed(); - service = injector.get(VfModulePopuopService); - genericFormService = injector.get(GenericFormService); - defaultDataGeneratorService = injector.get(DefaultDataGeneratorService); - fb = injector.get(FormBuilder); - iframeService = injector.get(IframeService); - - })().then(done).catch(done.fail)); - - test('getTitle should return the correct title for edit and create mode', () => { - expect(service.getTitle(true)).toBe('Edit Module (Heat stack)'); - expect(service.getTitle(false)).toBe('Set new Module (Heat stack)'); - }); - - test('getInstance should return new VfModuleInstance', () => { - const serviceId : string = '6b528779-44a3-4472-bdff-9cd15ec93450'; - const vnfStoreKey = null; - const vfModuleStoreKey = "VF_vGeraldine 0"; - let VfModuleInstance ; - VfModuleInstance = service.getInstance(serviceId, vnfStoreKey, vfModuleStoreKey); - expect (VfModuleInstance).toBeDefined(); - }); - - test('getSubLeftTitle should return network model name', () => { - service.model = { - 'name' : 'Model name' - }; - expect(service.getSubLeftTitle()).toBe('Model name'); - }); - - test('getSubRightTitle should return popup type', () => { - expect(service.getSubRightTitle()).toBe('Module (Heat stack) Instance Details'); - }); - - test('getModelInformation should update modelInformations', () => { - const serviceId: string = '6b528779-44a3-4472-bdff-9cd15ec93450'; - const vfModuleModelName: string = '2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1'; - - service.getModelInformation(serviceId, vfModuleModelName); - expect(service.modelInformations.length).toEqual(15); - expect(service.modelInformations[0].label).toEqual("Subscriber Name"); - expect(service.modelInformations[0].values).toEqual(['SILVIA ROBBINS']); - - expect(service.modelInformations[1].label).toEqual("Service Name"); - expect(service.modelInformations[1].values).toEqual(['action-data']); - - expect(service.modelInformations[2].label).toEqual("Service Instance Name"); - expect(service.modelInformations[2].values).toEqual(['InstanceName']); - - expect(service.modelInformations[3].label).toEqual("Model Name"); - expect(service.modelInformations[3].values).toEqual(['2017488PasqualeVpe..PASQUALE_vRE_BV..module-1']); - - expect(service.modelInformations[4].label).toEqual("Model version"); - expect(service.modelInformations[4].values).toEqual(['6']); - - expect(service.modelInformations[5].label).toEqual("Description"); - expect(service.modelInformations[5].values).toEqual([null]); - - expect(service.modelInformations[6].label).toEqual("Category"); - expect(service.modelInformations[6].values).toEqual([undefined]); - - expect(service.modelInformations[7].label).toEqual("Sub Category"); - expect(service.modelInformations[7].values).toEqual([undefined]); - - expect(service.modelInformations[8].label).toEqual("UUID"); - expect(service.modelInformations[8].values).toEqual(['25284168-24bb-4698-8cb4-3f509146eca5']); - - expect(service.modelInformations[9].label).toEqual("Invariant UUID"); - expect(service.modelInformations[9].values).toEqual(['7253ff5c-97f0-4b8b-937c-77aeb4d79aa1']); - - expect(service.modelInformations[10].label).toEqual("Service type"); - expect(service.modelInformations[10].values).toEqual(['']); - - expect(service.modelInformations[11].label).toEqual("Service role"); - expect(service.modelInformations[11].values).toEqual(['']); - - expect(service.modelInformations[12].label).toEqual("Minimum to instantiate"); - expect(service.modelInformations[12].values).toEqual(['0']); - - expect(service.modelInformations[13].label).toEqual("Maximum to instantiate"); - expect(service.modelInformations[13].values).toEqual(['1']); - }); - - - test('onCancel should trigger closeDialogEvent and iframe', () => { - let that = { - parentElementClassName: 'content', - _iframeService: iframeService - }; - jest.spyOn(iframeService, 'removeClassCloseModal'); - jest.spyOn(service.closeDialogEvent, 'next'); - - service.onCancel(that, fb.group({})); - - expect(that._iframeService.removeClassCloseModal).toHaveBeenCalledWith(that.parentElementClassName) - expect(service.closeDialogEvent.next).toHaveBeenCalledWith(that); - }); - - test('onSubmit should trigger onCancel', () => { - let that = { - parentElementClassName: 'content', - _iframeService: iframeService, - storeVFModule: () => { - }, - serviceModel: { - uuid: 'someUUID' - } - }; - let form = fb.group({}); - jest.spyOn(service, 'onCancel'); - jest.spyOn(that, 'storeVFModule'); - jest.spyOn(window.parent, 'postMessage'); - - service.onSubmit(that, form); - - expect(service.onCancel).toHaveBeenCalledWith(that, form); - expect(that.storeVFModule).toHaveBeenCalledWith(that, form.value); - expect(window.parent.postMessage).toHaveBeenCalledWith({ - eventId: 'submitIframe', - data: { - serviceModelId: 'someUUID' - } - }, "*"); - }); -}); diff --git a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModule/vfModule.popuop.service.ts b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModule/vfModule.popuop.service.ts deleted file mode 100644 index 3119cc8f8..000000000 --- a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModule/vfModule.popuop.service.ts +++ /dev/null @@ -1,211 +0,0 @@ -import {Injectable} from "@angular/core"; -import {FormPopupDetails, PopupType} from "../../../../models/formControlModels/formPopupDetails.model"; -import {BasicControlGenerator} from "../../../genericForm/formControlsServices/basic.control.generator"; -import {AppState} from "../../../../store/reducers"; -import {NgRedux} from "@angular-redux/store"; -import {ITreeNode} from "angular-tree-component/dist/defs/api"; -import {ModelInformationItem} from "../../../model-information/model-information.component"; -import {Constants} from "../../../../utils/constants"; -import {AaiService} from "../../../../services/aaiService/aai.service"; -import {ServiceModel} from "../../../../models/serviceModel"; -import {FormGroup} from "@angular/forms"; -import {ModelInfo} from "../../../../models/modelInfo"; -import {IframeService} from "../../../../utils/iframe.service"; -import {GenericPopupInterface} from "../generic-popup.interface"; -import {Subject} from "rxjs/Subject"; -import {DefaultDataGeneratorService} from "../../../../services/defaultDataServiceGenerator/default.data.generator.service"; -import {BasicPopupService} from "../basic.popup.service"; -import {VfModuleInstance} from "../../../../models/vfModuleInstance"; -import {VfModuleControlGenerator} from "../../../genericForm/formControlsServices/vfModuleGenerator/vfModule.control.generator"; -import {FormControlModel} from "../../../../models/formControlModels/formControl.model"; -import * as _ from 'lodash'; -import {createVFModuleInstance, updateVFModuleInstance} from "../../../../storeUtil/utils/vfModule/vfModule.actions"; - -export abstract class VfModulePopupServiceBase { - dynamicInputs: any; - instance: any; - model: any; - serviceModel: ServiceModel; - modelInformations: ModelInformationItem[] = []; - uuidData: Object; - closeDialogEvent: Subject = new Subject(); - isUpdateMode: boolean; - storeVFModule = (that, formValues: any): void => { - formValues.modelInfo = new ModelInfo(that.model); - formValues.uuid = formValues.modelInfo.uuid; - formValues.isMissingData = false; - const vnf = that._store.getState().service.serviceInstance[that.uuidData.serviceId].vnfs[that.uuidData.vnfStoreKey]; - - if (!that.uuidData.vFModuleStoreKey) { - this._store.dispatch(createVFModuleInstance(formValues, that.uuidData.modelName, that.uuidData.serviceId, 0, that.uuidData.vnfStoreKey)); - } else { - this._store.dispatch(updateVFModuleInstance(formValues, that.uuidData.modelName, that.uuidData.serviceId, that.uuidData.vFModuleStoreKey, that.uuidData.vnfStoreKey)); - } - }; - - protected constructor( - protected _basicControlGenerator: BasicControlGenerator, - protected _vfModuleControlGenerator: VfModuleControlGenerator, - protected _iframeService: IframeService, - protected _defaultDataGeneratorService: DefaultDataGeneratorService, - protected _aaiService: AaiService, - protected _basicPopupService: BasicPopupService, - protected _store: NgRedux) { - } - - getInstance(serviceId: string, vnfStoreKey: string, vfModuleStoreKey: string): any { - if (_.isNil(vnfStoreKey) || _.isNil(vfModuleStoreKey)) { - return new VfModuleInstance(); - } - const vfModules = this._store.getState().service.serviceInstance[serviceId].vnfs[vnfStoreKey].vfModules; - return vfModules[this.uuidData['modelName']][vfModuleStoreKey]; - } - - getModelInformation(serviceId: string, modelName: string) { - this._aaiService.getServiceModelById(serviceId).subscribe((result: any) => { - this.serviceModel = new ServiceModel(result); - - this.model = this._basicPopupService.getModelFromResponse(result, 'vfModules', modelName); - const serviceInstance = this._store.getState().service.serviceInstance[serviceId]; - this.modelInformations = [ - new ModelInformationItem("Subscriber Name", "subscriberName", [this._basicPopupService.extractSubscriberNameBySubscriberId(serviceInstance.globalSubscriberId)], "", true), - new ModelInformationItem("Service Name", "serviceModelName", [this.serviceModel.name], "", true), - new ModelInformationItem("Service Instance Name", "serviceName", [serviceInstance.instanceName], "", false), - new ModelInformationItem("Model Name", "modelName", [this.model.name], "", true), - new ModelInformationItem("Model version", "modelVersion", [this.model.version], "", true), - new ModelInformationItem("Description", "description", [this.model.description]), - new ModelInformationItem("Category", "category", [this.model.category]), - new ModelInformationItem("Sub Category", "subCategory", [this.model.subCategory]), - new ModelInformationItem("UUID", "uuid", [this.model.uuid], Constants.ServicePopup.TOOLTIP_UUID, true), - new ModelInformationItem("Invariant UUID", "invariantUuid", [this.model.invariantUuid], Constants.ServicePopup.TOOLTIP_INVARIANT_UUID, true), - new ModelInformationItem("Service type", "serviceType", [this.serviceModel.serviceType]), - new ModelInformationItem("Service role", "serviceRole", [this.serviceModel.serviceRole]), - new ModelInformationItem("Minimum to instantiate", "min", this.model.min == undefined ? ['0'] : [this.model.min.toString()], "", true), - this._basicPopupService.createMaximumToInstantiateModelInformationItem(this.model), - new ModelInformationItem("Recommended to instantiate", "initial", [this.model.initial]) - ]; - }); - } - - protected postSubmitIframeMessage(that) { - window.parent.postMessage({ - eventId: 'submitIframe', - data: { - serviceModelId: that.serviceModel.uuid - } - }, "*"); - } - - onCancel(that, form) { - form.reset(); - that._iframeService.removeClassCloseModal('content'); - this.closeDialogEvent.next(that); - } - - getSubLeftTitle(): string { - return this.model.name; - } - - getSubRightTitle(): string { - return "Module (Heat stack) Instance Details"; - } - - abstract getTitle(isUpdateMode : boolean) : string; - abstract getControls(serviceId: string, vnfStoreKey: string, vfModuleStoreKey: string, isUpdateMode: boolean); - abstract getDynamicInputs(UUIDData : Object) : FormControlModel[]; - - getGenericFormPopupDetails(serviceId: string, vnfStoreKey: string, vfModuleStoreKey: string, node: ITreeNode, uuidData: Object, isUpdateMode: boolean): FormPopupDetails { - - this.uuidData = uuidData; - this.instance = this.getInstance(serviceId, vnfStoreKey, vfModuleStoreKey); - this.getModelInformation(serviceId, uuidData['modelName']); - - return new FormPopupDetails(this, - PopupType.VFMODULE, - uuidData, - this.getTitle(isUpdateMode), - this.getSubLeftTitle(), - this.getSubRightTitle(), - this.getControls(serviceId, vnfStoreKey, vfModuleStoreKey, isUpdateMode), - this.getDynamicInputs(uuidData), - this.modelInformations, - (that, form: FormGroup) => { - that.onSubmit(that, form); - }, - (that: any, form: FormGroup) => { - that.onCancel(that, form); - } - ); - } - - updateFormValueWithSupplementaryFile(form: FormGroup, that) { - if (!_.isNil(form.controls['supplementaryFile_hidden_content']) && form.controls['supplementaryFile_hidden_content'].value) { - form.value['supplementaryFileContent'] = JSON.parse(form.controls['supplementaryFile_hidden_content'].value); - if (!_.isNil(form.controls['supplementaryFile_hidden'].value)) { - form.value['supplementaryFileName'] = form.controls['supplementaryFile_hidden'].value.name; - } else { - form.value['supplementaryFileName'] = that.instance.supplementaryFileName; - } - } else { - delete form.value['supplementaryFileContent']; - delete form.value['supplementaryFileName']; - } - } -} - -@Injectable() -export class VfModulePopuopService extends VfModulePopupServiceBase implements GenericPopupInterface { - - - constructor(_basicControlGenerator: BasicControlGenerator, - _vfModuleControlGenerator: VfModuleControlGenerator, - _iframeService: IframeService, - _defaultDataGeneratorService: DefaultDataGeneratorService, - _aaiService: AaiService, - _basicPopupService : BasicPopupService, - _store: NgRedux) { - super(_basicControlGenerator, _vfModuleControlGenerator, _iframeService, _defaultDataGeneratorService, _aaiService, _basicPopupService, _store); - - } - - getDynamicInputs(UUIDData : Object) : FormControlModel[]{ - let dynamic = this._defaultDataGeneratorService.getArbitraryInputs(this._store.getState().service.serviceHierarchy[UUIDData['serviceId']].vfModules[UUIDData['modelName']].inputs); - return this.getVFModuleDynamicInputs(dynamic, UUIDData); - } - - getVFModuleDynamicInputs(dynamicInputs : any, UUIDData : Object) : FormControlModel[] { - let result : FormControlModel[] = []; - if(dynamicInputs) { - let vfModuleInstance = null; - if (_.has(this._store.getState().service.serviceInstance[UUIDData['serviceId']].vnfs, UUIDData['vnfStoreKey']) && - _.has(this._store.getState().service.serviceInstance[UUIDData['serviceId']].vnfs[UUIDData['vnfStoreKey']].vfModules, UUIDData['modelName'])) { - vfModuleInstance = Object.assign({},this._store.getState().service.serviceInstance[UUIDData['serviceId']].vnfs[UUIDData['vnfStoreKey']].vfModules[UUIDData['modelName']][UUIDData['vfModuleStoreKey']]); - } - result = this._basicControlGenerator.getDynamicInputs(dynamicInputs, vfModuleInstance); - } - return result; - } - - - getControls(serviceId: string, vnfStoreKey: string, vfModuleStoreKey: string, isUpdateMode: boolean) { - if (this._store.getState().service.serviceHierarchy[serviceId].service.vidNotions.instantiationType === 'Macro') { - return this._vfModuleControlGenerator.getMacroFormControls(serviceId, vnfStoreKey, vfModuleStoreKey, this.uuidData, isUpdateMode); - } else { - return this._vfModuleControlGenerator.getAlaCarteFormControls(serviceId, vnfStoreKey, vfModuleStoreKey, this.uuidData, isUpdateMode); - } - } - - - onSubmit(that, form: FormGroup) { - form.value['instanceParams'] = form.value['instanceParams'] && [form.value['instanceParams']]; - this.updateFormValueWithSupplementaryFile(form, that); - that.storeVFModule(that, form.value); - this.postSubmitIframeMessage(that); - this.onCancel(that, form); - } - - getTitle(isUpdateMode : boolean) : string { - return isUpdateMode ? 'Edit Module (Heat stack)' : 'Set new Module (Heat stack)'; - } - -} diff --git a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModule/vfModule.popup.service.spec.ts b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModule/vfModule.popup.service.spec.ts new file mode 100644 index 000000000..935454752 --- /dev/null +++ b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModule/vfModule.popup.service.spec.ts @@ -0,0 +1,2126 @@ +import {LogService} from "../../../../utils/log/log.service"; +import {NgRedux} from "@angular-redux/store"; +import {BasicControlGenerator} from "../../../genericForm/formControlsServices/basic.control.generator"; +import {AaiService} from "../../../../services/aaiService/aai.service"; +import {HttpClient} from "@angular/common/http"; +import {GenericFormService} from "../../../genericForm/generic-form.service"; +import {FormBuilder} from "@angular/forms"; +import {IframeService} from "../../../../utils/iframe.service"; +import {DefaultDataGeneratorService} from "../../../../services/defaultDataServiceGenerator/default.data.generator.service"; +import {BasicPopupService} from "../basic.popup.service"; +import {VfModulePopupService} from "./vfModule.popup.service"; +import {VfModuleControlGenerator} from "../../../genericForm/formControlsServices/vfModuleGenerator/vfModule.control.generator"; +import {SdcUiServices} from "onap-ui-angular"; +import {FeatureFlagsService} from "../../../../services/featureFlag/feature-flags.service"; +import {getTestBed, TestBed} from "@angular/core/testing"; + +class MockModalService {} + +class MockAppStore {} + +class MockReduxStore { + getState() { + return { + "global": { + "name": null, + "flags": { + "FLAG_NETWORK_TO_ASYNC_INSTANTIATION": false, + "FLAG_SHOW_ASSIGNMENTS": true, + "FLAG_FABRIC_CONFIGURATION_ASSIGNMENTS": true, + "FLAG_SHOW_VERIFY_SERVICE": false, + "FLAG_SERVICE_MODEL_CACHE": true, + "FLAG_ADVANCED_PORTS_FILTER": true, + "FLAG_REGION_ID_FROM_REMOTE": true, + "FLAG_ADD_MSO_TESTAPI_FIELD": true + }, + "type": "[FLAGS] Update" + }, + "service": { + "serviceHierarchy": { + "6e59c5de-f052-46fa-aa7e-2fca9d674c44": { + "service": { + "uuid": "6e59c5de-f052-46fa-aa7e-2fca9d674c44", + "invariantUuid": "e49fbd11-e60c-4a8e-b4bf-30fbe8f4fcc0", + "name": "ComplexService", + "version": "1.0", + "toscaModelURL": null, + "category": "Emanuel", + "serviceType": "", + "serviceRole": "", + "description": "ComplexService", + "serviceEcompNaming": "false", + "instantiationType": "Macro", + "inputs": {} + }, + "vnfs": { + "VF_vGeraldine 0": { + "uuid": "d6557200-ecf2-4641-8094-5393ae3aae60", + "invariantUuid": "4160458e-f648-4b30-a176-43881ffffe9e", + "description": "VSP_vGeraldine", + "name": "VF_vGeraldine", + "version": "2.0", + "customizationUuid": "91415b44-753d-494c-926a-456a9172bbb9", + "inputs": {}, + "commands": {}, + "properties": { + "max_instances": 10, + "min_instances": 1, + "gpb2_Internal2_mac": "00:11:22:EF:AC:DF", + "sctp-b-ipv6-egress_src_start_port": "0", + "sctp-a-ipv6-egress_rule_application": "any", + "Internal2_allow_transit": "true", + "sctp-b-IPv6_ethertype": "IPv6", + "sctp-a-egress_rule_application": "any", + "sctp-b-ingress_action": "pass", + "sctp-b-ingress_rule_protocol": "icmp", + "ncb2_Internal1_mac": "00:11:22:EF:AC:DF", + "sctp-b-ipv6-ingress-src_start_port": "0.0", + "ncb1_Internal2_mac": "00:11:22:EF:AC:DF", + "fsb_volume_size_0": "320.0", + "sctp-b-egress_src_addresses": "local", + "sctp-a-ipv6-ingress_ethertype": "IPv4", + "sctp-a-ipv6-ingress-dst_start_port": "0", + "sctp-b-ipv6-ingress_rule_application": "any", + "domain_name": "default-domain", + "sctp-a-ingress_rule_protocol": "icmp", + "sctp-b-egress-src_start_port": "0.0", + "sctp-a-egress_src_addresses": "local", + "sctp-b-display_name": "epc-sctp-b-ipv4v6-sec-group", + "sctp-a-egress-src_start_port": "0.0", + "sctp-a-ingress_ethertype": "IPv4", + "sctp-b-ipv6-ingress-dst_end_port": "65535", + "sctp-b-dst_subnet_prefix_v6": "::", + "nf_naming": "{ecomp_generated_naming=true}", + "sctp-a-ipv6-ingress_src_subnet_prefix": "0.0.0.0", + "sctp-b-egress-dst_start_port": "0.0", + "ncb_flavor_name": "nv.c20r64d1", + "gpb1_Internal1_mac": "00:11:22:EF:AC:DF", + "sctp-b-egress_dst_subnet_prefix_len": "0.0", + "Internal2_net_cidr": "10.0.0.10", + "sctp-a-ingress-dst_start_port": "0.0", + "sctp-a-egress-dst_start_port": "0.0", + "fsb1_Internal2_mac": "00:11:22:EF:AC:DF", + "sctp-a-egress_ethertype": "IPv4", + "vlc_st_service_mode": "in-network-nat", + "sctp-a-ipv6-egress_ethertype": "IPv4", + "sctp-a-egress-src_end_port": "65535.0", + "sctp-b-ipv6-egress_rule_application": "any", + "sctp-b-egress_action": "pass", + "sctp-a-ingress-src_subnet_prefix_len": "0.0", + "sctp-b-ipv6-ingress-src_end_port": "65535.0", + "sctp-b-name": "epc-sctp-b-ipv4v6-sec-group", + "fsb2_Internal1_mac": "00:11:22:EF:AC:DF", + "sctp-a-ipv6-ingress-src_start_port": "0.0", + "sctp-b-ipv6-egress_ethertype": "IPv4", + "Internal1_net_cidr": "10.0.0.10", + "sctp-a-egress_dst_subnet_prefix": "0.0.0.0", + "fsb_flavor_name": "nv.c20r64d1", + "sctp_rule_protocol": "132", + "sctp-b-ipv6-ingress_src_subnet_prefix_len": "0", + "sctp-a-ipv6-ingress_rule_application": "any", + "ecomp_generated_naming": "false", + "sctp-a-IPv6_ethertype": "IPv6", + "vlc2_Internal1_mac": "00:11:22:EF:AC:DF", + "vlc_st_virtualization_type": "virtual-machine", + "sctp-b-ingress-dst_start_port": "0.0", + "sctp-b-ingress-dst_end_port": "65535.0", + "sctp-a-ipv6-ingress-src_end_port": "65535.0", + "sctp-a-display_name": "epc-sctp-a-ipv4v6-sec-group", + "sctp-b-ingress_rule_application": "any", + "int2_sec_group_name": "int2-sec-group", + "vlc_flavor_name": "nd.c16r64d1", + "sctp-b-ipv6-egress_src_addresses": "local", + "vlc_st_interface_type_int1": "other1", + "sctp-b-egress-src_end_port": "65535.0", + "sctp-a-ipv6-egress-dst_start_port": "0", + "vlc_st_interface_type_int2": "other2", + "sctp-a-ipv6-egress_rule_protocol": "any", + "Internal2_shared": "false", + "sctp-a-ipv6-egress_dst_subnet_prefix_len": "0", + "Internal2_rpf": "disable", + "vlc1_Internal1_mac": "00:11:22:EF:AC:DF", + "sctp-b-ipv6-egress_src_end_port": "65535", + "sctp-a-ipv6-egress_src_addresses": "local", + "sctp-a-ingress-dst_end_port": "65535.0", + "sctp-a-ipv6-egress_src_end_port": "65535", + "Internal1_forwarding_mode": "l2", + "Internal2_dhcp": "false", + "sctp-a-dst_subnet_prefix_v6": "::", + "pxe_image_name": "MME_PXE-Boot_16ACP04_GA.qcow2", + "vlc_st_interface_type_gtp": "other0", + "ncb1_Internal1_mac": "00:11:22:EF:AC:DF", + "sctp-b-src_subnet_prefix_v6": "::", + "sctp-a-egress_dst_subnet_prefix_len": "0.0", + "int1_sec_group_name": "int1-sec-group", + "Internal1_dhcp": "false", + "sctp-a-ipv6-egress_dst_end_port": "65535", + "Internal2_forwarding_mode": "l2", + "fsb2_Internal2_mac": "00:11:22:EF:AC:DF", + "sctp-b-egress_dst_subnet_prefix": "0.0.0.0", + "Internal1_net_cidr_len": "17", + "gpb2_Internal1_mac": "00:11:22:EF:AC:DF", + "sctp-b-ingress-src_subnet_prefix_len": "0.0", + "sctp-a-ingress_dst_addresses": "local", + "sctp-a-egress_action": "pass", + "fsb_volume_type_0": "SF-Default-SSD", + "ncb2_Internal2_mac": "00:11:22:EF:AC:DF", + "vlc_st_interface_type_sctp_a": "left", + "vlc_st_interface_type_sctp_b": "right", + "sctp-a-src_subnet_prefix_v6": "::", + "vlc_st_version": "2", + "sctp-b-egress_ethertype": "IPv4", + "sctp-a-ingress_rule_application": "any", + "gpb1_Internal2_mac": "00:11:22:EF:AC:DF", + "instance_ip_family_v6": "v6", + "sctp-a-ipv6-egress_src_start_port": "0", + "sctp-b-ingress-src_start_port": "0.0", + "sctp-b-ingress_dst_addresses": "local", + "fsb1_Internal1_mac": "00:11:22:EF:AC:DF", + "vlc_st_interface_type_oam": "management", + "multi_stage_design": "true", + "oam_sec_group_name": "oam-sec-group", + "Internal2_net_gateway": "10.0.0.10", + "sctp-a-ipv6-ingress-dst_end_port": "65535", + "sctp-b-ipv6-egress-dst_start_port": "0", + "Internal1_net_gateway": "10.0.0.10", + "sctp-b-ipv6-egress_rule_protocol": "any", + "gtp_sec_group_name": "gtp-sec-group", + "sctp-a-ipv6-egress_dst_subnet_prefix": "0.0.0.0", + "sctp-b-ipv6-egress_dst_subnet_prefix_len": "0", + "sctp-a-ipv6-ingress_dst_addresses": "local", + "sctp-a-egress_rule_protocol": "icmp", + "sctp-b-ipv6-egress_action": "pass", + "sctp-a-ipv6-egress_action": "pass", + "Internal1_shared": "false", + "sctp-b-ipv6-ingress_rule_protocol": "any", + "Internal2_net_cidr_len": "17", + "sctp-a-name": "epc-sctp-a-ipv4v6-sec-group", + "sctp-a-ingress-src_end_port": "65535.0", + "sctp-b-ipv6-ingress_src_subnet_prefix": "0.0.0.0", + "sctp-a-egress-dst_end_port": "65535.0", + "sctp-a-ingress_action": "pass", + "sctp-b-egress_rule_protocol": "icmp", + "sctp-b-ipv6-ingress_action": "pass", + "vlc_st_service_type": "firewall", + "sctp-b-ipv6-egress_dst_end_port": "65535", + "sctp-b-ipv6-ingress-dst_start_port": "0", + "vlc2_Internal2_mac": "00:11:22:EF:AC:DF", + "vlc_st_availability_zone": "true", + "fsb_volume_image_name_1": "MME_FSB2_16ACP04_GA.qcow2", + "sctp-b-ingress-src_subnet_prefix": "0.0.0.0", + "sctp-a-ipv6-ingress_src_subnet_prefix_len": "0", + "Internal1_allow_transit": "true", + "gpb_flavor_name": "nv.c20r64d1", + "availability_zone_max_count": "1", + "fsb_volume_image_name_0": "MME_FSB1_16ACP04_GA.qcow2", + "sctp-b-ipv6-ingress_dst_addresses": "local", + "sctp-b-ipv6-egress_dst_subnet_prefix": "0.0.0.0", + "sctp-b-ipv6-ingress_ethertype": "IPv4", + "vlc1_Internal2_mac": "00:11:22:EF:AC:DF", + "sctp-a-ingress-src_subnet_prefix": "0.0.0.0", + "sctp-a-ipv6-ingress_action": "pass", + "Internal1_rpf": "disable", + "sctp-b-ingress_ethertype": "IPv4", + "sctp-b-egress_rule_application": "any", + "sctp-b-ingress-src_end_port": "65535.0", + "sctp-a-ipv6-ingress_rule_protocol": "any", + "sctp-a-ingress-src_start_port": "0.0", + "sctp-b-egress-dst_end_port": "65535.0" + }, + "type": "VF", + "modelCustomizationName": "VF_vGeraldine 0", + "vfModules": { + "vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1": { + "uuid": "522159d5-d6e0-4c2a-aa44-5a542a12a830", + "invariantUuid": "98a7c88b-b577-476a-90e4-e25a5871e02b", + "customizationUuid": "55b1be94-671a-403e-a26c-667e9c47d091", + "description": null, + "name": "VfVgeraldine..vflorence_vlc..module-1", + "version": "2", + "modelCustomizationName": "VfVgeraldine..vflorence_vlc..module-1", + "properties": { + "minCountInstances": 0, + "maxCountInstances": null, + "initialCount": 0, + "vfModuleLabel": "vflorence_vlc" + }, + "inputs": {}, + "volumeGroupAllowed": true + }, + "vf_vgeraldine0..VfVgeraldine..vflorence_gpb..module-2": { + "uuid": "41708296-e443-4c71-953f-d9a010f059e1", + "invariantUuid": "1cca90b8-3490-495e-87da-3f3e4c57d5b9", + "customizationUuid": "6add59e0-7fe1-4bc4-af48-f8812422ae7c", + "description": null, + "name": "VfVgeraldine..vflorence_gpb..module-2", + "version": "2", + "modelCustomizationName": "VfVgeraldine..vflorence_gpb..module-2", + "properties": { + "minCountInstances": 0, + "maxCountInstances": null, + "initialCount": 0, + "vfModuleLabel": "vflorence_gpb" + }, + "inputs": {}, + "volumeGroupAllowed": false + }, + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { + "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", + "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", + "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", + "description": null, + "name": "VfVgeraldine..base_vflorence..module-0", + "version": "2", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", + "properties": { + "minCountInstances": 1, + "maxCountInstances": 1, + "initialCount": 1, + "vfModuleLabel": "base_vflorence" + }, + "inputs": {}, + "volumeGroupAllowed": true + } + }, + "volumeGroups": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { + "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", + "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", + "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", + "description": null, + "name": "VfVgeraldine..base_vflorence..module-0", + "version": "2", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", + "properties": { + "minCountInstances": 1, + "maxCountInstances": 1, + "initialCount": 1, + "vfModuleLabel": "base_vflorence" + }, + "inputs": {} + } + }, + "vfcInstanceGroups": {} + } + }, + "networks": { + "ExtVL 0": { + "uuid": "ddc3f20c-08b5-40fd-af72-c6d14636b986", + "invariantUuid": "379f816b-a7aa-422f-be30-17114ff50b7c", + "description": "ECOMP generic virtual link (network) base type for all other service-level and global networks", + "name": "ExtVL", + "version": "37.0", + "customizationUuid": "94fdd893-4a36-4d70-b16a-ec29c54c184f", + "inputs": {}, + "commands": {}, + "properties": { + "netowrk_role": "role 1, role 2, role 3", + "network_assignments": "{is_external_network=false, ipv4_subnet_default_assignment={min_subnets_count=1}, ecomp_generated_network_assignment=false, ipv6_subnet_default_assignment={min_subnets_count=1}}", + "exVL_naming": "{ecomp_generated_naming=true}", + "network_flows": "{is_network_policy=false, is_bound_to_vpn=false}", + "network_homing": "{ecomp_selected_instance_node_target=false}" + }, + "type": "VL", + "modelCustomizationName": "ExtVL 0" + } + }, + "collectionResources": {}, + "configurations": { + "Port Mirroring Configuration By Policy 0": { + "uuid": "b4398538-e89d-4f13-b33d-ca323434ba50", + "invariantUuid": "6ef0ca40-f366-4897-951f-abd65d25f6f7", + "description": "A port mirroring configuration by policy object", + "name": "Port Mirroring Configuration By Policy", + "version": "27.0", + "customizationUuid": "3c3b7b8d-8669-4b3b-8664-61970041fad2", + "inputs": {}, + "commands": {}, + "properties": {}, + "type": "Configuration", + "modelCustomizationName": "Port Mirroring Configuration By Policy 0", + "sourceNodes": [], + "collectorNodes": null, + "configurationByPolicy": false + } + }, + "serviceProxies": {}, + "vfModules": { + "vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1": { + "uuid": "522159d5-d6e0-4c2a-aa44-5a542a12a830", + "invariantUuid": "98a7c88b-b577-476a-90e4-e25a5871e02b", + "customizationUuid": "55b1be94-671a-403e-a26c-667e9c47d091", + "description": null, + "name": "VfVgeraldine..vflorence_vlc..module-1", + "version": "2", + "modelCustomizationName": "VfVgeraldine..vflorence_vlc..module-1", + "properties": { + "minCountInstances": 0, + "maxCountInstances": null, + "initialCount": 0, + "vfModuleLabel": "vflorence_vlc" + }, + "inputs": {}, + "volumeGroupAllowed": true + }, + "vf_vgeraldine0..VfVgeraldine..vflorence_gpb..module-2": { + "uuid": "41708296-e443-4c71-953f-d9a010f059e1", + "invariantUuid": "1cca90b8-3490-495e-87da-3f3e4c57d5b9", + "customizationUuid": "6add59e0-7fe1-4bc4-af48-f8812422ae7c", + "description": null, + "name": "VfVgeraldine..vflorence_gpb..module-2", + "version": "2", + "modelCustomizationName": "VfVgeraldine..vflorence_gpb..module-2", + "properties": { + "minCountInstances": 0, + "maxCountInstances": null, + "initialCount": 0, + "vfModuleLabel": "vflorence_gpb" + }, + "inputs": {}, + "volumeGroupAllowed": false + }, + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { + "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", + "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", + "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", + "description": null, + "name": "VfVgeraldine..base_vflorence..module-0", + "version": "2", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", + "properties": { + "minCountInstances": 1, + "maxCountInstances": 1, + "initialCount": 1, + "vfModuleLabel": "base_vflorence" + }, + "inputs": {}, + "volumeGroupAllowed": true + } + }, + "volumeGroups": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { + "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", + "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", + "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", + "description": null, + "name": "VfVgeraldine..base_vflorence..module-0", + "version": "2", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0", + "properties": { + "minCountInstances": 1, + "maxCountInstances": 1, + "initialCount": 1, + "vfModuleLabel": "base_vflorence" + }, + "inputs": {} + } + }, + "pnfs": {} + }, + "6b528779-44a3-4472-bdff-9cd15ec93450": { + "service": { + "uuid": "6b528779-44a3-4472-bdff-9cd15ec93450", + "invariantUuid": "e49fbd11-e60c-4a8e-b4bf-30fbe8f4fcc0", + "name": "action-data", + "version": "1.0", + "toscaModelURL": null, + "category": "", + "serviceType": "", + "serviceRole": "", + "description": "", + "serviceEcompNaming": "false", + "instantiationType": "A-La-Carte", + "inputs": { + "2017488_pasqualevpe0_ASN": { + "type": "string", + "description": "AV/PE", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "AV_vPE" + } + } + }, + "vnfs": { + "2017-388_PASQUALE-vPE 1": { + "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413", + "invariantUuid": "00beb8f9-6d39-452f-816d-c709b9cbb87d", + "description": "Name PASQUALE vPE Description The provider edge function for the PASQUALE service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", + "name": "2017-388_PASQUALE-vPE", + "version": "1.0", + "customizationUuid": "280dec31-f16d-488b-9668-4aae55d6648a", + "inputs": { + "vnf_config_template_version": { + "type": "string", + "description": "VPE Software Version", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "17.2" + }, + "bandwidth_units": { + "type": "string", + "description": "Units of bandwidth", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "Gbps" + }, + "bandwidth": { + "type": "string", + "description": "Requested VPE bandwidth", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "10" + }, + "AIC_CLLI": { + "type": "string", + "description": "AIC Site CLLI", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "ATLMY8GA" + }, + "ASN": { + "type": "string", + "description": "AV/PE", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "AV_vPE" + }, + "vnf_instance_name": { + "type": "string", + "description": "The hostname assigned to the vpe.", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "mtnj309me6" + } + }, + "commands": { + "vnf_config_template_version": { + "displayName": "vnf_config_template_version", + "command": "get_input", + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" + }, + "bandwidth_units": { + "displayName": "bandwidth_units", + "command": "get_input", + "inputName": "pasqualevpe0_bandwidth_units" + }, + "bandwidth": {"displayName": "bandwidth", "command": "get_input", "inputName": "pasqualevpe0_bandwidth"}, + "AIC_CLLI": { + "displayName": "AIC_CLLI", + "command": "get_input", + "inputName": "2017488_pasqualevpe0_AIC_CLLI" + }, + "ASN": {"displayName": "ASN", "command": "get_input", "inputName": "2017488_pasqualevpe0_ASN"}, + "vnf_instance_name": { + "displayName": "vnf_instance_name", + "command": "get_input", + "inputName": "2017488_pasqualevpe0_vnf_instance_name" + } + }, + "properties": { + "vmxvre_retype": "RE-VMX", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", + "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", + "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", + "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", + "int_ctl_net_name": "VMX-INTXI", + "vmx_int_ctl_prefix": "10.0.0.10", + "sriov43_net_id": "da349ca1-6de9-4548-be88-2d88e99bfef5", + "sriov42_net_id": "760669ba-013d-4d9b-b0e7-4151fe2e6279", + "sriov41_net_id": "25ad52d5-c165-40f8-b3b0-ddfc2373280a", + "nf_type": "vPE", + "vmxvpfe_int_ctl_ip_1": "10.0.0.10", + "is_AVPN_service": "false", + "vmx_RSG_name": "vREXI-affinity", + "vmx_int_ctl_forwarding": "l2", + "vmxvre_oam_ip_0": "10.0.0.10", + "vmxvpfe_sriov44_0_port_mac": "00:11:22:EF:AC:DF", + "vmxvpfe_sriov41_0_port_vlanstrip": "false", + "vmxvpfe_sriov42_0_port_vlanfilter": "4001", + "vmxvpfe_sriov44_0_port_unknownunicastallow": "true", + "vmxvre_image_name_0": "VRE-ENGINE_17.2-S2.1.qcow2", + "vmxvre_instance": "0", + "vmxvpfe_sriov43_0_port_mac": "00:11:22:EF:AC:DF", + "vmxvre_flavor_name": "ns.c1r16d32.v5", + "vmxvpfe_volume_size_0": "40.0", + "vmxvpfe_sriov43_0_port_vlanfilter": "4001", + "nf_naming": "{ecomp_generated_naming=false}", + "nf_naming_code": "Navneet", + "vmxvre_name_0": "vREXI", + "vmxvpfe_sriov42_0_port_vlanstrip": "false", + "vmxvpfe_volume_name_0": "vPFEXI_FBVolume", + "vmx_RSG_id": "bd89a33c-13c3-4a04-8fde-1a57eb123141", + "vmxvpfe_image_name_0": "VPE_ROUTING-ENGINE_17.2R1-S2.1.qcow2", + "vmxvpfe_sriov43_0_port_unknownunicastallow": "true", + "vmxvpfe_sriov44_0_port_unknownmulticastallow": "true", + "vmxvre_console": "vidconsole", + "vmxvpfe_sriov44_0_port_vlanfilter": "4001", + "vmxvpfe_sriov42_0_port_mac": "00:11:22:EF:AC:DF", + "vmxvpfe_volume_id_0": "47cede15-da2f-4397-a101-aa683220aff3", + "vmxvpfe_sriov42_0_port_unknownmulticastallow": "true", + "vmxvpfe_sriov44_0_port_vlanstrip": "false", + "vf_module_id": "123", + "nf_function": "JAI", + "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", + "vmxvre_int_ctl_ip_0": "10.0.0.10", + "ecomp_generated_naming": "false", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", + "vnf_name": "mtnj309me6vre", + "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", + "vmxvre_volume_type_1": "HITACHI", + "vmxvpfe_sriov44_0_port_broadcastallow": "true", + "vmxvre_volume_type_0": "HITACHI", + "vmxvpfe_volume_type_0": "HITACHI", + "vmxvpfe_sriov43_0_port_broadcastallow": "true", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", + "vnf_id": "123", + "vmxvre_oam_prefix": "24", + "availability_zone_0": "mtpocfo-kvm-az01", + "ASN": "get_input:2017488_pasqualevpe0_ASN", + "vmxvre_chassis_i2cid": "161", + "vmxvpfe_name_0": "vPFEXI", + "bandwidth": "get_input:pasqualevpe0_bandwidth", + "availability_zone_max_count": "1", + "vmxvre_volume_size_0": "45.0", + "vmxvre_volume_size_1": "50.0", + "vmxvpfe_sriov42_0_port_broadcastallow": "true", + "vmxvre_oam_gateway": "10.0.0.10", + "vmxvre_volume_name_1": "vREXI_FAVolume", + "vmxvre_ore_present": "0", + "vmxvre_volume_name_0": "vREXI_FBVolume", + "vmxvre_type": "0", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", + "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", + "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", + "vmx_int_ctl_len": "24", + "vmxvpfe_sriov43_0_port_vlanstrip": "false", + "vmxvpfe_sriov41_0_port_broadcastallow": "true", + "vmxvre_volume_id_1": "6e86797e-03cd-4fdc-ba72-2957119c746d", + "vmxvpfe_sriov41_0_port_vlanfilter": "4001", + "nf_role": "Testing", + "vmxvre_volume_id_0": "f4eacb79-f687-4e9d-b760-21847c8bb15a", + "vmxvpfe_sriov42_0_port_unknownunicastallow": "true", + "vmxvpfe_flavor_name": "ns.c20r16d25.v5" + }, + "type": "VF", + "modelCustomizationName": "2017-388_PASQUALE-vPE 1", + "vfModules": {}, + "volumeGroups": {}, + "vfcInstanceGroups": {} + }, + "2017-388_PASQUALE-vPE 0": { + "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168", + "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", + "description": "Name PASQUALE vPE Description The provider edge function for the PASQUALE service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", + "name": "2017-388_PASQUALE-vPE", + "version": "4.0", + "customizationUuid": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c", + "inputs": { + "vnf_config_template_version": { + "type": "string", + "description": "VPE Software Version", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "17.2" + }, + "bandwidth_units": { + "type": "string", + "description": "Units of bandwidth", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "Gbps" + }, + "bandwidth": { + "type": "string", + "description": "Requested VPE bandwidth", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "10" + }, + "AIC_CLLI": { + "type": "string", + "description": "AIC Site CLLI", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "ATLMY8GA" + }, + "ASN": { + "type": "string", + "description": "AV/PE", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "AV_vPE" + }, + "vnf_instance_name": { + "type": "string", + "description": "The hostname assigned to the vpe.", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "mtnj309me6" + } + }, + "commands": { + "vnf_config_template_version": { + "displayName": "vnf_config_template_version", + "command": "get_input", + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" + }, + "bandwidth_units": { + "displayName": "bandwidth_units", + "command": "get_input", + "inputName": "pasqualevpe0_bandwidth_units" + }, + "bandwidth": {"displayName": "bandwidth", "command": "get_input", "inputName": "pasqualevpe0_bandwidth"}, + "AIC_CLLI": { + "displayName": "AIC_CLLI", + "command": "get_input", + "inputName": "2017488_pasqualevpe0_AIC_CLLI" + }, + "ASN": {"displayName": "ASN", "command": "get_input", "inputName": "2017488_pasqualevpe0_ASN"}, + "vnf_instance_name": { + "displayName": "vnf_instance_name", + "command": "get_input", + "inputName": "2017488_pasqualevpe0_vnf_instance_name" + } + }, + "properties": { + "vmxvre_retype": "RE-VMX", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", + "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", + "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", + "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", + "int_ctl_net_name": "VMX-INTXI", + "vmx_int_ctl_prefix": "10.0.0.10", + "sriov43_net_id": "da349ca1-6de9-4548-be88-2d88e99bfef5", + "sriov42_net_id": "760669ba-013d-4d9b-b0e7-4151fe2e6279", + "sriov41_net_id": "25ad52d5-c165-40f8-b3b0-ddfc2373280a", + "nf_type": "vPE", + "vmxvpfe_int_ctl_ip_1": "10.0.0.10", + "is_AVPN_service": "false", + "vmx_RSG_name": "vREXI-affinity", + "vmx_int_ctl_forwarding": "l2", + "vmxvre_oam_ip_0": "10.0.0.10", + "vmxvpfe_sriov44_0_port_mac": "00:11:22:EF:AC:DF", + "vmxvpfe_sriov41_0_port_vlanstrip": "false", + "vmxvpfe_sriov42_0_port_vlanfilter": "4001", + "vmxvpfe_sriov44_0_port_unknownunicastallow": "true", + "vmxvre_image_name_0": "VRE-ENGINE_17.2-S2.1.qcow2", + "vmxvre_instance": "0", + "vmxvpfe_sriov43_0_port_mac": "00:11:22:EF:AC:DF", + "vmxvre_flavor_name": "ns.c1r16d32.v5", + "vmxvpfe_volume_size_0": "40.0", + "vmxvpfe_sriov43_0_port_vlanfilter": "4001", + "nf_naming": "{ecomp_generated_naming=false}", + "nf_naming_code": "Navneet", + "vmxvre_name_0": "vREXI", + "vmxvpfe_sriov42_0_port_vlanstrip": "false", + "vmxvpfe_volume_name_0": "vPFEXI_FBVolume", + "vmx_RSG_id": "bd89a33c-13c3-4a04-8fde-1a57eb123141", + "vmxvpfe_image_name_0": "VPE_ROUTING-ENGINE_17.2R1-S2.1.qcow2", + "vmxvpfe_sriov43_0_port_unknownunicastallow": "true", + "vmxvpfe_sriov44_0_port_unknownmulticastallow": "true", + "vmxvre_console": "vidconsole", + "vmxvpfe_sriov44_0_port_vlanfilter": "4001", + "vmxvpfe_sriov42_0_port_mac": "00:11:22:EF:AC:DF", + "vmxvpfe_volume_id_0": "47cede15-da2f-4397-a101-aa683220aff3", + "vmxvpfe_sriov42_0_port_unknownmulticastallow": "true", + "min_instances": "1", + "vmxvpfe_sriov44_0_port_vlanstrip": "false", + "vf_module_id": "123", + "nf_function": "JAI", + "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", + "vmxvre_int_ctl_ip_0": "10.0.0.10", + "ecomp_generated_naming": "false", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", + "vnf_name": "mtnj309me6vre", + "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", + "vmxvre_volume_type_1": "HITACHI", + "vmxvpfe_sriov44_0_port_broadcastallow": "true", + "vmxvre_volume_type_0": "HITACHI", + "vmxvpfe_volume_type_0": "HITACHI", + "vmxvpfe_sriov43_0_port_broadcastallow": "true", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", + "vnf_id": "123", + "vmxvre_oam_prefix": "24", + "availability_zone_0": "mtpocfo-kvm-az01", + "ASN": "get_input:2017488_pasqualevpe0_ASN", + "vmxvre_chassis_i2cid": "161", + "vmxvpfe_name_0": "vPFEXI", + "bandwidth": "get_input:pasqualevpe0_bandwidth", + "availability_zone_max_count": "1", + "vmxvre_volume_size_0": "45.0", + "vmxvre_volume_size_1": "50.0", + "vmxvpfe_sriov42_0_port_broadcastallow": "true", + "vmxvre_oam_gateway": "10.0.0.10", + "vmxvre_volume_name_1": "vREXI_FAVolume", + "vmxvre_ore_present": "0", + "vmxvre_volume_name_0": "vREXI_FBVolume", + "vmxvre_type": "0", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", + "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", + "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", + "vmx_int_ctl_len": "24", + "vmxvpfe_sriov43_0_port_vlanstrip": "false", + "vmxvpfe_sriov41_0_port_broadcastallow": "true", + "vmxvre_volume_id_1": "6e86797e-03cd-4fdc-ba72-2957119c746d", + "vmxvpfe_sriov41_0_port_vlanfilter": "4001", + "nf_role": "Testing", + "vmxvre_volume_id_0": "f4eacb79-f687-4e9d-b760-21847c8bb15a", + "vmxvpfe_sriov42_0_port_unknownunicastallow": "true", + "vmxvpfe_flavor_name": "ns.c20r16d25.v5" + }, + "type": "VF", + "modelCustomizationName": "2017-388_PASQUALE-vPE 0", + "vfModules": {}, + "volumeGroups": {}, + "vfcInstanceGroups": {} + }, + "2017-488_PASQUALE-vPE 0": { + "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09", + "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", + "description": "Name PASQUALE vPE Description The provider edge function for the PASQUALE service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM", + "name": "2017-488_PASQUALE-vPE", + "version": "5.0", + "customizationUuid": "1da7b585-5e61-4993-b95e-8e6606c81e45", + "inputs": { + "vnf_config_template_version": { + "type": "string", + "description": "VPE Software Version", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "17.2" + }, + "bandwidth_units": { + "type": "string", + "description": "Units of bandwidth", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "Gbps" + }, + "bandwidth": { + "type": "string", + "description": "Requested VPE bandwidth", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "10" + }, + "AIC_CLLI": { + "type": "string", + "description": "AIC Site CLLI", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "ATLMY8GA" + }, + "ASN": { + "type": "string", + "description": "AV/PE", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "AV_vPE" + }, + "vnf_instance_name": { + "type": "string", + "description": "The hostname assigned to the vpe.", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "mtnj309me6" + } + }, + "commands": { + "vnf_config_template_version": { + "displayName": "vnf_config_template_version", + "command": "get_input", + "inputName": "2017488_pasqualevpe0_vnf_config_template_version" + }, + "bandwidth_units": { + "displayName": "bandwidth_units", + "command": "get_input", + "inputName": "pasqualevpe0_bandwidth_units" + }, + "bandwidth": {"displayName": "bandwidth", "command": "get_input", "inputName": "pasqualevpe0_bandwidth"}, + "AIC_CLLI": { + "displayName": "AIC_CLLI", + "command": "get_input", + "inputName": "2017488_pasqualevpe0_AIC_CLLI" + }, + "ASN": {"displayName": "ASN", "command": "get_input", "inputName": "2017488_pasqualevpe0_ASN"}, + "vnf_instance_name": { + "displayName": "vnf_instance_name", + "command": "get_input", + "inputName": "2017488_pasqualevpe0_vnf_instance_name" + } + }, + "properties": { + "vmxvre_retype": "RE-VMX", + "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", + "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", + "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", + "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", + "int_ctl_net_name": "VMX-INTXI", + "vmx_int_ctl_prefix": "10.0.0.10", + "sriov43_net_id": "da349ca1-6de9-4548-be88-2d88e99bfef5", + "sriov42_net_id": "760669ba-013d-4d9b-b0e7-4151fe2e6279", + "sriov41_net_id": "25ad52d5-c165-40f8-b3b0-ddfc2373280a", + "nf_type": "vPE", + "vmxvpfe_int_ctl_ip_1": "10.0.0.10", + "is_AVPN_service": "false", + "vmx_RSG_name": "vREXI-affinity", + "vmx_int_ctl_forwarding": "l2", + "vmxvre_oam_ip_0": "10.0.0.10", + "vmxvpfe_sriov44_0_port_mac": "00:11:22:EF:AC:DF", + "vmxvpfe_sriov41_0_port_vlanstrip": "false", + "vmxvpfe_sriov42_0_port_vlanfilter": "4001", + "vmxvpfe_sriov44_0_port_unknownunicastallow": "true", + "vmxvre_image_name_0": "VRE-ENGINE_17.2-S2.1.qcow2", + "vmxvre_instance": "0", + "vmxvpfe_sriov43_0_port_mac": "00:11:22:EF:AC:DF", + "vmxvre_flavor_name": "ns.c1r16d32.v5", + "vmxvpfe_volume_size_0": "40.0", + "vmxvpfe_sriov43_0_port_vlanfilter": "4001", + "nf_naming": "{ecomp_generated_naming=false}", + "nf_naming_code": "Navneet", + "vmxvre_name_0": "vREXI", + "vmxvpfe_sriov42_0_port_vlanstrip": "false", + "vmxvpfe_volume_name_0": "vPFEXI_FBVolume", + "max_instances": "3", + "vmx_RSG_id": "bd89a33c-13c3-4a04-8fde-1a57eb123141", + "vmxvpfe_image_name_0": "VPE_ROUTING-ENGINE_17.2R1-S2.1.qcow2", + "vmxvpfe_sriov43_0_port_unknownunicastallow": "true", + "vmxvpfe_sriov44_0_port_unknownmulticastallow": "true", + "vmxvre_console": "vidconsole", + "vmxvpfe_sriov44_0_port_vlanfilter": "4001", + "vmxvpfe_sriov42_0_port_mac": "00:11:22:EF:AC:DF", + "vmxvpfe_volume_id_0": "47cede15-da2f-4397-a101-aa683220aff3", + "vmxvpfe_sriov42_0_port_unknownmulticastallow": "true", + "min_instances": "1", + "vmxvpfe_sriov44_0_port_vlanstrip": "false", + "vf_module_id": "123", + "nf_function": "JAI", + "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", + "vmxvre_int_ctl_ip_0": "10.0.0.10", + "ecomp_generated_naming": "false", + "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", + "vnf_name": "mtnj309me6vre", + "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", + "vmxvre_volume_type_1": "HITACHI", + "vmxvpfe_sriov44_0_port_broadcastallow": "true", + "vmxvre_volume_type_0": "HITACHI", + "vmxvpfe_volume_type_0": "HITACHI", + "vmxvpfe_sriov43_0_port_broadcastallow": "true", + "bandwidth_units": "get_input:pasqualevpe0_bandwidth_units", + "vnf_id": "123", + "vmxvre_oam_prefix": "24", + "availability_zone_0": "mtpocfo-kvm-az01", + "ASN": "get_input:2017488_pasqualevpe0_ASN", + "vmxvre_chassis_i2cid": "161", + "vmxvpfe_name_0": "vPFEXI", + "bandwidth": "get_input:pasqualevpe0_bandwidth", + "availability_zone_max_count": "1", + "vmxvre_volume_size_0": "45.0", + "vmxvre_volume_size_1": "50.0", + "vmxvpfe_sriov42_0_port_broadcastallow": "true", + "vmxvre_oam_gateway": "10.0.0.10", + "vmxvre_volume_name_1": "vREXI_FAVolume", + "vmxvre_ore_present": "0", + "vmxvre_volume_name_0": "vREXI_FBVolume", + "vmxvre_type": "0", + "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", + "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", + "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", + "vmx_int_ctl_len": "24", + "vmxvpfe_sriov43_0_port_vlanstrip": "false", + "vmxvpfe_sriov41_0_port_broadcastallow": "true", + "vmxvre_volume_id_1": "6e86797e-03cd-4fdc-ba72-2957119c746d", + "vmxvpfe_sriov41_0_port_vlanfilter": "4001", + "nf_role": "Testing", + "vmxvre_volume_id_0": "f4eacb79-f687-4e9d-b760-21847c8bb15a", + "vmxvpfe_sriov42_0_port_unknownunicastallow": "true", + "vmxvpfe_flavor_name": "ns.c20r16d25.v5" + }, + "type": "VF", + "modelCustomizationName": "2017-488_PASQUALE-vPE 0", + "vfModules": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { + "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", + "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", + "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", + "description": null, + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", + "version": "6", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", + "properties": { + "minCountInstances": 0, + "maxCountInstances": null, + "initialCount": 0, + "vfModuleLabel": "PASQUALE_vRE_BV" + }, + "inputs": { + "pasqualevpe0_bandwidth": { + "type": "string", + "description": "Requested VPE bandwidth", + "entry_schema": null, + "inputProperties": { + "sourceType": "HEAT", + "vfModuleLabel": "PASQUALE_vRE_BV", + "paramName": "bandwidth" + }, + "constraints": null, + "required": true, + "default": "10" + }, + "2017488_pasqualevpe0_vnf_instance_name": { + "type": "string", + "description": "The hostname assigned to the vpe.", + "entry_schema": null, + "inputProperties": { + "sourceType": "HEAT", + "vfModuleLabel": "PASQUALE_vRE_BV", + "paramName": "vnf_instance_name" + }, + "constraints": null, + "required": true, + "default": "mtnj309me6" + }, + "2017488_pasqualevpe0_vnf_config_template_version": { + "type": "string", + "description": "VPE Software Version", + "entry_schema": null, + "inputProperties": { + "sourceType": "HEAT", + "vfModuleLabel": "PASQUALE_vRE_BV", + "paramName": "vnf_config_template_version" + }, + "constraints": null, + "required": true, + "default": "17.2" + }, + "2017488_pasqualevpe0_AIC_CLLI": { + "type": "string", + "description": "AIC Site CLLI", + "entry_schema": null, + "inputProperties": { + "sourceType": "HEAT", + "vfModuleLabel": "PASQUALE_vRE_BV", + "paramName": "AIC_CLLI" + }, + "constraints": null, + "required": true, + "default": "ATLMY8GA" + }, + "pasqualevpe0_bandwidth_units": { + "type": "string", + "description": "Units of bandwidth", + "entry_schema": null, + "inputProperties": { + "sourceType": "HEAT", + "vfModuleLabel": "PASQUALE_vRE_BV", + "paramName": "bandwidth_units" + }, + "constraints": null, + "required": true, + "default": "Gbps" + } + }, + "volumeGroupAllowed": true + }, + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { + "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db", + "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091", + "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", + "description": null, + "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", + "version": "5", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", + "properties": { + "minCountInstances": 1, + "maxCountInstances": 1, + "initialCount": 1, + "vfModuleLabel": "PASQUALE_base_vPE_BV" + }, + "inputs": {}, + "volumeGroupAllowed": false + }, + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { + "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", + "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", + "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", + "description": null, + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", + "version": "6", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", + "properties": { + "minCountInstances": 0, + "maxCountInstances": null, + "initialCount": 0, + "vfModuleLabel": "PASQUALE_vPFE_BV" + }, + "inputs": {}, + "volumeGroupAllowed": true + } + }, + "volumeGroups": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { + "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", + "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", + "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", + "description": null, + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", + "version": "6", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", + "properties": { + "minCountInstances": 0, + "maxCountInstances": null, + "initialCount": 0, + "vfModuleLabel": "PASQUALE_vRE_BV" + }, + "inputs": { + "pasqualevpe0_bandwidth": { + "type": "string", + "description": "Requested VPE bandwidth", + "entry_schema": null, + "inputProperties": { + "sourceType": "HEAT", + "vfModuleLabel": "PASQUALE_vRE_BV", + "paramName": "bandwidth" + }, + "constraints": null, + "required": true, + "default": "10" + }, + "2017488_pasqualevpe0_vnf_instance_name": { + "type": "string", + "description": "The hostname assigned to the vpe.", + "entry_schema": null, + "inputProperties": { + "sourceType": "HEAT", + "vfModuleLabel": "PASQUALE_vRE_BV", + "paramName": "vnf_instance_name" + }, + "constraints": null, + "required": true, + "default": "mtnj309me6" + }, + "2017488_pasqualevpe0_vnf_config_template_version": { + "type": "string", + "description": "VPE Software Version", + "entry_schema": null, + "inputProperties": { + "sourceType": "HEAT", + "vfModuleLabel": "PASQUALE_vRE_BV", + "paramName": "vnf_config_template_version" + }, + "constraints": null, + "required": true, + "default": "17.2" + }, + "2017488_pasqualevpe0_AIC_CLLI": { + "type": "string", + "description": "AIC Site CLLI", + "entry_schema": null, + "inputProperties": { + "sourceType": "HEAT", + "vfModuleLabel": "PASQUALE_vRE_BV", + "paramName": "AIC_CLLI" + }, + "constraints": null, + "required": true, + "default": "ATLMY8GA" + }, + "pasqualevpe0_bandwidth_units": { + "type": "string", + "description": "Units of bandwidth", + "entry_schema": null, + "inputProperties": { + "sourceType": "HEAT", + "vfModuleLabel": "PASQUALE_vRE_BV", + "paramName": "bandwidth_units" + }, + "constraints": null, + "required": true, + "default": "Gbps" + } + } + }, + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { + "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", + "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", + "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", + "description": null, + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", + "version": "6", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", + "properties": { + "minCountInstances": 0, + "maxCountInstances": null, + "initialCount": 0, + "vfModuleLabel": "PASQUALE_vPFE_BV" + }, + "inputs": {} + } + }, + "vfcInstanceGroups": {} + } + }, + "networks": { + "ExtVL 0": { + "uuid": "ddc3f20c-08b5-40fd-af72-c6d14636b986", + "invariantUuid": "379f816b-a7aa-422f-be30-17114ff50b7c", + "description": "ECOMP generic virtual link (network) base type for all other service-level and global networks", + "name": "ExtVL", + "version": "37.0", + "customizationUuid": "94fdd893-4a36-4d70-b16a-ec29c54c184f", + "inputs": { + "vnf_config_template_version": { + "type": "string", + "description": "VPE Software Version", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "17.2" + }, + "bandwidth_units": { + "type": "string", + "description": "Units of bandwidth", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "Gbps" + }, + "bandwidth": { + "type": "string", + "description": "Requested VPE bandwidth", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "10" + }, + "AIC_CLLI": { + "type": "string", + "description": "AIC Site CLLI", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "ATLMY8GA" + }, + "ASN": { + "type": "string", + "description": "AV/PE", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "AV_vPE" + }, + "vnf_instance_name": { + "type": "string", + "description": "The hostname assigned to the vpe.", + "entry_schema": null, + "inputProperties": null, + "constraints": [], + "required": true, + "default": "mtnj309me6" + } + }, + "commands": {}, + "properties": { + "network_role" : "network role 1, network role 2", + "min_instances": 1, + "max_instances": 10, + "network_assignments": "{is_external_network=false, ipv4_subnet_default_assignment={min_subnets_count=1}, ecomp_generated_network_assignment=false, ipv6_subnet_default_assignment={min_subnets_count=1}}", + "exVL_naming": "{ecomp_generated_naming=true}", + "network_flows": "{is_network_policy=false, is_bound_to_vpn=false}", + "network_homing": "{ecomp_selected_instance_node_target=false}" + }, + "type": "VL", + "modelCustomizationName": "ExtVL 0" + } + }, + "collectionResources": {}, + "configurations": {}, + "fabricConfigurations": {}, + "serviceProxies": {}, + "vfModules": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { + "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", + "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", + "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", + "description": null, + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", + "version": "6", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", + "properties": { + "minCountInstances": 0, + "maxCountInstances": null, + "initialCount": 0, + "vfModuleLabel": "PASQUALE_vRE_BV" + }, + "inputs": { + "pasqualevpe0_bandwidth": { + "type": "string", + "description": "Requested VPE bandwidth", + "entry_schema": null, + "inputProperties": { + "sourceType": "HEAT", + "vfModuleLabel": "PASQUALE_vRE_BV", + "paramName": "bandwidth" + }, + "constraints": null, + "required": true, + "default": "10" + }, + "2017488_pasqualevpe0_vnf_instance_name": { + "type": "string", + "description": "The hostname assigned to the vpe.", + "entry_schema": null, + "inputProperties": { + "sourceType": "HEAT", + "vfModuleLabel": "PASQUALE_vRE_BV", + "paramName": "vnf_instance_name" + }, + "constraints": null, + "required": true, + "default": "mtnj309me6" + }, + "2017488_pasqualevpe0_vnf_config_template_version": { + "type": "string", + "description": "VPE Software Version", + "entry_schema": null, + "inputProperties": { + "sourceType": "HEAT", + "vfModuleLabel": "PASQUALE_vRE_BV", + "paramName": "vnf_config_template_version" + }, + "constraints": null, + "required": true, + "default": "17.2" + }, + "2017488_pasqualevpe0_AIC_CLLI": { + "type": "string", + "description": "AIC Site CLLI", + "entry_schema": null, + "inputProperties": {"sourceType": "HEAT", "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI"}, + "constraints": null, + "required": true, + "default": "ATLMY8GA" + }, + "pasqualevpe0_bandwidth_units": { + "type": "string", + "description": "Units of bandwidth", + "entry_schema": null, + "inputProperties": { + "sourceType": "HEAT", + "vfModuleLabel": "PASQUALE_vRE_BV", + "paramName": "bandwidth_units" + }, + "constraints": null, + "required": true, + "default": "Gbps" + } + }, + "volumeGroupAllowed": true + }, + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { + "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db", + "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091", + "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", + "description": null, + "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", + "version": "5", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", + "properties": { + "minCountInstances": 1, + "maxCountInstances": 1, + "initialCount": 1, + "vfModuleLabel": "PASQUALE_base_vPE_BV" + }, + "inputs": {}, + "volumeGroupAllowed": false + }, + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { + "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", + "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", + "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", + "description": null, + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", + "version": "6", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", + "properties": { + "minCountInstances": 0, + "maxCountInstances": null, + "initialCount": 0, + "vfModuleLabel": "PASQUALE_vPFE_BV" + }, + "inputs": {}, + "volumeGroupAllowed": true + } + }, + "volumeGroups": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { + "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", + "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", + "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", + "description": null, + "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", + "version": "6", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", + "properties": { + "minCountInstances": 0, + "maxCountInstances": null, + "initialCount": 0, + "vfModuleLabel": "PASQUALE_vRE_BV" + }, + "inputs": { + "pasqualevpe0_bandwidth": { + "type": "string", + "description": "Requested VPE bandwidth", + "entry_schema": null, + "inputProperties": { + "sourceType": "HEAT", + "vfModuleLabel": "PASQUALE_vRE_BV", + "paramName": "bandwidth" + }, + "constraints": null, + "required": true, + "default": "10" + }, + "2017488_pasqualevpe0_vnf_instance_name": { + "type": "string", + "description": "The hostname assigned to the vpe.", + "entry_schema": null, + "inputProperties": { + "sourceType": "HEAT", + "vfModuleLabel": "PASQUALE_vRE_BV", + "paramName": "vnf_instance_name" + }, + "constraints": null, + "required": true, + "default": "mtnj309me6" + }, + "2017488_pasqualevpe0_vnf_config_template_version": { + "type": "string", + "description": "VPE Software Version", + "entry_schema": null, + "inputProperties": { + "sourceType": "HEAT", + "vfModuleLabel": "PASQUALE_vRE_BV", + "paramName": "vnf_config_template_version" + }, + "constraints": null, + "required": true, + "default": "17.2" + }, + "2017488_pasqualevpe0_AIC_CLLI": { + "type": "string", + "description": "AIC Site CLLI", + "entry_schema": null, + "inputProperties": {"sourceType": "HEAT", "vfModuleLabel": "PASQUALE_vRE_BV", "paramName": "AIC_CLLI"}, + "constraints": null, + "required": true, + "default": "ATLMY8GA" + }, + "pasqualevpe0_bandwidth_units": { + "type": "string", + "description": "Units of bandwidth", + "entry_schema": null, + "inputProperties": { + "sourceType": "HEAT", + "vfModuleLabel": "PASQUALE_vRE_BV", + "paramName": "bandwidth_units" + }, + "constraints": null, + "required": true, + "default": "Gbps" + } + } + }, + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { + "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", + "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", + "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", + "description": null, + "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", + "version": "6", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", + "properties": { + "minCountInstances": 0, + "maxCountInstances": null, + "initialCount": 0, + "vfModuleLabel": "PASQUALE_vPFE_BV" + }, + "inputs": {} + } + }, + "pnfs": {} + } + }, + "serviceInstance": { + "6e59c5de-f052-46fa-aa7e-2fca9d674c44": { + "vnfs": { + "VF_vGeraldine 0": { + "rollbackOnFailure": "true", + "vfModules": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0": { + "vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0vmvzo": { + "isMissingData": false, + "sdncPreReload": null, + "modelInfo": { + "modelType": "VFmodule", + "modelInvariantId": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", + "modelVersionId": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", + "modelName": "VfVgeraldine..base_vflorence..module-0", + "modelVersion": "2", + "modelCustomizationId": "f8c040f1-7e51-4a11-aca8-acf256cfd861", + "modelCustomizationName": "VfVgeraldine..base_vflorence..module-0" + }, + "instanceParams": [{}], + "trackById": "wmtm6sy2uj" + } + } + }, + "isMissingData": true, + "originalName": "VF_vGeraldine 0", + "vnfStoreKey": "VF_vGeraldine 0", + "trackById": "p3wk448m5do", + "uuid": "d6557200-ecf2-4641-8094-5393ae3aae60", + "productFamilyId": "36b4733a-53f4-4cc8-8ff0-9172e5fc4b8e", + "lcpCloudRegionId": null, + "tenantId": null, + "lineOfBusiness": null, + "platformName": null, + "modelInfo": { + "modelType": "VF", + "modelInvariantId": "4160458e-f648-4b30-a176-43881ffffe9e", + "modelVersionId": "6e59c5de-f052-46fa-aa7e-2fca9d674c44", + "modelName": "VF_vGeraldine", + "modelVersion": "2.0", + "modelCustomizationName": "VF_vGeraldine 0" + } + } + }, + "networks": {}, + "instanceParams": [{}], + "validationCounter": 1, + "existingNames": {}, + "existingVNFCounterMap": {"d6557200-ecf2-4641-8094-5393ae3aae60": 1}, + "globalSubscriberId": "e433710f-9217-458d-a79d-1c7aff376d89", + "subscriptionServiceType": "TYLER SILVIA", + "owningEntityId": "d61e6f2d-12fa-4cc2-91df-7c244011d6fc", + "productFamilyId": "36b4733a-53f4-4cc8-8ff0-9172e5fc4b8e", + "lcpCloudRegionId": "hvf6", + "tenantId": "229bcdc6eaeb4ca59d55221141d01f8e", + "aicZoneId": "JAG1", + "projectName": "x1", + "rollbackOnFailure": "true", + "bulkSize": 1, + "modelInfo": { + "modelInvariantId": "e49fbd11-e60c-4a8e-b4bf-30fbe8f4fcc0", + "modelVersionId": "6e59c5de-f052-46fa-aa7e-2fca9d674c44", + "modelName": "ComplexService", + "modelVersion": "1.0", + "uuid": "6e59c5de-f052-46fa-aa7e-2fca9d674c44" + }, + "isALaCarte": false, + "name": "ComplexService", + "version": "1.0", + "description": "ComplexService", + "category": "Emanuel", + "uuid": "6e59c5de-f052-46fa-aa7e-2fca9d674c44", + "invariantUuid": "e49fbd11-e60c-4a8e-b4bf-30fbe8f4fcc0", + "serviceType": "", + "serviceRole": "", + "isMultiStepDesign": false + }, + "6b528779-44a3-4472-bdff-9cd15ec93450": { + "networks": { + "ExtVL 0": { + "rollbackOnFailure": "true", + "isMissingData": false, + "originalName": "ExtVL 0", + "networkStoreKey": "ExtVL 0", + "trackById": "sf3zth68xjf", + "productFamilyId": "ebc3bc3d-62fd-4a3f-a037-f619df4ff034", + "lcpCloudRegionId": "hvf6", + "tenantId": "229bcdc6eaeb4ca59d55221141d01f8e", + "platformName": "xxx1", + "lineOfBusiness": "ONAP", + "instanceParams": [{}], + "modelInfo": { + "modelInvariantId": "379f816b-a7aa-422f-be30-17114ff50b7c", + "modelVersionId": "ddc3f20c-08b5-40fd-af72-c6d14636b986", + "modelName": "ExtVL", + "modelVersion": "37.0", + "modelCustomizationId": "94fdd893-4a36-4d70-b16a-ec29c54c184f", + "modelCustomizationName": "ExtVL 0", + "uuid": "ddc3f20c-08b5-40fd-af72-c6d14636b986" + }, + "uuid": "ddc3f20c-08b5-40fd-af72-c6d14636b986" + }, + "ExtVL 0:0001": { + "rollbackOnFailure": "true", + "isMissingData": false, + "originalName": "ExtVL 0", + "networkStoreKey": "ExtVL 0", + "trackById": "2mdxioxca9h", + "productFamilyId": "ebc3bc3d-62fd-4a3f-a037-f619df4ff034", + "lcpCloudRegionId": "hvf6", + "tenantId": "229bcdc6eaeb4ca59d55221141d01f8e", + "platformName": "xxx1", + "lineOfBusiness": "ONAP", + "instanceParams": [{}], + "modelInfo": { + "modelInvariantId": "379f816b-a7aa-422f-be30-17114ff50b7c", + "modelVersionId": "ddc3f20c-08b5-40fd-af72-c6d14636b986", + "modelName": "ExtVL", + "modelVersion": "37.0", + "modelCustomizationId": "94fdd893-4a36-4d70-b16a-ec29c54c184f", + "modelCustomizationName": "ExtVL 0", + "uuid": "ddc3f20c-08b5-40fd-af72-c6d14636b986" + }, + "uuid": "ddc3f20c-08b5-40fd-af72-c6d14636b986" + }, + "ExtVL 0_1": { + "rollbackOnFailure": "true", + "isMissingData": false, + "originalName": "ExtVL 0", + "networkStoreKey": "ExtVL 0_1", + "trackById": "z7vd1gmpbs", + "instanceName": "ExtVL", + "productFamilyId": "17cc1042-527b-11e6-beb8-9e71128cae77", + "lcpCloudRegionId": "hvf6", + "tenantId": "229bcdc6eaeb4ca59d55221141d01f8e", + "platformName": "xxx1", + "lineOfBusiness": "zzz1", + "instanceParams": [{ + "vnf_config_template_version": "17.2", + "bandwidth_units": "Gbps", + "bandwidth": "10", + "AIC_CLLI": "ATLMY8GA", + "ASN": "AV_vPE", + "vnf_instance_name": "yoav" + }], + "modelInfo": { + "modelInvariantId": "379f816b-a7aa-422f-be30-17114ff50b7c", + "modelVersionId": "ddc3f20c-08b5-40fd-af72-c6d14636b986", + "modelName": "ExtVL", + "modelVersion": "37.0", + "modelCustomizationId": "94fdd893-4a36-4d70-b16a-ec29c54c184f", + "modelCustomizationName": "ExtVL 0", + "uuid": "ddc3f20c-08b5-40fd-af72-c6d14636b986" + }, + "uuid": "ddc3f20c-08b5-40fd-af72-c6d14636b986" + } + }, + "vnfs": { + "2017-488_PASQUALE-vPE 0": { + "rollbackOnFailure": "true", + "vfModules": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1sgoqi": { + "instanceName": "yoav", + "volumeGroupName": "123", + "modelInfo": { + "modelInvariantId": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", + "modelVersionId": "25284168-24bb-4698-8cb4-3f509146eca5", + "modelName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", + "modelVersion": "6", + "modelCustomizationId": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", + "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", + "uuid": "25284168-24bb-4698-8cb4-3f509146eca5" + }, + "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", + "isMissingData": false, + "instanceParams": [{ + "pasqualevpe0_bandwidth": "10", + "2017488_pasqualevpe0_vnf_instance_name": "mtnj309me6", + "2017488_pasqualevpe0_vnf_config_template_version": "17.2", + "2017488_pasqualevpe0_AIC_CLLI": "ATLMY8GA", + "pasqualevpe0_bandwidth_units": "Gbps" + }] + } + } + }, + "isMissingData": false, + "originalName": "2017-488_PASQUALE-vPE 0", + "vnfStoreKey": "2017-488_PASQUALE-vPE 0", + "trackById": "o65b26t2thj", + "instanceName": "2017488_PASQUALEvPE", + "productFamilyId": "ebc3bc3d-62fd-4a3f-a037-f619df4ff034", + "lcpCloudRegionId": "hvf6", + "tenantId": "bae71557c5bb4d5aac6743a4e5f1d054", + "platformName": "platform", + "lineOfBusiness": "ONAP", + "instanceParams": [{}], + "modelInfo": { + "modelInvariantId": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", + "modelVersionId": "69e09f68-8b63-4cc9-b9ff-860960b5db09", + "modelName": "2017-488_PASQUALE-vPE", + "modelVersion": "5.0", + "modelCustomizationId": "1da7b585-5e61-4993-b95e-8e6606c81e45", + "modelCustomizationName": "2017-488_PASQUALE-vPE 0", + "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09" + }, + "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09" + } + }, + "instanceParams": [{"2017488_pasqualevpe0_ASN": "AV_vPE"}], + "validationCounter": 0, + "existingNames": {"123": "", "instancename": "", "yoav": "", "extvl": ""}, + "existingVNFCounterMap": {"69e09f68-8b63-4cc9-b9ff-860960b5db09": 1}, + "existingNetworksCounterMap": {"ddc3f20c-08b5-40fd-af72-c6d14636b986": 3}, + "instanceName": "InstanceName", + "globalSubscriberId": "e433710f-9217-458d-a79d-1c7aff376d89", + "subscriptionServiceType": "TYLER SILVIA", + "owningEntityId": "d61e6f2d-12fa-4cc2-91df-7c244011d6fc", + "productFamilyId": "17cc1042-527b-11e6-beb8-9e71128cae77", + "lcpCloudRegionId": "AAIAIC25", + "tenantId": "092eb9e8e4b7412e8787dd091bc58e86", + "aicZoneId": "JAG1", + "projectName": null, + "rollbackOnFailure": "true", + "aicZoneName": "YUDFJULP-JAG1", + "owningEntityName": "WayneHolland", + "testApi": "GR_API", + "tenantName": "USP-SIP-IC-24335-T-01", + "bulkSize": 1, + "modelInfo": { + "modelInvariantId": "e49fbd11-e60c-4a8e-b4bf-30fbe8f4fcc0", + "modelVersionId": "6b528779-44a3-4472-bdff-9cd15ec93450", + "modelName": "action-data", + "modelVersion": "1.0", + "uuid": "6b528779-44a3-4472-bdff-9cd15ec93450" + }, + "isALaCarte": false, + "name": "action-data", + "version": "1.0", + "description": "", + "category": "", + "uuid": "6b528779-44a3-4472-bdff-9cd15ec93450", + "invariantUuid": "e49fbd11-e60c-4a8e-b4bf-30fbe8f4fcc0", + "serviceType": "", + "serviceRole": "", + "isMultiStepDesign": false + } + }, + "lcpRegionsAndTenants": { + "lcpRegionList": [{ + "id": "AAIAIC25", + "name": "AAIAIC25", + "isPermitted": true + }, {"id": "hvf6", "name": "hvf6", "isPermitted": true}], + "lcpRegionsTenantsMap": { + "AAIAIC25": [{ + "id": "092eb9e8e4b7412e8787dd091bc58e86", + "name": "USP-SIP-IC-24335-T-01", + "isPermitted": true + }], + "hvf6": [{ + "id": "bae71557c5bb4d5aac6743a4e5f1d054", + "name": "AIN Web Tool-15-D-testalexandria", + "isPermitted": true + }, { + "id": "d0a3e3f2964542259d155a81c41aadc3", + "name": "test-hvf6-09", + "isPermitted": true + }, { + "id": "fa45ca53c80b492fa8be5477cd84fc2b", + "name": "ro-T112", + "isPermitted": true + }, { + "id": "4914ab0ab3a743e58f0eefdacc1dde77", + "name": "DN5242-Nov21-T1", + "isPermitted": true + }, { + "id": "d0a3e3f2964542259d155a81c41aadc3", + "name": "test-hvf6-09", + "isPermitted": true + }, {"id": "cbb99fe4ada84631b7baf046b6fd2044", "name": "DN5242-Nov16-T3", "isPermitted": true}] + } + }, + "productFamilies": [{ + "id": "ebc3bc3d-62fd-4a3f-a037-f619df4ff034", + "name": "ERICA", + "isPermitted": true + }, { + "id": "17cc1042-527b-11e6-beb8-9e71128cae77", + "name": "IGNACIO", + "isPermitted": true + }, { + "id": "36b4733a-53f4-4cc8-8ff0-9172e5fc4b8e", + "name": "Christie", + "isPermitted": true + }, { + "id": "a4f6f2ae-9bf5-4ed7-b904-06b2099c4bd7", + "name": "Enhanced Services", + "isPermitted": true + }, {"id": "vTerrance", "name": "vTerrance", "isPermitted": true}, { + "id": "323d69d9-2efe-4r45-ay0a-89ea7ard4e6f", + "name": "vEsmeralda", + "isPermitted": true + }, { + "id": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", + "name": "Emanuel", + "isPermitted": true + }, { + "id": "d8a6ed93-251c-47ca-adc9-86671fd19f4c", + "name": "BVOIP", + "isPermitted": true + }, {"id": "db171b8f-115c-4992-a2e3-ee04cae357e0", "name": "LINDSEY", "isPermitted": true}, { + "id": "LRSI-OSPF", + "name": "LRSI-OSPF", + "isPermitted": true + }, {"id": "vRosemarie", "name": "HNGATEWAY", "isPermitted": true}, { + "id": "vHNPaas", + "name": "WILKINS", + "isPermitted": true + }, { + "id": "e433710f-9217-458d-a79d-1c7aff376d89", + "name": "TYLER SILVIA", + "isPermitted": true + }, {"id": "b6a3f28c-eebf-494c-a900-055cc7c874ce", "name": "VROUTER", "isPermitted": true}, { + "id": "vMuriel", + "name": "vMuriel", + "isPermitted": true + }, { + "id": "0ee8c1bc-7cbd-4b0a-a1ac-e9999255abc1", + "name": "CARA Griffin", + "isPermitted": true + }, { + "id": "c7611ebe-c324-48f1-8085-94aef0c6ef3d", + "name": "DARREN MCGEE", + "isPermitted": true + }, {"id": "e30755dc-5673-4b6b-9dcf-9abdd96b93d1", "name": "Transport", "isPermitted": true}, { + "id": "vSalvatore", + "name": "vSalvatore", + "isPermitted": true + }, {"id": "d7bb0a21-66f2-4e6d-87d9-9ef3ced63ae4", "name": "JOSEFINA", "isPermitted": true}, { + "id": "vHubbard", + "name": "vHubbard", + "isPermitted": true + }, {"id": "12a96a9d-4b4c-4349-a950-fe1159602621", "name": "DARREN MCGEE", "isPermitted": true}], + "serviceTypes": { + "e433710f-9217-458d-a79d-1c7aff376d89": [{ + "id": "0", + "name": "vRichardson", + "isPermitted": false + }, {"id": "1", "name": "TYLER SILVIA", "isPermitted": true}, { + "id": "2", + "name": "Emanuel", + "isPermitted": false + }, {"id": "3", "name": "vJamie", "isPermitted": false}, { + "id": "4", + "name": "vVoiceMail", + "isPermitted": false + }, {"id": "5", "name": "Kennedy", "isPermitted": false}, { + "id": "6", + "name": "vPorfirio", + "isPermitted": false + }, {"id": "7", "name": "vVM", "isPermitted": false}, { + "id": "8", + "name": "vOTA", + "isPermitted": false + }, {"id": "9", "name": "vFLORENCE", "isPermitted": false}, { + "id": "10", + "name": "vMNS", + "isPermitted": false + }, {"id": "11", "name": "vEsmeralda", "isPermitted": false}, { + "id": "12", + "name": "VPMS", + "isPermitted": false + }, {"id": "13", "name": "vWINIFRED", "isPermitted": false}, { + "id": "14", + "name": "SSD", + "isPermitted": false + }, {"id": "15", "name": "vMOG", "isPermitted": false}, { + "id": "16", + "name": "LINDSEY", + "isPermitted": false + }, {"id": "17", "name": "JOHANNA_SANTOS", "isPermitted": false}, { + "id": "18", + "name": "vCarroll", + "isPermitted": false + }] + }, + "aicZones": [{ + "id": "NFT1", + "name": "NFTJSSSS-NFT1" + }, { + "id": "JAG1", + "name": "YUDFJULP-JAG1" + }, { + "id": "YYY1", + "name": "UUUAIAAI-YYY1" + }, { + "id": "AVT1", + "name": "AVTRFLHD-AVT1" + }, { + "id": "ATL34", + "name": "ATLSANAI-ATL34" + }], + "categoryParameters": { + "owningEntityList": [{ + "id": "aaa1", + "name": "aaa1" + }, {"id": "d61e6f2d-12fa-4cc2-91df-7c244011d6fc", "name": "WayneHolland"}, { + "id": "Melissa", + "name": "Melissa" + }], + "projectList": [{"id": "WATKINS", "name": "WATKINS"}, {"id": "x1", "name": "x1"}, {"id": "yyy1", "name": "yyy1"}], + "lineOfBusinessList": [{"id": "ONAP", "name": "ONAP"}, {"id": "zzz1", "name": "zzz1"}], + "platformList": [{"id": "platform", "name": "platform"}, {"id": "xxx1", "name": "xxx1"}] + }, + "type": "[LCP_REGIONS_AND_TENANTS] Update", + "subscribers": [{ + "id": "CAR_2020_ER", + "name": "CAR_2020_ER", + "isPermitted": true + }, { + "id": "21014aa2-526b-11e6-beb8-9e71128cae77", + "name": "JULIO ERICKSON", + "isPermitted": false + }, { + "id": "DHV1707-TestSubscriber-2", + "name": "DALE BRIDGES", + "isPermitted": false + }, {"id": "DHV1707-TestSubscriber-1", "name": "LLOYD BRIDGES", "isPermitted": false}, { + "id": "jimmy-example", + "name": "JimmyExampleCust-20161102", + "isPermitted": false + }, { + "id": "jimmy-example2", + "name": "JimmyExampleCust-20161103", + "isPermitted": false + }, { + "id": "ERICA5779-TestSub-PWT-102", + "name": "ERICA5779-TestSub-PWT-102", + "isPermitted": false + }, { + "id": "ERICA5779-TestSub-PWT-101", + "name": "ERICA5779-TestSub-PWT-101", + "isPermitted": false + }, { + "id": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", + "name": "Emanuel", + "isPermitted": false + }, { + "id": "ERICA5779-Subscriber-4", + "name": "ERICA5779-Subscriber-5", + "isPermitted": false + }, { + "id": "ERICA5779-TestSub-PWT-103", + "name": "ERICA5779-TestSub-PWT-103", + "isPermitted": false + }, { + "id": "ERICA5779-Subscriber-2", + "name": "ERICA5779-Subscriber-2", + "isPermitted": false + }, { + "id": "e433710f-9217-458d-a79d-1c7aff376d89", + "name": "SILVIA ROBBINS", + "isPermitted": true + }, { + "id": "ERICA5779-Subscriber-3", + "name": "ERICA5779-Subscriber-3", + "isPermitted": false + }, {"id": "31739f3e-526b-11e6-beb8-9e71128cae77", "name": "CRAIG/ROBERTS", "isPermitted": false}] + } + }; + } +} + +class MockFeatureFlagsService {} + +describe('VFModule popup service', () => { + let injector; + let service: VfModulePopupService; + let genericFormService: GenericFormService + let defaultDataGeneratorService: DefaultDataGeneratorService; + let fb: FormBuilder; + let iframeService: IframeService; + + beforeAll(done => (async () => { + TestBed.configureTestingModule({ + providers : [ + VfModulePopupService, + BasicControlGenerator, + VfModuleControlGenerator, + DefaultDataGeneratorService, + GenericFormService, + FormBuilder, + IframeService, + AaiService, + LogService, + BasicPopupService, + {provide:FeatureFlagsService, useClass: MockFeatureFlagsService}, + {provide: NgRedux, useClass: MockReduxStore}, + {provide: HttpClient, useClass: MockAppStore}, + {provide: SdcUiServices.ModalService, useClass: MockModalService} + ] + }); + await TestBed.compileComponents(); + + injector = getTestBed(); + service = injector.get(VfModulePopupService); + genericFormService = injector.get(GenericFormService); + defaultDataGeneratorService = injector.get(DefaultDataGeneratorService); + fb = injector.get(FormBuilder); + iframeService = injector.get(IframeService); + + })().then(done).catch(done.fail)); + + test('getTitle should return the correct title for edit and create mode', () => { + expect(service.getTitle(true)).toBe('Edit Module (Heat stack)'); + expect(service.getTitle(false)).toBe('Set new Module (Heat stack)'); + }); + + test('getInstance should return new VfModuleInstance', () => { + const serviceId : string = '6b528779-44a3-4472-bdff-9cd15ec93450'; + const vnfStoreKey = null; + const vfModuleStoreKey = "VF_vGeraldine 0"; + let VfModuleInstance ; + VfModuleInstance = service.getInstance(serviceId, vnfStoreKey, vfModuleStoreKey); + expect (VfModuleInstance).toBeDefined(); + }); + + test('getSubLeftTitle should return network model name', () => { + service.model = { + 'name' : 'Model name' + }; + expect(service.getSubLeftTitle()).toBe('Model name'); + }); + + test('getSubRightTitle should return popup type', () => { + expect(service.getSubRightTitle()).toBe('Module (Heat stack) Instance Details'); + }); + + test('getModelInformation should update modelInformations', () => { + const serviceId: string = '6b528779-44a3-4472-bdff-9cd15ec93450'; + const vfModuleModelName: string = '2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1'; + + service.getModelInformation(serviceId, vfModuleModelName); + expect(service.modelInformations.length).toEqual(15); + expect(service.modelInformations[0].label).toEqual("Subscriber Name"); + expect(service.modelInformations[0].values).toEqual(['SILVIA ROBBINS']); + + expect(service.modelInformations[1].label).toEqual("Service Name"); + expect(service.modelInformations[1].values).toEqual(['action-data']); + + expect(service.modelInformations[2].label).toEqual("Service Instance Name"); + expect(service.modelInformations[2].values).toEqual(['InstanceName']); + + expect(service.modelInformations[3].label).toEqual("Model Name"); + expect(service.modelInformations[3].values).toEqual(['2017488PasqualeVpe..PASQUALE_vRE_BV..module-1']); + + expect(service.modelInformations[4].label).toEqual("Model version"); + expect(service.modelInformations[4].values).toEqual(['6']); + + expect(service.modelInformations[5].label).toEqual("Description"); + expect(service.modelInformations[5].values).toEqual([null]); + + expect(service.modelInformations[6].label).toEqual("Category"); + expect(service.modelInformations[6].values).toEqual([undefined]); + + expect(service.modelInformations[7].label).toEqual("Sub Category"); + expect(service.modelInformations[7].values).toEqual([undefined]); + + expect(service.modelInformations[8].label).toEqual("UUID"); + expect(service.modelInformations[8].values).toEqual(['25284168-24bb-4698-8cb4-3f509146eca5']); + + expect(service.modelInformations[9].label).toEqual("Invariant UUID"); + expect(service.modelInformations[9].values).toEqual(['7253ff5c-97f0-4b8b-937c-77aeb4d79aa1']); + + expect(service.modelInformations[10].label).toEqual("Service type"); + expect(service.modelInformations[10].values).toEqual(['']); + + expect(service.modelInformations[11].label).toEqual("Service role"); + expect(service.modelInformations[11].values).toEqual(['']); + + expect(service.modelInformations[12].label).toEqual("Minimum to instantiate"); + expect(service.modelInformations[12].values).toEqual(['0']); + + expect(service.modelInformations[13].label).toEqual("Maximum to instantiate"); + expect(service.modelInformations[13].values).toEqual(['1']); + }); + + + test('onCancel should trigger closeDialogEvent and iframe', () => { + let that = { + parentElementClassName: 'content', + _iframeService: iframeService + }; + jest.spyOn(iframeService, 'removeClassCloseModal'); + jest.spyOn(service.closeDialogEvent, 'next'); + + service.onCancel(that, fb.group({})); + + expect(that._iframeService.removeClassCloseModal).toHaveBeenCalledWith(that.parentElementClassName) + expect(service.closeDialogEvent.next).toHaveBeenCalledWith(that); + }); + + test('onSubmit should trigger onCancel', () => { + let that = { + parentElementClassName: 'content', + _iframeService: iframeService, + storeVFModule: () => { + }, + serviceModel: { + uuid: 'someUUID' + } + }; + let form = fb.group({}); + jest.spyOn(service, 'onCancel'); + jest.spyOn(that, 'storeVFModule'); + jest.spyOn(window.parent, 'postMessage'); + + service.onSubmit(that, form); + + expect(service.onCancel).toHaveBeenCalledWith(that, form); + expect(that.storeVFModule).toHaveBeenCalledWith(that, form.value); + expect(window.parent.postMessage).toHaveBeenCalledWith({ + eventId: 'submitIframe', + data: { + serviceModelId: 'someUUID' + } + }, "*"); + }); +}); diff --git a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModule/vfModule.popup.service.ts b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModule/vfModule.popup.service.ts new file mode 100644 index 000000000..6a31bb7ee --- /dev/null +++ b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModule/vfModule.popup.service.ts @@ -0,0 +1,210 @@ +import {Injectable} from "@angular/core"; +import {FormPopupDetails, PopupType} from "../../../../models/formControlModels/formPopupDetails.model"; +import {BasicControlGenerator} from "../../../genericForm/formControlsServices/basic.control.generator"; +import {AppState} from "../../../../store/reducers"; +import {NgRedux} from "@angular-redux/store"; +import {ITreeNode} from "angular-tree-component/dist/defs/api"; +import {ModelInformationItem} from "../../../model-information/model-information.component"; +import {Constants} from "../../../../utils/constants"; +import {AaiService} from "../../../../services/aaiService/aai.service"; +import {ServiceModel} from "../../../../models/serviceModel"; +import {FormGroup} from "@angular/forms"; +import {ModelInfo} from "../../../../models/modelInfo"; +import {IframeService} from "../../../../utils/iframe.service"; +import {GenericPopupInterface} from "../generic-popup.interface"; +import {Subject} from "rxjs/Subject"; +import {DefaultDataGeneratorService} from "../../../../services/defaultDataServiceGenerator/default.data.generator.service"; +import {BasicPopupService} from "../basic.popup.service"; +import {VfModuleInstance} from "../../../../models/vfModuleInstance"; +import {VfModuleControlGenerator} from "../../../genericForm/formControlsServices/vfModuleGenerator/vfModule.control.generator"; +import {FormControlModel} from "../../../../models/formControlModels/formControl.model"; +import * as _ from 'lodash'; +import {createVFModuleInstance, updateVFModuleInstance} from "../../../../storeUtil/utils/vfModule/vfModule.actions"; + +export abstract class VfModulePopupServiceBase { + dynamicInputs: any; + instance: any; + model: any; + serviceModel: ServiceModel; + modelInformations: ModelInformationItem[] = []; + uuidData: Object; + closeDialogEvent: Subject = new Subject(); + isUpdateMode: boolean; + storeVFModule = (that, formValues: any): void => { + formValues.modelInfo = new ModelInfo(that.model); + formValues.uuid = formValues.modelInfo.uuid; + formValues.isMissingData = false; + + if (!that.uuidData.vFModuleStoreKey) { + this._store.dispatch(createVFModuleInstance(formValues, that.uuidData.modelName, that.uuidData.serviceId, 0, that.uuidData.vnfStoreKey)); + } else { + this._store.dispatch(updateVFModuleInstance(formValues, that.uuidData.modelName, that.uuidData.serviceId, that.uuidData.vFModuleStoreKey, that.uuidData.vnfStoreKey)); + } + }; + + protected constructor( + protected _basicControlGenerator: BasicControlGenerator, + protected _vfModuleControlGenerator: VfModuleControlGenerator, + protected _iframeService: IframeService, + protected _defaultDataGeneratorService: DefaultDataGeneratorService, + protected _aaiService: AaiService, + protected _basicPopupService: BasicPopupService, + protected _store: NgRedux) { + } + + getInstance(serviceId: string, vnfStoreKey: string, vfModuleStoreKey: string): any { + if (_.isNil(vnfStoreKey) || _.isNil(vfModuleStoreKey)) { + return new VfModuleInstance(); + } + const vfModules = this._store.getState().service.serviceInstance[serviceId].vnfs[vnfStoreKey].vfModules; + return vfModules[this.uuidData['modelName']][vfModuleStoreKey]; + } + + getModelInformation(serviceId: string, modelName: string) { + this._aaiService.getServiceModelById(serviceId).subscribe((result: any) => { + this.serviceModel = new ServiceModel(result); + + this.model = this._basicPopupService.getModelFromResponse(result, 'vfModules', modelName); + const serviceInstance = this._store.getState().service.serviceInstance[serviceId]; + this.modelInformations = [ + new ModelInformationItem("Subscriber Name", "subscriberName", [this._basicPopupService.extractSubscriberNameBySubscriberId(serviceInstance.globalSubscriberId)], "", true), + new ModelInformationItem("Service Name", "serviceModelName", [this.serviceModel.name], "", true), + new ModelInformationItem("Service Instance Name", "serviceName", [serviceInstance.instanceName], "", false), + new ModelInformationItem("Model Name", "modelName", [this.model.name], "", true), + new ModelInformationItem("Model version", "modelVersion", [this.model.version], "", true), + new ModelInformationItem("Description", "description", [this.model.description]), + new ModelInformationItem("Category", "category", [this.model.category]), + new ModelInformationItem("Sub Category", "subCategory", [this.model.subCategory]), + new ModelInformationItem("UUID", "uuid", [this.model.uuid], Constants.ServicePopup.TOOLTIP_UUID, true), + new ModelInformationItem("Invariant UUID", "invariantUuid", [this.model.invariantUuid], Constants.ServicePopup.TOOLTIP_INVARIANT_UUID, true), + new ModelInformationItem("Service type", "serviceType", [this.serviceModel.serviceType]), + new ModelInformationItem("Service role", "serviceRole", [this.serviceModel.serviceRole]), + new ModelInformationItem("Minimum to instantiate", "min", this.model.min == undefined ? ['0'] : [this.model.min.toString()], "", true), + this._basicPopupService.createMaximumToInstantiateModelInformationItem(this.model), + new ModelInformationItem("Recommended to instantiate", "initial", [this.model.initial]) + ]; + }); + } + + protected postSubmitIframeMessage(that) { + window.parent.postMessage({ + eventId: 'submitIframe', + data: { + serviceModelId: that.serviceModel.uuid + } + }, "*"); + } + + onCancel(that, form) { + form.reset(); + that._iframeService.removeClassCloseModal('content'); + this.closeDialogEvent.next(that); + } + + getSubLeftTitle(): string { + return this.model.name; + } + + getSubRightTitle(): string { + return "Module (Heat stack) Instance Details"; + } + + abstract getTitle(isUpdateMode : boolean) : string; + abstract getControls(serviceId: string, vnfStoreKey: string, vfModuleStoreKey: string, isUpdateMode: boolean); + abstract getDynamicInputs(UUIDData : Object) : FormControlModel[]; + + getGenericFormPopupDetails(serviceId: string, vnfStoreKey: string, vfModuleStoreKey: string, node: ITreeNode, uuidData: Object, isUpdateMode: boolean): FormPopupDetails { + + this.uuidData = uuidData; + this.instance = this.getInstance(serviceId, vnfStoreKey, vfModuleStoreKey); + this.getModelInformation(serviceId, uuidData['modelName']); + + return new FormPopupDetails(this, + PopupType.VFMODULE, + uuidData, + this.getTitle(isUpdateMode), + this.getSubLeftTitle(), + this.getSubRightTitle(), + this.getControls(serviceId, vnfStoreKey, vfModuleStoreKey, isUpdateMode), + this.getDynamicInputs(uuidData), + this.modelInformations, + (that, form: FormGroup) => { + that.onSubmit(that, form); + }, + (that: any, form: FormGroup) => { + that.onCancel(that, form); + } + ); + } + + updateFormValueWithSupplementaryFile(form: FormGroup, that) { + if (!_.isNil(form.controls['supplementaryFile_hidden_content']) && form.controls['supplementaryFile_hidden_content'].value) { + form.value['supplementaryFileContent'] = JSON.parse(form.controls['supplementaryFile_hidden_content'].value); + if (!_.isNil(form.controls['supplementaryFile_hidden'].value)) { + form.value['supplementaryFileName'] = form.controls['supplementaryFile_hidden'].value.name; + } else { + form.value['supplementaryFileName'] = that.instance.supplementaryFileName; + } + } else { + delete form.value['supplementaryFileContent']; + delete form.value['supplementaryFileName']; + } + } +} + +@Injectable() +export class VfModulePopupService extends VfModulePopupServiceBase implements GenericPopupInterface { + + + constructor(_basicControlGenerator: BasicControlGenerator, + _vfModuleControlGenerator: VfModuleControlGenerator, + _iframeService: IframeService, + _defaultDataGeneratorService: DefaultDataGeneratorService, + _aaiService: AaiService, + _basicPopupService : BasicPopupService, + _store: NgRedux) { + super(_basicControlGenerator, _vfModuleControlGenerator, _iframeService, _defaultDataGeneratorService, _aaiService, _basicPopupService, _store); + + } + + getDynamicInputs(UUIDData : Object) : FormControlModel[]{ + let dynamic = this._defaultDataGeneratorService.getArbitraryInputs(this._store.getState().service.serviceHierarchy[UUIDData['serviceId']].vfModules[UUIDData['modelName']].inputs); + return this.getVFModuleDynamicInputs(dynamic, UUIDData); + } + + getVFModuleDynamicInputs(dynamicInputs : any, UUIDData : Object) : FormControlModel[] { + let result : FormControlModel[] = []; + if(dynamicInputs) { + let vfModuleInstance = null; + if (_.has(this._store.getState().service.serviceInstance[UUIDData['serviceId']].vnfs, UUIDData['vnfStoreKey']) && + _.has(this._store.getState().service.serviceInstance[UUIDData['serviceId']].vnfs[UUIDData['vnfStoreKey']].vfModules, UUIDData['modelName'])) { + vfModuleInstance = Object.assign({},this._store.getState().service.serviceInstance[UUIDData['serviceId']].vnfs[UUIDData['vnfStoreKey']].vfModules[UUIDData['modelName']][UUIDData['vfModuleStoreKey']]); + } + result = this._basicControlGenerator.getDynamicInputs(dynamicInputs, vfModuleInstance); + } + return result; + } + + + getControls(serviceId: string, vnfStoreKey: string, vfModuleStoreKey: string, isUpdateMode: boolean) { + if (this._store.getState().service.serviceHierarchy[serviceId].service.vidNotions.instantiationType === 'Macro') { + return this._vfModuleControlGenerator.getMacroFormControls(serviceId, vnfStoreKey, vfModuleStoreKey, this.uuidData, isUpdateMode); + } else { + return this._vfModuleControlGenerator.getAlaCarteFormControls(serviceId, vnfStoreKey, vfModuleStoreKey, this.uuidData, isUpdateMode); + } + } + + + onSubmit(that, form: FormGroup) { + form.value['instanceParams'] = form.value['instanceParams'] && [form.value['instanceParams']]; + this.updateFormValueWithSupplementaryFile(form, that); + that.storeVFModule(that, form.value); + this.postSubmitIframeMessage(that); + this.onCancel(that, form); + } + + getTitle(isUpdateMode : boolean) : string { + return isUpdateMode ? 'Edit Module (Heat stack)' : 'Set new Module (Heat stack)'; + } + +} diff --git a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModuleUpgrade/vfModule.upgrade.popuop.service.ts b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModuleUpgrade/vfModule.upgrade.popuop.service.ts index bbfe8705e..667e79678 100644 --- a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModuleUpgrade/vfModule.upgrade.popuop.service.ts +++ b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModuleUpgrade/vfModule.upgrade.popuop.service.ts @@ -1,7 +1,7 @@ import {Injectable} from "@angular/core"; import {ITreeNode} from "angular-tree-component/dist/defs/api"; import {FormGroup} from "@angular/forms"; -import {VfModulePopupServiceBase} from "../vfModule/vfModule.popuop.service"; +import {VfModulePopupServiceBase} from "../vfModule/vfModule.popup.service"; import {upgradeVFModule} from "../../../../storeUtil/utils/vfModule/vfModule.actions"; import {SharedTreeService} from "../../../../../drawingBoard/service-planning/objectsToTree/shared.tree.service"; import {NgRedux} from "@angular-redux/store"; @@ -16,11 +16,12 @@ import {FormControlModel} from "../../../../models/formControlModels/formControl import {CheckboxFormControl} from "../../../../models/formControlModels/checkboxFormControl.model"; import {FormControlType} from "../../../../models/formControlModels/formControlTypes.enum"; import {mergeObjectByPathAction} from "../../../../storeUtil/utils/general/general.actions"; +import * as _ from "lodash"; +import {VfModuleInstance} from "../../../../models/vfModuleInstance"; export enum UpgradeFormControlNames { RETAIN_VOLUME_GROUPS = 'retainVolumeGroups', RETAIN_ASSIGNMENTS = 'retainAssignments', - SDN_C_PRE_LOAD = 'sdncPreLoad', } @Injectable() @@ -43,11 +44,12 @@ export class VfModuleUpgradePopupService extends VfModulePopupServiceBase { getControls(serviceId: string, vnfStoreKey: string, vfModuleStoreKey: string, isUpdateMode: boolean): FormControlModel[] { let result: FormControlModel[] =[ this.getRetainAssignmentsControl(), - this.getRetainVolumeGroupsControl(), this._basicControlGenerator.getSDNCControl(null) ]; - - const vfModuleInstance = this._vfModuleControlGenerator.getVfModuleInstance(serviceId, vnfStoreKey, this.uuidData, isUpdateMode); + const vfModuleInstance :VfModuleInstance = this._vfModuleControlGenerator.getVfModuleInstance(serviceId, vnfStoreKey, this.uuidData, isUpdateMode); + if(this._store.getState().service.serviceHierarchy[serviceId].vfModules[this.uuidData['modelName']].volumeGroupAllowed){ + result.push(this.getRetainVolumeGroupsControl()); + } result = this._basicControlGenerator.concatSupplementaryFile(result, vfModuleInstance); return result; }; diff --git a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModuleUpgrade/vfModule.upgrade.popup.service.spec.ts b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModuleUpgrade/vfModule.upgrade.popup.service.spec.ts index 7c1cc084a..4003b4dcc 100644 --- a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModuleUpgrade/vfModule.upgrade.popup.service.spec.ts +++ b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModuleUpgrade/vfModule.upgrade.popup.service.spec.ts @@ -1,6 +1,10 @@ import {LogService} from "../../../../utils/log/log.service"; import {NgRedux} from "@angular-redux/store"; -import {BasicControlGenerator, SDN_C_PRE_LOAD, SUPPLEMENTARY_FILE} from "../../../genericForm/formControlsServices/basic.control.generator"; +import { + BasicControlGenerator, + SDN_C_PRE_LOAD, + SUPPLEMENTARY_FILE +} from "../../../genericForm/formControlsServices/basic.control.generator"; import {AaiService} from "../../../../services/aaiService/aai.service"; import {HttpClient} from "@angular/common/http"; import {GenericFormService} from "../../../genericForm/generic-form.service"; @@ -20,6 +24,7 @@ import {GeneralActions} from "../../../../storeUtil/utils/general/general.action import {VfModuleActions} from "../../../../storeUtil/utils/vfModule/vfModule.actions"; import {ServiceActions} from "../../../../storeUtil/utils/service/service.actions"; import {FormControlModel} from "../../../../models/formControlModels/formControl.model"; +import * as _ from "lodash"; class MockModalService {} @@ -29,6 +34,15 @@ class MockReduxStore { getState() { return { service: { + serviceHierarchy: { + serviceId: { + vfModules: { + vfModuleName: { + volumeGroupAllowed: true + } + } + } + }, serviceInstance : { serviceId : { vnfs : { @@ -40,7 +54,6 @@ class MockReduxStore { }}}}}}}} }; } - dispatch() {} } @@ -101,19 +114,31 @@ describe('VFModule popup service', () => { }); } - function getControlByNameAndCheckValue(controlName: string, expectedValue: any) { + function getControlByNameAndCheckValue(controlName: string, expectedValue: any, shouldControllerExist: boolean) { const controls = service.getControls('serviceId', 'vnfStoreKey', 'vfModuleId', true); const control = findControlByName(controls, controlName); - expect(control).toBeDefined(); - expect(control.value).toEqual(expectedValue); + if(shouldControllerExist){ + expect(control).toBeDefined(); + expect(control.value).toEqual(expectedValue); + } + else{ + expect(control).toBeUndefined(); + } } test('get controls should return retainAssignments control with true value', ()=> { - getControlByNameAndCheckValue(UpgradeFormControlNames.RETAIN_ASSIGNMENTS, true); + getControlByNameAndCheckValue(UpgradeFormControlNames.RETAIN_ASSIGNMENTS, true, true); }); test('get controls should return retainVolumeGroup control with true value', ()=> { - getControlByNameAndCheckValue(UpgradeFormControlNames.RETAIN_VOLUME_GROUPS, true); + getControlByNameAndCheckValue(UpgradeFormControlNames.RETAIN_VOLUME_GROUPS, true, true); + }); + + test('get controls should NOT return retainVolumeGroup control with true value', ()=> { + let stateCopy =_.cloneDeep(store.getState()); + stateCopy.service.serviceHierarchy['serviceId'].vfModules['vfModuleName'].volumeGroupAllowed = false; + jest.spyOn(store, 'getState').mockReturnValue(stateCopy); + getControlByNameAndCheckValue(UpgradeFormControlNames.RETAIN_VOLUME_GROUPS, null, false); }); test('get controls should contain SUPPLEMENTARY_FILE controller', ()=> { @@ -196,6 +221,6 @@ describe('VFModule popup service', () => { test( 'get controls should return usePreload with false value', () => { - getControlByNameAndCheckValue(SDN_C_PRE_LOAD, false); + getControlByNameAndCheckValue(SDN_C_PRE_LOAD, false, true); }); }); diff --git a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vnf/vnf.popup.service.spec.ts b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vnf/vnf.popup.service.spec.ts index 2f1904468..60f0f361e 100644 --- a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vnf/vnf.popup.service.spec.ts +++ b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vnf/vnf.popup.service.spec.ts @@ -1,7 +1,7 @@ import {DefaultDataGeneratorService} from "../../../../services/defaultDataServiceGenerator/default.data.generator.service"; import {NgRedux} from "@angular-redux/store"; import {IframeService} from "../../../../utils/iframe.service"; -import {VfModulePopuopService} from "../vfModule/vfModule.popuop.service"; +import {VfModulePopupService} from "../vfModule/vfModule.popup.service"; import {FormBuilder} from "@angular/forms"; import {GenericFormService} from "../../../genericForm/generic-form.service"; import {BasicPopupService} from "../basic.popup.service"; @@ -2258,7 +2258,7 @@ describe('vnf new popup service', () => { AaiService, LogService, BasicPopupService, - VfModulePopuopService, + VfModulePopupService, VfModuleUpgradePopupService, BasicControlGenerator, VnfControlGenerator, diff --git a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vnfGroup/vnfGroup.popup.service.spec.ts b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vnfGroup/vnfGroup.popup.service.spec.ts index 3a81e5b2b..8ee48e675 100644 --- a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vnfGroup/vnfGroup.popup.service.spec.ts +++ b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vnfGroup/vnfGroup.popup.service.spec.ts @@ -1,7 +1,7 @@ import {DefaultDataGeneratorService} from "../../../../services/defaultDataServiceGenerator/default.data.generator.service"; import {NgRedux} from "@angular-redux/store"; import {IframeService} from "../../../../utils/iframe.service"; -import {VfModulePopuopService} from "../vfModule/vfModule.popuop.service"; +import {VfModulePopupService} from "../vfModule/vfModule.popup.service"; import {FormBuilder} from "@angular/forms"; import {GenericFormService} from "../../../genericForm/generic-form.service"; import {BasicPopupService} from "../basic.popup.service"; @@ -2255,7 +2255,7 @@ describe('vnf group new popup service', () => { AaiService, LogService, BasicPopupService, - VfModulePopuopService, + VfModulePopupService, VfModuleUpgradePopupService, BasicControlGenerator, VnfGroupControlGenerator, -- cgit 1.2.3-korg