summaryrefslogtreecommitdiffstats
path: root/ms/generic-resource-api/src/test/resources
diff options
context:
space:
mode:
authorDan Timoney <dtimoney@att.com>2020-06-24 08:14:17 -0400
committerDan Timoney <dtimoney@att.com>2020-07-02 13:46:57 -0400
commitfc24231f90399ee7c6395dd5b6d6da7b703a695a (patch)
tree6e303d05918c21701ca29c3c83a1555f1c2c4ddf /ms/generic-resource-api/src/test/resources
parent8bb4278a79901f23216b61555ab8e6a3830fcd6a (diff)
Add REST CRUD ops for service data
Add REST Create/Read/Update/Delete for service data Change-Id: Ie22e8a82afa6b50c4a9fbe80ec792996e377abed Issue-ID: SDNC-1213 Signed-off-by: Dan Timoney <dtimoney@att.com>
Diffstat (limited to 'ms/generic-resource-api/src/test/resources')
-rw-r--r--ms/generic-resource-api/src/test/resources/application.properties20
-rw-r--r--ms/generic-resource-api/src/test/resources/preload.data518
-rw-r--r--ms/generic-resource-api/src/test/resources/preload1-net-list-item.json81
-rw-r--r--ms/generic-resource-api/src/test/resources/preload1-net-model-info.json (renamed from ms/generic-resource-api/src/test/resources/preload1.json)2
-rw-r--r--ms/generic-resource-api/src/test/resources/preload1-net-preload-data.json78
-rw-r--r--ms/generic-resource-api/src/test/resources/preload1-rpc-network.json (renamed from ms/generic-resource-api/src/test/resources/preload-net.json)2
-rw-r--r--ms/generic-resource-api/src/test/resources/preload1-rpc-vfmodule.json (renamed from ms/generic-resource-api/src/test/resources/preload-vfmodule.json)2
-rw-r--r--ms/generic-resource-api/src/test/resources/preload2-net-list-item.json81
-rw-r--r--ms/generic-resource-api/src/test/resources/preload2-net-model-info.json84
-rw-r--r--ms/generic-resource-api/src/test/resources/service1-servicedata.json221
-rw-r--r--ms/generic-resource-api/src/test/resources/service1-serviceitem.json233
-rw-r--r--ms/generic-resource-api/src/test/resources/service1-servicestatus.json10
-rw-r--r--ms/generic-resource-api/src/test/resources/service1.json236
-rw-r--r--ms/generic-resource-api/src/test/resources/svclogic.properties29
14 files changed, 1076 insertions, 521 deletions
diff --git a/ms/generic-resource-api/src/test/resources/application.properties b/ms/generic-resource-api/src/test/resources/application.properties
new file mode 100644
index 0000000..04538f1
--- /dev/null
+++ b/ms/generic-resource-api/src/test/resources/application.properties
@@ -0,0 +1,20 @@
+springfox.documentation.swagger.v2.path=/api-docs
+server.servlet.context-path=/restconf
+server.port=8080
+spring.jackson.date-format=org.onap.sdnc.apps.ms.gra.swagger.RFC3339DateFormat
+spring.jackson.serialization.WRITE_DATES_AS_TIMESTAMPS=false
+logging.level.com.att=TRACE
+logging.level.org.onap=TRACE
+spring.datasource.url=jdbc:derby:memory:sdnctl;create=true
+spring.datasource.username=sdnc
+spring.datasource.password=abc123
+spring.datasource.driver-class-name=org.apache.derby.jdbc.EmbeddedDriver
+spring.datasource.testWhileIdle=true
+spring.datasource.validationQuery=SELECT 1
+spring.jpa.show-sql=true
+spring.jpa.hibernate.ddl-auto=update
+spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyHbmImpl
+# spring.jpa.hibernate.naming.physical-strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy
+spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
+spring.jpa.database=derby
+serviceLogicProperties=src/test/resources/svclogic.properties \ No newline at end of file
diff --git a/ms/generic-resource-api/src/test/resources/preload.data b/ms/generic-resource-api/src/test/resources/preload.data
deleted file mode 100644
index d1e52f5..0000000
--- a/ms/generic-resource-api/src/test/resources/preload.data
+++ /dev/null
@@ -1,518 +0,0 @@
-{
- "preload-list": [
- {
- "preload-data": {
- "preload-network-topology-information": {
- "host-routes": null,
- "network-policy": null,
- "network-topology-identifier-structure": {
- "related-networks": null,
- "network-role": "master",
- "is-trunked": false,
- "network-technology": "AI",
- "network-id": "123",
- "eipam-v4-address-plan": "evilv4",
- "network-instance-group-id": null,
- "network-name": "sky-net",
- "segmentation-id": null,
- "eipam-v6-address-plan": "evilv6",
- "network-type": "evil"
- },
- "physical-network-name": null,
- "is-external-network": null,
- "is-shared-network": null,
- "is-provider-network": null,
- "route-table-reference": null,
- "subnets": null,
- "vpn-bindings": null
- },
- "preload-oper-status": null,
- "preload-vf-module-topology-information": null
- },
- "preload-type": "network",
- "preload-id": "preload1"
- },
- {
- "preload-data": {
- "preload-network-topology-information": {
- "host-routes": [
- {
- "route-prefix": "12",
- "next-hop": "10.1.12.1"
- }
- ],
- "network-policy": [
- {
- "network-policy-fqdn": "policy-sdnc.onap.org",
- "network-policy-id": "123"
- }
- ],
- "network-topology-identifier-structure": {
- "related-networks": {
- "related-network": [
- {
- "vlan-tags": {
- "is-private": true,
- "vlan-interface": "string",
- "upper-tag-id": 0,
- "lower-tag-id": 0
- },
- "network-role": "string",
- "network-id": "string"
- }
- ]
- },
- "network-role": "secret",
- "is-trunked": true,
- "network-technology": "soupcan",
- "network-id": "321",
- "eipam-v4-address-plan": "plan9",
- "network-instance-group-id": "abc123",
- "network-name": "syfy",
- "segmentation-id": "string",
- "eipam-v6-address-plan": "plan9v6",
- "network-type": "fake"
- },
- "physical-network-name": "string",
- "is-external-network": true,
- "is-shared-network": true,
- "is-provider-network": true,
- "route-table-reference": [
- {
- "route-table-reference-id": "string",
- "route-table-reference-fqdn": "string"
- }
- ],
- "subnets": [
- {
- "subnet-role": "string",
- "cidr-mask": "string",
- "subnet-sequence": 0,
- "addr-from-start": "Y",
- "dhcp-start-address": "string",
- "gateway-address": "string",
- "dhcp-end-address": "string",
- "ip-version": "string",
- "start-address": "string",
- "dhcp-enabled": "Y",
- "subnet-name": "string"
- }
- ],
- "vpn-bindings": [
- {
- "vpn-name": "string",
- "vpn-binding-id": "string",
- "route-target-role": "string",
- "aic-zone": "string",
- "global-route-target": "string"
- }
- ]
- },
- "preload-oper-status": null,
- "preload-vf-module-topology-information": null
- },
- "preload-type": null,
- "preload-id": null
- },
- {
- "preload-data": {
- "preload-network-topology-information": null,
- "preload-oper-status": null,
- "preload-vf-module-topology-information": {
- "vf-module-topology": {
- "onap-model-information": {
- "model-name": "string",
- "model-version": "string",
- "model-customization-uuid": "string",
- "model-uuid": "string",
- "model-invariant-uuid": "string"
- },
- "aic-clli": "string",
- "aic-cloud-region": "string",
- "cloud-owner": "string",
- "tenant": "string",
- "vf-module-assignments": {
- "vlan-vnfc-instance-groups": {
- "vlan-vnfc-instance-group": [
- {
- "vnf-id": "string",
- "vnfcs": {
- "vnfc": [
- {
- "vnic-groups": {
- "vnic-group": [
- {
- "vlan-vnics": {
- "vlan-vnic": [
- {
- "vnic-sub-interfaces": {
- "sub-interface-network-data": [
- {
- "network-role": "string",
- "floating-ips": {
- "floating-ip-v4": [
- "string"
- ],
- "floating-ip-v6": [
- "string"
- ]
- },
- "network-id": "string",
- "network-information-items": {
- "network-information-item": [
- {
- "ip-version": "string",
- "network-ips": {
- "network-ip": [
- "string"
- ]
- },
- "ip-count": 0,
- "use-dhcp": "Y"
- }
- ]
- },
- "neutron-network-id": "string",
- "network-name": 0,
- "network-role-tag": "string",
- "vlan-tag-id": 0
- }
- ]
- },
- "vnic-port-id": "string"
- }
- ]
- },
- "vlan-assignment-policy-name": "string",
- "vlan-common-ip-addresses": {
- "ip-addresses": {
- "vipv6-address": "string",
- "ipv4-address": "string",
- "vipv4-address": "string",
- "ipv6-address": "string"
- }
- },
- "network-instance-group-function": "string",
- "vlan-tag-index-next": 0,
- "vnic-interface-role": "string"
- }
- ]
- },
- "vnfc-name": "string"
- }
- ]
- },
- "instance-group-id": "string",
- "instance-group-function": "string"
- }
- ]
- },
- "vf-module-status": "string",
- "vms": {
- "vm": [
- {
- "onap-model-information": {
- "model-name": "string",
- "model-version": "string",
- "model-customization-uuid": "string",
- "model-uuid": "string",
- "model-invariant-uuid": "string"
- },
- "vm-type": "string",
- "vm-names": {
- "vnfc-names": [
- {
- "vnfc-networks": {
- "vnfc-network-data": [
- {
- "connection-point": {
- "vlan-data": [
- {
- "vlan-tag-description": "string",
- "vlan-uuid": "string",
- "vlan-role": "string",
- "vlan-tag-id": "string"
- }
- ],
- "port-id": "string",
- "connection-point-id": "string"
- },
- "vnfc-ports": {
- "vnfc-port": [
- {
- "vnfc-port-id": "string",
- "vnic-sub-interfaces": {
- "sub-interface-network-data": [
- {
- "network-role": "string",
- "floating-ips": {
- "floating-ip-v4": [
- "string"
- ],
- "floating-ip-v6": [
- "string"
- ]
- },
- "network-id": "string",
- "network-information-items": {
- "network-information-item": [
- {
- "ip-version": "string",
- "network-ips": {
- "network-ip": [
- "string"
- ]
- },
- "ip-count": 0,
- "use-dhcp": "Y"
- }
- ]
- },
- "neutron-network-id": "string",
- "network-name": 0,
- "network-role-tag": "string",
- "vlan-tag-id": 0
- }
- ]
- },
- "common-sub-interface-role": "string"
- }
- ]
- },
- "vnfc-type": "string",
- "vnfc-subnet": [
- {
- "vnfc-subnet-role": "string",
- "vnfc-ip-assignments": [
- {
- "vnfc-subnet-dhcp": "Y",
- "vnfc-address-family": "ipv4",
- "vnfc-subnet-ip": [
- {
- "vnfc-ip-address": "string",
- "vnfc-client-key": "string",
- "ip-type": "FIXED"
- }
- ],
- "vnfc-subnet-ip-count": 0
- }
- ]
- }
- ],
- "vnfc-network-role": "string"
- }
- ]
- },
- "vnfc-name": "string"
- }
- ],
- "vm-name": [
- "string"
- ]
- },
- "vm-type-tag": "string",
- "vm-count": 0,
- "vm-networks": {
- "vm-network": [
- {
- "related-networks": {
- "related-network": [
- {
- "vlan-tags": {
- "is-private": true,
- "vlan-interface": "string",
- "upper-tag-id": 0,
- "lower-tag-id": 0
- },
- "network-role": "string",
- "network-id": "string"
- }
- ]
- },
- "network-role": "string",
- "is-trunked": true,
- "floating-ips": {
- "floating-ip-v4": [
- "string"
- ],
- "floating-ip-v6": [
- "string"
- ]
- },
- "sriov-parameters": {
- "application-tags": {
- "stags": {
- "stag": [
- "string"
- ],
- "s-tag": [
- "string"
- ]
- },
- "ctags": {
- "ctag": [
- "string"
- ],
- "c-tag": [
- "string"
- ]
- },
- "s-tags": {
- "stag": [
- "string"
- ],
- "s-tag": [
- "string"
- ]
- },
- "c-tags": {
- "ctag": [
- "string"
- ],
- "c-tag": [
- "string"
- ]
- }
- },
- "heat-vlan-filters": {
- "heat-vlan-filter": [
- "string"
- ]
- }
- },
- "network-information-items": {
- "network-information-item": [
- {
- "ip-version": "string",
- "network-ips": {
- "network-ip": [
- "string"
- ]
- },
- "ip-count": 0,
- "use-dhcp": "Y"
- }
- ]
- },
- "mac-addresses": {
- "mac-address": [
- "string"
- ]
- },
- "network-role-tag": "string",
- "segmentation-id": "string",
- "interface-route-prefixes": {
- "interface-route-prefix": [
- "string"
- ]
- }
- }
- ]
- },
- "nfc-naming-code": "string"
- }
- ]
- },
- "dhcp-subnet-assignments": {
- "dhcp-subnet-assignment": [
- {
- "network-role": "string",
- "neutron-subnet-id": "string",
- "ip-version": "string"
- }
- ]
- }
- },
- "vf-module-topology-identifier": {
- "vf-module-name": "string",
- "vf-module-id": "string",
- "vf-module-type": "string"
- },
- "vf-module-parameters": {
- "param": [
- {
- "name": "string",
- "resource-resolution-data": {
- "payload": "string",
- "resource-key": [
- {
- "name": "string",
- "value": "string"
- }
- ],
- "capability-name": "string",
- "status": "string"
- },
- "value": "string"
- }
- ]
- },
- "sdnc-generated-cloud-resources": true
- },
- "vnf-resource-assignments": {
- "availability-zones": {
- "max-count": 0,
- "availability-zone": [
- "string"
- ]
- },
- "vnf-status": "string",
- "vnf-networks": {
- "vnf-network": [
- {
- "related-networks": {
- "related-network": [
- {
- "vlan-tags": {
- "is-private": true,
- "vlan-interface": "string",
- "upper-tag-id": 0,
- "lower-tag-id": 0
- },
- "network-role": "string",
- "network-id": "string"
- }
- ]
- },
- "network-role": "string",
- "is-trunked": true,
- "network-id": "string",
- "subnets-data": {
- "subnet-data": [
- {
- "network-start-address": "string",
- "subnet-role": "string",
- "cidr-mask": "string",
- "gateway-address": "string",
- "sdnc-subnet-id": "string",
- "subnet-id": "string",
- "ip-version": "string",
- "dhcp-enabled": "Y",
- "subnet-name": "string"
- }
- ]
- },
- "contrail-network-fqdn": "string",
- "network-name": "string",
- "segmentation-id": "string",
- "neutron-id": "string"
- }
- ]
- }
- },
- "vnf-topology-identifier-structure": {
- "nf-role": "string",
- "nf-function": "string",
- "nf-type": "string",
- "vnf-id": "string",
- "nf-code": "string",
- "vnf-name": "string",
- "vnf-type": "string"
- }
- }
- },
- "preload-type": null,
- "preload-id": null
- }
- ]
-}
diff --git a/ms/generic-resource-api/src/test/resources/preload1-net-list-item.json b/ms/generic-resource-api/src/test/resources/preload1-net-list-item.json
new file mode 100644
index 0000000..4a91388
--- /dev/null
+++ b/ms/generic-resource-api/src/test/resources/preload1-net-list-item.json
@@ -0,0 +1,81 @@
+{
+ "preload-id": "preload1",
+ "preload-type": "network",
+ "preload-data": {
+ "preload-network-topology-information": {
+ "host-routes": [
+ {
+ "next-hop": "10.1.12.1",
+ "route-prefix": "12"
+ }
+ ],
+ "is-external-network": false,
+ "is-provider-network": false,
+ "is-shared-network": false,
+ "network-policy": [
+ {
+ "network-policy-fqdn": "policy-sdnc.onap.org",
+ "network-policy-id": "123"
+ }
+ ],
+ "network-topology-identifier-structure": {
+ "eipam-v4-address-plan": "plan9",
+ "eipam-v6-address-plan": "plan9v6",
+ "is-trunked": true,
+ "network-id": "preload1",
+ "network-instance-group-id": "abc123",
+ "network-name": "syfy",
+ "network-role": "secret",
+ "network-technology": "soupcan",
+ "network-type": "fake",
+ "related-networks": {
+ "related-network": [
+ {
+ "network-id": "skynet",
+ "network-role": "master",
+ "vlan-tags": {
+ "is-private": true,
+ "lower-tag-id": 0,
+ "upper-tag-id": 0,
+ "vlan-interface": "le0"
+ }
+ }
+ ]
+ },
+ "segmentation-id": "seg1"
+ },
+ "physical-network-name": "skynet",
+ "route-table-reference": [
+ {
+ "route-table-reference-fqdn": "sky.net",
+ "route-table-reference-id": "ref1"
+ }
+ ],
+ "subnets": [
+ {
+ "addr-from-start": "Y",
+ "cidr-mask": "255.255.0.0",
+ "dhcp-enabled": "Y",
+ "dhcp-end-address": "10.1.2.254",
+ "dhcp-start-address": "10.1.2.1",
+ "gateway-address": "10.1.2.255",
+ "ip-version": "ipv4",
+ "start-address": "10.1.2.1",
+ "subnet-name": "subnet1",
+ "subnet-role": "puppies",
+ "subnet-sequence": 0
+ }
+ ],
+ "vpn-bindings": [
+ {
+ "aic-zone": "zone1",
+ "global-route-target": "string",
+ "route-target-role": "string",
+ "vpn-binding-id": "string",
+ "vpn-name": "string"
+ }
+ ]
+ }
+ }
+}
+
diff --git a/ms/generic-resource-api/src/test/resources/preload1.json b/ms/generic-resource-api/src/test/resources/preload1-net-model-info.json
index cf504e8..586915a 100644
--- a/ms/generic-resource-api/src/test/resources/preload1.json
+++ b/ms/generic-resource-api/src/test/resources/preload1-net-model-info.json
@@ -24,7 +24,7 @@
"eipam-v4-address-plan": "plan9",
"eipam-v6-address-plan": "plan9v6",
"is-trunked": true,
- "network-id": "321",
+ "network-id": "preload1",
"network-instance-group-id": "abc123",
"network-name": "syfy",
"network-role": "secret",
diff --git a/ms/generic-resource-api/src/test/resources/preload1-net-preload-data.json b/ms/generic-resource-api/src/test/resources/preload1-net-preload-data.json
new file mode 100644
index 0000000..74da3de
--- /dev/null
+++ b/ms/generic-resource-api/src/test/resources/preload1-net-preload-data.json
@@ -0,0 +1,78 @@
+{
+
+ "preload-network-topology-information": {
+ "host-routes": [
+ {
+ "next-hop": "10.1.12.1",
+ "route-prefix": "12"
+ }
+ ],
+ "is-external-network": false,
+ "is-provider-network": false,
+ "is-shared-network": false,
+ "network-policy": [
+ {
+ "network-policy-fqdn": "policy-sdnc.onap.org",
+ "network-policy-id": "123"
+ }
+ ],
+ "network-topology-identifier-structure": {
+ "eipam-v4-address-plan": "plan9",
+ "eipam-v6-address-plan": "plan9v6",
+ "is-trunked": true,
+ "network-id": "preload1",
+ "network-instance-group-id": "abc123",
+ "network-name": "syfy",
+ "network-role": "secret",
+ "network-technology": "soupcan",
+ "network-type": "fake",
+ "related-networks": {
+ "related-network": [
+ {
+ "network-id": "skynet",
+ "network-role": "master",
+ "vlan-tags": {
+ "is-private": true,
+ "lower-tag-id": 0,
+ "upper-tag-id": 0,
+ "vlan-interface": "le0"
+ }
+ }
+ ]
+ },
+ "segmentation-id": "seg1"
+ },
+ "physical-network-name": "skynet",
+ "route-table-reference": [
+ {
+ "route-table-reference-fqdn": "sky.net",
+ "route-table-reference-id": "ref1"
+ }
+ ],
+ "subnets": [
+ {
+ "addr-from-start": "Y",
+ "cidr-mask": "255.255.0.0",
+ "dhcp-enabled": "Y",
+ "dhcp-end-address": "10.1.2.254",
+ "dhcp-start-address": "10.1.2.1",
+ "gateway-address": "10.1.2.255",
+ "ip-version": "ipv4",
+ "start-address": "10.1.2.1",
+ "subnet-name": "subnet1",
+ "subnet-role": "puppies",
+ "subnet-sequence": 0
+ }
+ ],
+ "vpn-bindings": [
+ {
+ "aic-zone": "zone1",
+ "global-route-target": "string",
+ "route-target-role": "string",
+ "vpn-binding-id": "string",
+ "vpn-name": "string"
+ }
+ ]
+ }
+}
+
diff --git a/ms/generic-resource-api/src/test/resources/preload-net.json b/ms/generic-resource-api/src/test/resources/preload1-rpc-network.json
index 8cc41c1..04bea9e 100644
--- a/ms/generic-resource-api/src/test/resources/preload-net.json
+++ b/ms/generic-resource-api/src/test/resources/preload1-rpc-network.json
@@ -20,7 +20,7 @@
"eipam-v4-address-plan": "plan9",
"eipam-v6-address-plan": "plan9v6",
"is-trunked": true,
- "network-id": "321",
+ "network-id": "preload1",
"network-instance-group-id": "abc123",
"network-name": "syfy",
"network-role": "secret",
diff --git a/ms/generic-resource-api/src/test/resources/preload-vfmodule.json b/ms/generic-resource-api/src/test/resources/preload1-rpc-vfmodule.json
index 4deae1b..12553b0 100644
--- a/ms/generic-resource-api/src/test/resources/preload-vfmodule.json
+++ b/ms/generic-resource-api/src/test/resources/preload1-rpc-vfmodule.json
@@ -353,7 +353,7 @@
"nf-function": "function1",
"nf-role": "role1",
"nf-type": "type1",
- "vnf-id": "123",
+ "vnf-id": "preload1",
"vnf-name": "vnf1",
"vnf-type": "vnftype1"
}
diff --git a/ms/generic-resource-api/src/test/resources/preload2-net-list-item.json b/ms/generic-resource-api/src/test/resources/preload2-net-list-item.json
new file mode 100644
index 0000000..65a7bc4
--- /dev/null
+++ b/ms/generic-resource-api/src/test/resources/preload2-net-list-item.json
@@ -0,0 +1,81 @@
+{
+ "preload-id": "preload2",
+ "preload-type": "network",
+ "preload-data": {
+ "preload-network-topology-information": {
+ "host-routes": [
+ {
+ "next-hop": "10.1.12.1",
+ "route-prefix": "12"
+ }
+ ],
+ "is-external-network": true,
+ "is-provider-network": true,
+ "is-shared-network": true,
+ "network-policy": [
+ {
+ "network-policy-fqdn": "policy-sdnc.onap.org",
+ "network-policy-id": "123"
+ }
+ ],
+ "network-topology-identifier-structure": {
+ "eipam-v4-address-plan": "plan9",
+ "eipam-v6-address-plan": "plan9v6",
+ "is-trunked": true,
+ "network-id": "preload2",
+ "network-instance-group-id": "abc123",
+ "network-name": "syfy",
+ "network-role": "secret",
+ "network-technology": "soupcan",
+ "network-type": "fake",
+ "related-networks": {
+ "related-network": [
+ {
+ "network-id": "skynet",
+ "network-role": "master",
+ "vlan-tags": {
+ "is-private": true,
+ "lower-tag-id": 0,
+ "upper-tag-id": 0,
+ "vlan-interface": "le0"
+ }
+ }
+ ]
+ },
+ "segmentation-id": "seg1"
+ },
+ "physical-network-name": "skynet",
+ "route-table-reference": [
+ {
+ "route-table-reference-fqdn": "sky.net",
+ "route-table-reference-id": "ref1"
+ }
+ ],
+ "subnets": [
+ {
+ "addr-from-start": "Y",
+ "cidr-mask": "255.255.0.0",
+ "dhcp-enabled": "Y",
+ "dhcp-end-address": "10.1.2.254",
+ "dhcp-start-address": "10.1.2.1",
+ "gateway-address": "10.1.2.255",
+ "ip-version": "ipv4",
+ "start-address": "10.1.2.1",
+ "subnet-name": "subnet1",
+ "subnet-role": "puppies",
+ "subnet-sequence": 0
+ }
+ ],
+ "vpn-bindings": [
+ {
+ "aic-zone": "zone1",
+ "global-route-target": "string",
+ "route-target-role": "string",
+ "vpn-binding-id": "string",
+ "vpn-name": "string"
+ }
+ ]
+ }
+ }
+}
+
diff --git a/ms/generic-resource-api/src/test/resources/preload2-net-model-info.json b/ms/generic-resource-api/src/test/resources/preload2-net-model-info.json
new file mode 100644
index 0000000..2b7b12e
--- /dev/null
+++ b/ms/generic-resource-api/src/test/resources/preload2-net-model-info.json
@@ -0,0 +1,84 @@
+{
+ "preload-list": [
+ {
+ "preload-id": "preload2",
+ "preload-type": "network",
+ "preload-data": {
+ "preload-network-topology-information": {
+ "host-routes": [
+ {
+ "next-hop": "10.1.12.1",
+ "route-prefix": "12"
+ }
+ ],
+ "is-external-network": true,
+ "is-provider-network": true,
+ "is-shared-network": true,
+ "network-policy": [
+ {
+ "network-policy-fqdn": "policy-sdnc.onap.org",
+ "network-policy-id": "123"
+ }
+ ],
+ "network-topology-identifier-structure": {
+ "eipam-v4-address-plan": "plan9",
+ "eipam-v6-address-plan": "plan9v6",
+ "is-trunked": true,
+ "network-id": "preload2",
+ "network-instance-group-id": "abc123",
+ "network-name": "syfy",
+ "network-role": "secret",
+ "network-technology": "soupcan",
+ "network-type": "fake",
+ "related-networks": {
+ "related-network": [
+ {
+ "network-id": "skynet",
+ "network-role": "master",
+ "vlan-tags": {
+ "is-private": true,
+ "lower-tag-id": 0,
+ "upper-tag-id": 0,
+ "vlan-interface": "le0"
+ }
+ }
+ ]
+ },
+ "segmentation-id": "seg1"
+ },
+ "physical-network-name": "skynet",
+ "route-table-reference": [
+ {
+ "route-table-reference-fqdn": "sky.net",
+ "route-table-reference-id": "ref1"
+ }
+ ],
+ "subnets": [
+ {
+ "addr-from-start": "Y",
+ "cidr-mask": "255.255.0.0",
+ "dhcp-enabled": "Y",
+ "dhcp-end-address": "10.1.2.254",
+ "dhcp-start-address": "10.1.2.1",
+ "gateway-address": "10.1.2.255",
+ "ip-version": "ipv4",
+ "start-address": "10.1.2.1",
+ "subnet-name": "subnet1",
+ "subnet-role": "puppies",
+ "subnet-sequence": 0
+ }
+ ],
+ "vpn-bindings": [
+ {
+ "aic-zone": "zone1",
+ "global-route-target": "string",
+ "route-target-role": "string",
+ "vpn-binding-id": "string",
+ "vpn-name": "string"
+ }
+ ]
+ }
+ }
+ }
+ ]
+}
diff --git a/ms/generic-resource-api/src/test/resources/service1-servicedata.json b/ms/generic-resource-api/src/test/resources/service1-servicedata.json
new file mode 100644
index 0000000..6fe0ef7
--- /dev/null
+++ b/ms/generic-resource-api/src/test/resources/service1-servicedata.json
@@ -0,0 +1,221 @@
+{
+ "request-information": {
+ "request-id": "f5554477-51c7-4f8e-9183-f8968f3f86bf",
+ "request-action": "CreateServiceInstance",
+ "source": "MSO"
+ },
+ "service-request-input": {
+ "service-instance-name": "NGINX-INGRESS-1"
+ },
+ "service-information": {
+ "service-id": "service1",
+ "onap-model-information": {
+ "model-name": "service-nginx-ingress-1",
+ "model-invariant-uuid": "0fe6193d-2d65-4b8e-a4ee-a07821566b5e",
+ "model-version": "1.0",
+ "model-uuid": "48223a6a-f5e1-4354-95eb-f5ea014fc9df"
+ },
+ "service-instance-id": "service1",
+ "global-customer-id": "Demonstration",
+ "subscription-service-type": "service-nginx-ingress-1"
+ },
+ "service-topology": {
+ "service-topology-identifier": {
+ "service-instance-id": "service1",
+ "service-instance-name": "NGINX-INGRESS-1",
+ "service-type": "service-nginx-ingress-1",
+ "global-customer-id": "Demonstration"
+ },
+ "onap-model-information": {
+ "model-name": "service-nginx-ingress-1",
+ "model-invariant-uuid": "0fe6193d-2d65-4b8e-a4ee-a07821566b5e",
+ "model-version": "1.0",
+ "model-uuid": "48223a6a-f5e1-4354-95eb-f5ea014fc9df"
+ }
+ },
+ "service-level-oper-status": {
+ "order-status": "Created",
+ "last-rpc-action": "assign",
+ "last-action": "CreateServiceInstance"
+ },
+ "sdnc-request-header": {
+ "svc-action": "assign",
+ "svc-request-id": "6d06a832-69da-4369-9d99-049767a39400"
+ },
+ "vnfs": {
+ "vnf": [
+ {
+ "vnf-id": "fae319cc-68d6-496f-be1e-a09e133c71d4",
+ "vnf-data": {
+ "vnf-level-oper-status": {
+ "order-status": "Created",
+ "last-rpc-action": "activate",
+ "last-action": "CreateVnfInstance"
+ },
+ "service-information": {
+ "service-id": "service1",
+ "onap-model-information": {
+ "model-name": "service-nginx-ingress-1",
+ "model-invariant-uuid": "0fe6193d-2d65-4b8e-a4ee-a07821566b5e",
+ "model-version": "1.0",
+ "model-uuid": "48223a6a-f5e1-4354-95eb-f5ea014fc9df"
+ },
+ "service-instance-id": "service1",
+ "global-customer-id": "Demonstration",
+ "subscription-service-type": "service-nginx-ingress-1"
+ },
+ "sdnc-request-header": {
+ "svc-action": "activate",
+ "svc-request-id": "acf0c0db-106f-42e4-b77b-191e9d229eb9",
+ "svc-notification-url": "http://so-bpmn-infra.onap:8081/mso/WorkflowMessage/SDNCCallback/b8f92243-85cb-4954-970d-7e0159b9a48b"
+ },
+ "vnf-information": {
+ "vnf-id": "fae319cc-68d6-496f-be1e-a09e133c71d4",
+ "onap-model-information": {
+ "model-name": "nginx-ingress-1",
+ "model-invariant-uuid": "ebd1565b-a98f-4d77-9b91-6aefd51d040c",
+ "model-version": "1.0",
+ "model-customization-uuid": "69cff101-d1f2-4bf3-9697-57f52ba3c5dd",
+ "model-uuid": "dfeccc32-2459-43bf-bfdd-36567e696090"
+ },
+ "vnf-type": "service-nginx-ingress-1/nginx-ingress-1 0",
+ "vnf-name": "Python_ONAP_SDK_vnf_instance_2aff902a-4714-4d08-942d-d97b3a3b87c2"
+ },
+ "request-information": {
+ "request-id": "c382d6d1-2108-4c39-ab7a-c3e67cdbc749",
+ "request-action": "CreateVnfInstance",
+ "source": "MSO"
+ },
+ "vnf-request-input": {
+ "vnf-name": "Python_ONAP_SDK_vnf_instance_2aff902a-4714-4d08-942d-d97b3a3b87c2",
+ "tenant": "k8s_tenant_1",
+ "cloud-owner": "k8sCloudOwner",
+ "aic-cloud-region": "k8s_region_1"
+ },
+ "vnf-topology": {
+ "onap-model-information": {
+ "model-name": "nginx-ingress-1",
+ "model-invariant-uuid": "ebd1565b-a98f-4d77-9b91-6aefd51d040c",
+ "model-version": "1.0",
+ "model-customization-uuid": "69cff101-d1f2-4bf3-9697-57f52ba3c5dd",
+ "model-uuid": "dfeccc32-2459-43bf-bfdd-36567e696090"
+ },
+ "tenant": "k8s_tenant_1",
+ "aic-clli": "complexMC",
+ "aic-cloud-region": "k8s_region_1",
+ "vnf-topology-identifier-structure": {
+ "vnf-id": "fae319cc-68d6-496f-be1e-a09e133c71d4",
+ "vnf-type": "service-nginx-ingress-1/nginx-ingress-1 0",
+ "vnf-name": "Python_ONAP_SDK_vnf_instance_2aff902a-4714-4d08-942d-d97b3a3b87c2"
+ },
+ "vnf-resource-assignments": {
+ "availability-zones": {
+ "availability-zone": [
+ "k8s_availability_zone_1"
+ ]
+ }
+ }
+ },
+ "vf-modules": {
+ "vf-module": [
+ {
+ "vf-module-id": "269bda16-f40c-41a9-baef-e8905ab2b70e",
+ "vf-module-data": {
+ "service-information": {
+ "service-id": "service1",
+ "onap-model-information": {
+ "model-name": "service-nginx-ingress-1",
+ "model-invariant-uuid": "0fe6193d-2d65-4b8e-a4ee-a07821566b5e",
+ "model-version": "1.0",
+ "model-uuid": "48223a6a-f5e1-4354-95eb-f5ea014fc9df"
+ },
+ "service-instance-id": "service1",
+ "global-customer-id": "Demonstration",
+ "subscription-service-type": "service-nginx-ingress-1"
+ },
+ "vf-module-topology": {
+ "onap-model-information": {
+ "model-name": "NginxIngress1..nginx-ingress..module-0",
+ "model-invariant-uuid": "caa22b8e-e0de-4d2c-9048-9a71d39afd91",
+ "model-version": "1",
+ "model-customization-uuid": "d6403fe2-ebe4-4fce-bec2-0218f61b2564",
+ "model-uuid": "e5d2fe74-9534-4a7c-9a1b-f49ecf1105e3"
+ },
+ "vf-module-parameters": {
+ "param": [
+ {
+ "name": "availability_zone_0",
+ "value": "k8s_availability_zone_1"
+ },
+ {
+ "name": "k8s-rb-profile-name",
+ "value": "default"
+ }
+ ]
+ },
+ "tenant": "k8s_tenant_1",
+ "sdnc-generated-cloud-resources": true,
+ "aic-clli": "complexMC",
+ "vf-module-topology-identifier": {
+ "vf-module-type": "NginxIngress1..nginx-ingress..module-0",
+ "vf-module-id": "269bda16-f40c-41a9-baef-e8905ab2b70e",
+ "vf-module-name": "Python_ONAP_SDK_vf_module_instance_678cc889-0c89-40f3-9f5b-1f475d5c4ebb"
+ },
+ "aic-cloud-region": "k8s_region_1"
+ },
+ "vf-module-request-input": {
+ "vf-module-name": "Python_ONAP_SDK_vf_module_instance_678cc889-0c89-40f3-9f5b-1f475d5c4ebb",
+ "tenant": "k8s_tenant_1",
+ "cloud-owner": "k8sCloudOwner",
+ "aic-cloud-region": "k8s_region_1"
+ },
+ "sdnc-request-header": {
+ "svc-action": "activate",
+ "svc-request-id": "bf81d48a-d5f9-42f2-bc49-9277f0e2a836",
+ "svc-notification-url": "http://so-bpmn-infra.onap:8081/mso/WorkflowMessage/SDNCCallback/64780567-ecf5-41c9-af36-bb06f8ae0e5d"
+ },
+ "vnf-information": {
+ "vnf-id": "fae319cc-68d6-496f-be1e-a09e133c71d4",
+ "onap-model-information": {
+ "model-name": "nginx-ingress-1",
+ "model-invariant-uuid": "ebd1565b-a98f-4d77-9b91-6aefd51d040c",
+ "model-version": "1.0",
+ "model-customization-uuid": "69cff101-d1f2-4bf3-9697-57f52ba3c5dd",
+ "model-uuid": "dfeccc32-2459-43bf-bfdd-36567e696090"
+ },
+ "vnf-type": "service-nginx-ingress-1/nginx-ingress-1 0",
+ "vnf-name": "Python_ONAP_SDK_vnf_instance_2aff902a-4714-4d08-942d-d97b3a3b87c2"
+ },
+ "vf-module-information": {
+ "onap-model-information": {
+ "model-name": "NginxIngress1..nginx-ingress..module-0",
+ "model-invariant-uuid": "caa22b8e-e0de-4d2c-9048-9a71d39afd91",
+ "model-version": "1",
+ "model-customization-uuid": "d6403fe2-ebe4-4fce-bec2-0218f61b2564",
+ "model-uuid": "e5d2fe74-9534-4a7c-9a1b-f49ecf1105e3"
+ },
+ "vf-module-id": "269bda16-f40c-41a9-baef-e8905ab2b70e",
+ "vf-module-type": "NginxIngress1..nginx-ingress..module-0",
+ "from-preload": true
+ },
+ "request-information": {
+ "request-id": "051f3665-002c-4e3c-b62e-f8c0b48ef12e",
+ "request-action": "CreateVfModuleInstance",
+ "source": "MSO"
+ },
+ "vf-module-level-oper-status": {
+ "order-status": "Created",
+ "last-rpc-action": "activate"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+}
+
+
+
diff --git a/ms/generic-resource-api/src/test/resources/service1-serviceitem.json b/ms/generic-resource-api/src/test/resources/service1-serviceitem.json
new file mode 100644
index 0000000..c950377
--- /dev/null
+++ b/ms/generic-resource-api/src/test/resources/service1-serviceitem.json
@@ -0,0 +1,233 @@
+{
+ "service-instance-id": "service1",
+ "service-data": {
+ "request-information": {
+ "request-id": "f5554477-51c7-4f8e-9183-f8968f3f86bf",
+ "request-action": "CreateServiceInstance",
+ "source": "MSO"
+ },
+ "service-request-input": {
+ "service-instance-name": "NGINX-INGRESS-1"
+ },
+ "service-information": {
+ "service-id": "service1",
+ "onap-model-information": {
+ "model-name": "service-nginx-ingress-1",
+ "model-invariant-uuid": "0fe6193d-2d65-4b8e-a4ee-a07821566b5e",
+ "model-version": "1.0",
+ "model-uuid": "48223a6a-f5e1-4354-95eb-f5ea014fc9df"
+ },
+ "service-instance-id": "service1",
+ "global-customer-id": "Demonstration",
+ "subscription-service-type": "service-nginx-ingress-1"
+ },
+ "service-topology": {
+ "service-topology-identifier": {
+ "service-instance-id": "service1",
+ "service-instance-name": "NGINX-INGRESS-1",
+ "service-type": "service-nginx-ingress-1",
+ "global-customer-id": "Demonstration"
+ },
+ "onap-model-information": {
+ "model-name": "service-nginx-ingress-1",
+ "model-invariant-uuid": "0fe6193d-2d65-4b8e-a4ee-a07821566b5e",
+ "model-version": "1.0",
+ "model-uuid": "48223a6a-f5e1-4354-95eb-f5ea014fc9df"
+ }
+ },
+ "service-level-oper-status": {
+ "order-status": "Created",
+ "last-rpc-action": "assign",
+ "last-action": "CreateServiceInstance"
+ },
+ "sdnc-request-header": {
+ "svc-action": "assign",
+ "svc-request-id": "6d06a832-69da-4369-9d99-049767a39400"
+ },
+ "vnfs": {
+ "vnf": [
+ {
+ "vnf-id": "fae319cc-68d6-496f-be1e-a09e133c71d4",
+ "vnf-data": {
+ "vnf-level-oper-status": {
+ "order-status": "Created",
+ "last-rpc-action": "activate",
+ "last-action": "CreateVnfInstance"
+ },
+ "service-information": {
+ "service-id": "service1",
+ "onap-model-information": {
+ "model-name": "service-nginx-ingress-1",
+ "model-invariant-uuid": "0fe6193d-2d65-4b8e-a4ee-a07821566b5e",
+ "model-version": "1.0",
+ "model-uuid": "48223a6a-f5e1-4354-95eb-f5ea014fc9df"
+ },
+ "service-instance-id": "service1",
+ "global-customer-id": "Demonstration",
+ "subscription-service-type": "service-nginx-ingress-1"
+ },
+ "sdnc-request-header": {
+ "svc-action": "activate",
+ "svc-request-id": "acf0c0db-106f-42e4-b77b-191e9d229eb9",
+ "svc-notification-url": "http://so-bpmn-infra.onap:8081/mso/WorkflowMessage/SDNCCallback/b8f92243-85cb-4954-970d-7e0159b9a48b"
+ },
+ "vnf-information": {
+ "vnf-id": "fae319cc-68d6-496f-be1e-a09e133c71d4",
+ "onap-model-information": {
+ "model-name": "nginx-ingress-1",
+ "model-invariant-uuid": "ebd1565b-a98f-4d77-9b91-6aefd51d040c",
+ "model-version": "1.0",
+ "model-customization-uuid": "69cff101-d1f2-4bf3-9697-57f52ba3c5dd",
+ "model-uuid": "dfeccc32-2459-43bf-bfdd-36567e696090"
+ },
+ "vnf-type": "service-nginx-ingress-1/nginx-ingress-1 0",
+ "vnf-name": "Python_ONAP_SDK_vnf_instance_2aff902a-4714-4d08-942d-d97b3a3b87c2"
+ },
+ "request-information": {
+ "request-id": "c382d6d1-2108-4c39-ab7a-c3e67cdbc749",
+ "request-action": "CreateVnfInstance",
+ "source": "MSO"
+ },
+ "vnf-request-input": {
+ "vnf-name": "Python_ONAP_SDK_vnf_instance_2aff902a-4714-4d08-942d-d97b3a3b87c2",
+ "tenant": "k8s_tenant_1",
+ "cloud-owner": "k8sCloudOwner",
+ "aic-cloud-region": "k8s_region_1"
+ },
+ "vnf-topology": {
+ "onap-model-information": {
+ "model-name": "nginx-ingress-1",
+ "model-invariant-uuid": "ebd1565b-a98f-4d77-9b91-6aefd51d040c",
+ "model-version": "1.0",
+ "model-customization-uuid": "69cff101-d1f2-4bf3-9697-57f52ba3c5dd",
+ "model-uuid": "dfeccc32-2459-43bf-bfdd-36567e696090"
+ },
+ "tenant": "k8s_tenant_1",
+ "aic-clli": "complexMC",
+ "aic-cloud-region": "k8s_region_1",
+ "vnf-topology-identifier-structure": {
+ "vnf-id": "fae319cc-68d6-496f-be1e-a09e133c71d4",
+ "vnf-type": "service-nginx-ingress-1/nginx-ingress-1 0",
+ "vnf-name": "Python_ONAP_SDK_vnf_instance_2aff902a-4714-4d08-942d-d97b3a3b87c2"
+ },
+ "vnf-resource-assignments": {
+ "availability-zones": {
+ "availability-zone": [
+ "k8s_availability_zone_1"
+ ]
+ }
+ }
+ },
+ "vf-modules": {
+ "vf-module": [
+ {
+ "vf-module-id": "269bda16-f40c-41a9-baef-e8905ab2b70e",
+ "vf-module-data": {
+ "service-information": {
+ "service-id": "service1",
+ "onap-model-information": {
+ "model-name": "service-nginx-ingress-1",
+ "model-invariant-uuid": "0fe6193d-2d65-4b8e-a4ee-a07821566b5e",
+ "model-version": "1.0",
+ "model-uuid": "48223a6a-f5e1-4354-95eb-f5ea014fc9df"
+ },
+ "service-instance-id": "service1",
+ "global-customer-id": "Demonstration",
+ "subscription-service-type": "service-nginx-ingress-1"
+ },
+ "vf-module-topology": {
+ "onap-model-information": {
+ "model-name": "NginxIngress1..nginx-ingress..module-0",
+ "model-invariant-uuid": "caa22b8e-e0de-4d2c-9048-9a71d39afd91",
+ "model-version": "1",
+ "model-customization-uuid": "d6403fe2-ebe4-4fce-bec2-0218f61b2564",
+ "model-uuid": "e5d2fe74-9534-4a7c-9a1b-f49ecf1105e3"
+ },
+ "vf-module-parameters": {
+ "param": [
+ {
+ "name": "availability_zone_0",
+ "value": "k8s_availability_zone_1"
+ },
+ {
+ "name": "k8s-rb-profile-name",
+ "value": "default"
+ }
+ ]
+ },
+ "tenant": "k8s_tenant_1",
+ "sdnc-generated-cloud-resources": true,
+ "aic-clli": "complexMC",
+ "vf-module-topology-identifier": {
+ "vf-module-type": "NginxIngress1..nginx-ingress..module-0",
+ "vf-module-id": "269bda16-f40c-41a9-baef-e8905ab2b70e",
+ "vf-module-name": "Python_ONAP_SDK_vf_module_instance_678cc889-0c89-40f3-9f5b-1f475d5c4ebb"
+ },
+ "aic-cloud-region": "k8s_region_1"
+ },
+ "vf-module-request-input": {
+ "vf-module-name": "Python_ONAP_SDK_vf_module_instance_678cc889-0c89-40f3-9f5b-1f475d5c4ebb",
+ "tenant": "k8s_tenant_1",
+ "cloud-owner": "k8sCloudOwner",
+ "aic-cloud-region": "k8s_region_1"
+ },
+ "sdnc-request-header": {
+ "svc-action": "activate",
+ "svc-request-id": "bf81d48a-d5f9-42f2-bc49-9277f0e2a836",
+ "svc-notification-url": "http://so-bpmn-infra.onap:8081/mso/WorkflowMessage/SDNCCallback/64780567-ecf5-41c9-af36-bb06f8ae0e5d"
+ },
+ "vnf-information": {
+ "vnf-id": "fae319cc-68d6-496f-be1e-a09e133c71d4",
+ "onap-model-information": {
+ "model-name": "nginx-ingress-1",
+ "model-invariant-uuid": "ebd1565b-a98f-4d77-9b91-6aefd51d040c",
+ "model-version": "1.0",
+ "model-customization-uuid": "69cff101-d1f2-4bf3-9697-57f52ba3c5dd",
+ "model-uuid": "dfeccc32-2459-43bf-bfdd-36567e696090"
+ },
+ "vnf-type": "service-nginx-ingress-1/nginx-ingress-1 0",
+ "vnf-name": "Python_ONAP_SDK_vnf_instance_2aff902a-4714-4d08-942d-d97b3a3b87c2"
+ },
+ "vf-module-information": {
+ "onap-model-information": {
+ "model-name": "NginxIngress1..nginx-ingress..module-0",
+ "model-invariant-uuid": "caa22b8e-e0de-4d2c-9048-9a71d39afd91",
+ "model-version": "1",
+ "model-customization-uuid": "d6403fe2-ebe4-4fce-bec2-0218f61b2564",
+ "model-uuid": "e5d2fe74-9534-4a7c-9a1b-f49ecf1105e3"
+ },
+ "vf-module-id": "269bda16-f40c-41a9-baef-e8905ab2b70e",
+ "vf-module-type": "NginxIngress1..nginx-ingress..module-0",
+ "from-preload": true
+ },
+ "request-information": {
+ "request-id": "051f3665-002c-4e3c-b62e-f8c0b48ef12e",
+ "request-action": "CreateVfModuleInstance",
+ "source": "MSO"
+ },
+ "vf-module-level-oper-status": {
+ "order-status": "Created",
+ "last-rpc-action": "activate"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ },
+ "service-status": {
+ "final-indicator": "Y",
+ "rpc-action": "activate",
+ "rpc-name": "vf-module-topology-operation",
+ "response-code": "200",
+ "response-timestamp": "2020-06-24T13:06:24.525Z",
+ "response-message": "",
+ "action": "CreateVfModuleInstance",
+ "request-status": "synccomplete"
+ }
+}
+
+
diff --git a/ms/generic-resource-api/src/test/resources/service1-servicestatus.json b/ms/generic-resource-api/src/test/resources/service1-servicestatus.json
new file mode 100644
index 0000000..ca763d3
--- /dev/null
+++ b/ms/generic-resource-api/src/test/resources/service1-servicestatus.json
@@ -0,0 +1,10 @@
+{
+ "final-indicator": "Y",
+ "rpc-action": "activate",
+ "rpc-name": "vf-module-topology-operation",
+ "response-code": "200",
+ "response-timestamp": "2020-06-24T13:06:24.525Z",
+ "response-message": "",
+ "action": "CreateVfModuleInstance",
+ "request-status": "synccomplete"
+} \ No newline at end of file
diff --git a/ms/generic-resource-api/src/test/resources/service1.json b/ms/generic-resource-api/src/test/resources/service1.json
new file mode 100644
index 0000000..f280ae6
--- /dev/null
+++ b/ms/generic-resource-api/src/test/resources/service1.json
@@ -0,0 +1,236 @@
+{
+ "service": [
+ {
+ "service-instance-id": "service1",
+ "service-data": {
+ "request-information": {
+ "request-id": "f5554477-51c7-4f8e-9183-f8968f3f86bf",
+ "request-action": "CreateServiceInstance",
+ "source": "MSO"
+ },
+ "service-request-input": {
+ "service-instance-name": "NGINX-INGRESS-1"
+ },
+ "service-information": {
+ "service-id": "service1",
+ "onap-model-information": {
+ "model-name": "service-nginx-ingress-1",
+ "model-invariant-uuid": "0fe6193d-2d65-4b8e-a4ee-a07821566b5e",
+ "model-version": "1.0",
+ "model-uuid": "48223a6a-f5e1-4354-95eb-f5ea014fc9df"
+ },
+ "service-instance-id": "service1",
+ "global-customer-id": "Demonstration",
+ "subscription-service-type": "service-nginx-ingress-1"
+ },
+ "service-topology": {
+ "service-topology-identifier": {
+ "service-instance-id": "service1",
+ "service-instance-name": "NGINX-INGRESS-1",
+ "service-type": "service-nginx-ingress-1",
+ "global-customer-id": "Demonstration"
+ },
+ "onap-model-information": {
+ "model-name": "service-nginx-ingress-1",
+ "model-invariant-uuid": "0fe6193d-2d65-4b8e-a4ee-a07821566b5e",
+ "model-version": "1.0",
+ "model-uuid": "48223a6a-f5e1-4354-95eb-f5ea014fc9df"
+ }
+ },
+ "service-level-oper-status": {
+ "order-status": "Created",
+ "last-rpc-action": "assign",
+ "last-action": "CreateServiceInstance"
+ },
+ "sdnc-request-header": {
+ "svc-action": "assign",
+ "svc-request-id": "6d06a832-69da-4369-9d99-049767a39400"
+ },
+ "vnfs": {
+ "vnf": [
+ {
+ "vnf-id": "fae319cc-68d6-496f-be1e-a09e133c71d4",
+ "vnf-data": {
+ "vnf-level-oper-status": {
+ "order-status": "Created",
+ "last-rpc-action": "activate",
+ "last-action": "CreateVnfInstance"
+ },
+ "service-information": {
+ "service-id": "service1",
+ "onap-model-information": {
+ "model-name": "service-nginx-ingress-1",
+ "model-invariant-uuid": "0fe6193d-2d65-4b8e-a4ee-a07821566b5e",
+ "model-version": "1.0",
+ "model-uuid": "48223a6a-f5e1-4354-95eb-f5ea014fc9df"
+ },
+ "service-instance-id": "service1",
+ "global-customer-id": "Demonstration",
+ "subscription-service-type": "service-nginx-ingress-1"
+ },
+ "sdnc-request-header": {
+ "svc-action": "activate",
+ "svc-request-id": "acf0c0db-106f-42e4-b77b-191e9d229eb9",
+ "svc-notification-url": "http://so-bpmn-infra.onap:8081/mso/WorkflowMessage/SDNCCallback/b8f92243-85cb-4954-970d-7e0159b9a48b"
+ },
+ "vnf-information": {
+ "vnf-id": "fae319cc-68d6-496f-be1e-a09e133c71d4",
+ "onap-model-information": {
+ "model-name": "nginx-ingress-1",
+ "model-invariant-uuid": "ebd1565b-a98f-4d77-9b91-6aefd51d040c",
+ "model-version": "1.0",
+ "model-customization-uuid": "69cff101-d1f2-4bf3-9697-57f52ba3c5dd",
+ "model-uuid": "dfeccc32-2459-43bf-bfdd-36567e696090"
+ },
+ "vnf-type": "service-nginx-ingress-1/nginx-ingress-1 0",
+ "vnf-name": "Python_ONAP_SDK_vnf_instance_2aff902a-4714-4d08-942d-d97b3a3b87c2"
+ },
+ "request-information": {
+ "request-id": "c382d6d1-2108-4c39-ab7a-c3e67cdbc749",
+ "request-action": "CreateVnfInstance",
+ "source": "MSO"
+ },
+ "vnf-request-input": {
+ "vnf-name": "Python_ONAP_SDK_vnf_instance_2aff902a-4714-4d08-942d-d97b3a3b87c2",
+ "tenant": "k8s_tenant_1",
+ "cloud-owner": "k8sCloudOwner",
+ "aic-cloud-region": "k8s_region_1"
+ },
+ "vnf-topology": {
+ "onap-model-information": {
+ "model-name": "nginx-ingress-1",
+ "model-invariant-uuid": "ebd1565b-a98f-4d77-9b91-6aefd51d040c",
+ "model-version": "1.0",
+ "model-customization-uuid": "69cff101-d1f2-4bf3-9697-57f52ba3c5dd",
+ "model-uuid": "dfeccc32-2459-43bf-bfdd-36567e696090"
+ },
+ "tenant": "k8s_tenant_1",
+ "aic-clli": "complexMC",
+ "aic-cloud-region": "k8s_region_1",
+ "vnf-topology-identifier-structure": {
+ "vnf-id": "fae319cc-68d6-496f-be1e-a09e133c71d4",
+ "vnf-type": "service-nginx-ingress-1/nginx-ingress-1 0",
+ "vnf-name": "Python_ONAP_SDK_vnf_instance_2aff902a-4714-4d08-942d-d97b3a3b87c2"
+ },
+ "vnf-resource-assignments": {
+ "availability-zones": {
+ "availability-zone": [
+ "k8s_availability_zone_1"
+ ]
+ }
+ }
+ },
+ "vf-modules": {
+ "vf-module": [
+ {
+ "vf-module-id": "269bda16-f40c-41a9-baef-e8905ab2b70e",
+ "vf-module-data": {
+ "service-information": {
+ "service-id": "service1",
+ "onap-model-information": {
+ "model-name": "service-nginx-ingress-1",
+ "model-invariant-uuid": "0fe6193d-2d65-4b8e-a4ee-a07821566b5e",
+ "model-version": "1.0",
+ "model-uuid": "48223a6a-f5e1-4354-95eb-f5ea014fc9df"
+ },
+ "service-instance-id": "service1",
+ "global-customer-id": "Demonstration",
+ "subscription-service-type": "service-nginx-ingress-1"
+ },
+ "vf-module-topology": {
+ "onap-model-information": {
+ "model-name": "NginxIngress1..nginx-ingress..module-0",
+ "model-invariant-uuid": "caa22b8e-e0de-4d2c-9048-9a71d39afd91",
+ "model-version": "1",
+ "model-customization-uuid": "d6403fe2-ebe4-4fce-bec2-0218f61b2564",
+ "model-uuid": "e5d2fe74-9534-4a7c-9a1b-f49ecf1105e3"
+ },
+ "vf-module-parameters": {
+ "param": [
+ {
+ "name": "availability_zone_0",
+ "value": "k8s_availability_zone_1"
+ },
+ {
+ "name": "k8s-rb-profile-name",
+ "value": "default"
+ }
+ ]
+ },
+ "tenant": "k8s_tenant_1",
+ "sdnc-generated-cloud-resources": true,
+ "aic-clli": "complexMC",
+ "vf-module-topology-identifier": {
+ "vf-module-type": "NginxIngress1..nginx-ingress..module-0",
+ "vf-module-id": "269bda16-f40c-41a9-baef-e8905ab2b70e",
+ "vf-module-name": "Python_ONAP_SDK_vf_module_instance_678cc889-0c89-40f3-9f5b-1f475d5c4ebb"
+ },
+ "aic-cloud-region": "k8s_region_1"
+ },
+ "vf-module-request-input": {
+ "vf-module-name": "Python_ONAP_SDK_vf_module_instance_678cc889-0c89-40f3-9f5b-1f475d5c4ebb",
+ "tenant": "k8s_tenant_1",
+ "cloud-owner": "k8sCloudOwner",
+ "aic-cloud-region": "k8s_region_1"
+ },
+ "sdnc-request-header": {
+ "svc-action": "activate",
+ "svc-request-id": "bf81d48a-d5f9-42f2-bc49-9277f0e2a836",
+ "svc-notification-url": "http://so-bpmn-infra.onap:8081/mso/WorkflowMessage/SDNCCallback/64780567-ecf5-41c9-af36-bb06f8ae0e5d"
+ },
+ "vnf-information": {
+ "vnf-id": "fae319cc-68d6-496f-be1e-a09e133c71d4",
+ "onap-model-information": {
+ "model-name": "nginx-ingress-1",
+ "model-invariant-uuid": "ebd1565b-a98f-4d77-9b91-6aefd51d040c",
+ "model-version": "1.0",
+ "model-customization-uuid": "69cff101-d1f2-4bf3-9697-57f52ba3c5dd",
+ "model-uuid": "dfeccc32-2459-43bf-bfdd-36567e696090"
+ },
+ "vnf-type": "service-nginx-ingress-1/nginx-ingress-1 0",
+ "vnf-name": "Python_ONAP_SDK_vnf_instance_2aff902a-4714-4d08-942d-d97b3a3b87c2"
+ },
+ "vf-module-information": {
+ "onap-model-information": {
+ "model-name": "NginxIngress1..nginx-ingress..module-0",
+ "model-invariant-uuid": "caa22b8e-e0de-4d2c-9048-9a71d39afd91",
+ "model-version": "1",
+ "model-customization-uuid": "d6403fe2-ebe4-4fce-bec2-0218f61b2564",
+ "model-uuid": "e5d2fe74-9534-4a7c-9a1b-f49ecf1105e3"
+ },
+ "vf-module-id": "269bda16-f40c-41a9-baef-e8905ab2b70e",
+ "vf-module-type": "NginxIngress1..nginx-ingress..module-0",
+ "from-preload": true
+ },
+ "request-information": {
+ "request-id": "051f3665-002c-4e3c-b62e-f8c0b48ef12e",
+ "request-action": "CreateVfModuleInstance",
+ "source": "MSO"
+ },
+ "vf-module-level-oper-status": {
+ "order-status": "Created",
+ "last-rpc-action": "activate"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ },
+ "service-status": {
+ "final-indicator": "Y",
+ "rpc-action": "activate",
+ "rpc-name": "vf-module-topology-operation",
+ "response-code": "200",
+ "response-timestamp": "2020-06-24T13:06:24.525Z",
+ "response-message": "",
+ "action": "CreateVfModuleInstance",
+ "request-status": "synccomplete"
+ }
+ }
+ ]
+}
+
diff --git a/ms/generic-resource-api/src/test/resources/svclogic.properties b/ms/generic-resource-api/src/test/resources/svclogic.properties
new file mode 100644
index 0000000..b57c43d
--- /dev/null
+++ b/ms/generic-resource-api/src/test/resources/svclogic.properties
@@ -0,0 +1,29 @@
+###
+# ============LICENSE_START=======================================================
+# ONAP : CCSDK
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights
+# reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+###
+
+org.onap.ccsdk.sli.dbtype = jdbc
+org.onap.ccsdk.sli.jdbc.url=jdbc:derby:memory:sdnctl;create=true
+org.onap.ccsdk.sli.jdbc.driver=org.apache.derby.jdbc.EmbeddedDriver
+org.onap.ccsdk.sli.jdbc.database = sdnctl
+org.onap.ccsdk.sli.jdbc.user = sdnc
+org.onap.ccsdk.sli.jdbc.password = abc123
+
+serviceLogicDirectory=src/test/resources