From e11aa082274ac41444a59d9461d204ecd8fa8375 Mon Sep 17 00:00:00 2001 From: Dan Timoney Date: Fri, 13 Sep 2024 14:04:13 -0400 Subject: Changes for RFC 8040 compliance Updates to ccsdk/sli to migrate from Bierman version of RESTCONF to RFC 8040 Issue-ID: CCSDK-4056 Change-Id: Ic2d4bb01dc4f9c3f204a6209b4b9310a41ee2ca4 Signed-off-by: Dan Timoney --- .../src/main/resources/aaiclient.properties | 4 +- .../src/test/resources/aaiclient.properties | 4 +- .../adaptors/resource/mdsal/ConfigResource.java | 28 +++++++++++-- .../resource/mdsal/OperationalResource.java | 11 ++++-- .../sli/core/filters/ControllerAuditLogFilter.java | 11 +++++- .../core/filters/ControllerAuditLogFilterTest.java | 4 +- .../provider/src/test/resources/3domain.dump | 46 +++++++++++----------- 7 files changed, 69 insertions(+), 39 deletions(-) diff --git a/adaptors/aai-service/provider/src/main/resources/aaiclient.properties b/adaptors/aai-service/provider/src/main/resources/aaiclient.properties index 295e00198..8f805a19d 100755 --- a/adaptors/aai-service/provider/src/main/resources/aaiclient.properties +++ b/adaptors/aai-service/provider/src/main/resources/aaiclient.properties @@ -54,8 +54,8 @@ org.onap.ccsdk.sli.adaptors.aai.update=/aai/v25/actions/update # UBB Notify org.onap.ccsdk.sli.adaptors.aai.path.notify=/aai/v25/actions/notify -org.onap.ccsdk.sli.adaptors.aai.notify.selflink.fqdn=<%= @ubbUri %>/restconf/config/L3SDN-API:services/layer3-service-list/{service-instance-id} -org.onap.ccsdk.sli.adaptors.aai.notify.selflink.avpn=<%= @ubbUri %>/restconf/config/L3AVPN-EVC-API:services/service-list/{service-instance-id}/service-data/avpn-logicalchannel-information +org.onap.ccsdk.sli.adaptors.aai.notify.selflink.fqdn=<%= @ubbUri %>/rests/data/L3SDN-API:services/layer3-service-list?{service-instance-id}?content=config +org.onap.ccsdk.sli.adaptors.aai.notify.selflink.avpn=<%= @ubbUri %>/rests/data/L3AVPN-EVC-API:services/service-list={service-instance-id}/service-data/avpn-logicalchannel-information?content=config # VNF IMAGES org.onap.ccsdk.sli.adaptors.aai.path.vnf.image.query=/aai/v25/service-design-and-creation/vnf-images/vnf-image?application={application_model}&application-vendor={application_vendor} diff --git a/adaptors/aai-service/provider/src/test/resources/aaiclient.properties b/adaptors/aai-service/provider/src/test/resources/aaiclient.properties index 2d773e773..af0e76de9 100755 --- a/adaptors/aai-service/provider/src/test/resources/aaiclient.properties +++ b/adaptors/aai-service/provider/src/test/resources/aaiclient.properties @@ -54,8 +54,8 @@ org.onap.ccsdk.sli.adaptors.aai.update=/aai/v25/actions/update # UBB Notify org.onap.ccsdk.sli.adaptors.aai.path.notify=/aai/v25/actions/notify -org.onap.ccsdk.sli.adaptors.aai.notify.selflink.fqdn=<%= @ubbUri %>/restconf/config/L3SDN-API:services/layer3-service-list/{service-instance-id} -org.onap.ccsdk.sli.adaptors.aai.notify.selflink.avpn=<%= @ubbUri %>/restconf/config/L3AVPN-EVC-API:services/service-list/{service-instance-id}/service-data/avpn-logicalchannel-information +org.onap.ccsdk.sli.adaptors.aai.notify.selflink.fqdn=<%= @ubbUri %>/rests/data/L3SDN-API:services/layer3-service-list={service-instance-id}?content=config +org.onap.ccsdk.sli.adaptors.aai.notify.selflink.avpn=<%= @ubbUri %>/rests/data/L3AVPN-EVC-API:services/service-list={service-instance-id}/service-data/avpn-logicalchannel-information?content=config # P-Interfaces org.onap.ccsdk.sli.adaptors.aai.path.pserver.pinterfaces=/aai/v25/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces diff --git a/adaptors/mdsal-resource/provider/src/main/java/org/onap/ccsdk/sli/adaptors/resource/mdsal/ConfigResource.java b/adaptors/mdsal-resource/provider/src/main/java/org/onap/ccsdk/sli/adaptors/resource/mdsal/ConfigResource.java index e2e9bc230..402c334dc 100644 --- a/adaptors/mdsal-resource/provider/src/main/java/org/onap/ccsdk/sli/adaptors/resource/mdsal/ConfigResource.java +++ b/adaptors/mdsal-resource/provider/src/main/java/org/onap/ccsdk/sli/adaptors/resource/mdsal/ConfigResource.java @@ -37,6 +37,7 @@ public class ConfigResource implements SvcLogicResource { private static final Logger LOG = LoggerFactory.getLogger(ConfigResource.class); private RestService restService; + private String useRfc8040 = "true"; public ConfigResource(MdsalResourcePropertiesProvider propProvider) { LOG.info("Loading ConfigResource using property provider"); @@ -47,6 +48,7 @@ public class ConfigResource implements SvcLogicResource { String sdncHost = props.getProperty("org.onap.ccsdk.sli.adaptors.resource.mdsal.sdnc-host", "localhost"); String sdncProtocol = props.getProperty("org.onap.ccsdk.sli.adaptors.resource.mdsal.sdnc-protocol", "https"); String sdncPort = props.getProperty("org.onap.ccsdk.sli.adaptors.resource.mdsal.sdnc-port", "8443"); + useRfc8040 = props.getProperty("org.onap.ccsdk.sli.adaptors.resource.mdsal.use-rfc8040", "true"); restService = new RestService(sdncProtocol, sdncHost, sdncPort, sdncUser, sdncPasswd, "XML", "XML"); } @@ -77,15 +79,33 @@ public class ConfigResource implements SvcLogicResource { String orderBy, SvcLogicContext ctx) throws SvcLogicException { String module = resource; StringBuffer restQuery = new StringBuffer(); + String queryPrefix; + String querySuffix; + String keySeparator; + + + if (this.useRfc8040.equals("true")) { + queryPrefix = "rests/data/"; + querySuffix = "?content=config"; + keySeparator = "="; + } else { + queryPrefix = "restconf/config"; + querySuffix = ""; + keySeparator = "/"; + } String[] keyParts = key.split("/"); for (String keyPart : keyParts) { - if (restQuery.length() > 0) { - restQuery.append("/"); - } + if (keyPart.startsWith("$")) { + // This is a variable, so the previous item must have been a list. Add an equals + // sign instead of a / + restQuery.append(keySeparator); restQuery.append(ctx.resolve(keyPart.substring(1))); } else { + if (restQuery.length() > 0) { + restQuery.append("/"); + } restQuery.append(keyPart); } } @@ -96,7 +116,7 @@ public class ConfigResource implements SvcLogicResource { restQueryStr = restQueryStr.substring(1, restQueryStr.length()-1); } - String urlString = "restconf/config/" + module + ":" + restQueryStr; + String urlString = queryPrefix + module + ":" + restQueryStr + querySuffix; LOG.info("Querying resource: " + resource + ". At URL: " + urlString); Document results = restService.get(urlString); diff --git a/adaptors/mdsal-resource/provider/src/main/java/org/onap/ccsdk/sli/adaptors/resource/mdsal/OperationalResource.java b/adaptors/mdsal-resource/provider/src/main/java/org/onap/ccsdk/sli/adaptors/resource/mdsal/OperationalResource.java index 320878126..9fba0a972 100644 --- a/adaptors/mdsal-resource/provider/src/main/java/org/onap/ccsdk/sli/adaptors/resource/mdsal/OperationalResource.java +++ b/adaptors/mdsal-resource/provider/src/main/java/org/onap/ccsdk/sli/adaptors/resource/mdsal/OperationalResource.java @@ -75,12 +75,15 @@ public class OperationalResource implements SvcLogicResource { String[] keyParts = key.split("/"); for (String keyPart : keyParts) { - if (restQuery.length() > 0) { - restQuery.append("/"); - } if (keyPart.startsWith("$")) { + // This is a variable, so infer that previous part was a list name. Insert = instead of / + restQuery.append("=?"); restQuery.append(ctx.resolve(keyPart.substring(1))); } else { + + if (restQuery.length() > 0) { + restQuery.append("/"); + } restQuery.append(keyPart); } } @@ -91,7 +94,7 @@ public class OperationalResource implements SvcLogicResource { restQueryStr = restQueryStr.substring(1, restQueryStr.length() - 1); } - String urlString = "restconf/operational/" + module + ":" + restQueryStr; + String urlString = "rests/data/" + module + ":" + restQueryStr+"?content=nonconfig"; LOG.info("Querying resource: " + resource + ". At URL: " + urlString); Document results = restService.get(urlString); diff --git a/core/filters/provider/src/main/java/org/onap/ccsdk/sli/core/filters/ControllerAuditLogFilter.java b/core/filters/provider/src/main/java/org/onap/ccsdk/sli/core/filters/ControllerAuditLogFilter.java index 7805e365d..41c47d7e1 100644 --- a/core/filters/provider/src/main/java/org/onap/ccsdk/sli/core/filters/ControllerAuditLogFilter.java +++ b/core/filters/provider/src/main/java/org/onap/ccsdk/sli/core/filters/ControllerAuditLogFilter.java @@ -24,14 +24,21 @@ public class ControllerAuditLogFilter extends AuditLogServletFilter { protected String getServiceInstanceId(String path) { int idx = path.indexOf("service-list"); if (idx != -1) { - // chomp off service-list/ + // chomp off service-list= String str = path.substring(idx + 13); + idx = str.indexOf("/"); //if there is another forward slash with more information chomp it off if (idx != -1) { return str.substring(0, idx); } else { - return str; + // If there is a question mark with more information chomp it off + idx = str.indexOf("?"); + if (idx != -1) { + return str.substring(0, idx); + } else { + return str; + } } } return null; diff --git a/core/filters/provider/src/test/java/org/onap/ccsdk/sli/core/filters/ControllerAuditLogFilterTest.java b/core/filters/provider/src/test/java/org/onap/ccsdk/sli/core/filters/ControllerAuditLogFilterTest.java index 9d0357a96..3969eed1c 100644 --- a/core/filters/provider/src/test/java/org/onap/ccsdk/sli/core/filters/ControllerAuditLogFilterTest.java +++ b/core/filters/provider/src/test/java/org/onap/ccsdk/sli/core/filters/ControllerAuditLogFilterTest.java @@ -8,7 +8,7 @@ public class ControllerAuditLogFilterTest { @Test public void getSimpleSiid() throws Exception { ControllerAuditLogFilter filter = new ControllerAuditLogFilter(); - String siid = filter.getServiceInstanceId("/restconf/config/Layer3API:services/service-list/100"); + String siid = filter.getServiceInstanceId("/rests/data/Layer3API:services/service-list=100?content=config"); assertEquals("100", siid); } @@ -16,7 +16,7 @@ public class ControllerAuditLogFilterTest { public void getSimpleComplexSiid() throws Exception { ControllerAuditLogFilter filter = new ControllerAuditLogFilter(); String siid = filter.getServiceInstanceId( - "/restconf/config/Layer3API:services/service-list/1337/service-data/oper-status"); + "/rests/data/Layer3API:services/service-list=1337/service-data/oper-status?content=config"); assertEquals("1337", siid); } diff --git a/core/sliPluginUtils/provider/src/test/resources/3domain.dump b/core/sliPluginUtils/provider/src/test/resources/3domain.dump index 3745d58f1..5419bca00 100644 --- a/core/sliPluginUtils/provider/src/test/resources/3domain.dump +++ b/core/sliPluginUtils/provider/src/test/resources/3domain.dump @@ -96,7 +96,7 @@ ccsdkTopopnfs.pnf[11].relationship-list.relationship[0].relationship-data_length ccsdkTopopnfs.pnf[14].relationship-list.relationship[2].related-to = esr-thirdparty-sdnc tmp.aai.domainB.esr-thirdparty-sdnc.relationship-list.relationship[0].relationship-label = org.onap.relationships.inventory.BelongsTo ccsdkTopopnfs.pnf[14].relationship-list.relationship[0].related-to = tunnel-termination-point -prop.restapi.network-provided-resource = /restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/networks/network/{network-id}/network-data/network-provided-allotted-resources/ +prop.restapi.network-provided-resource = /rests/data/GENERIC-RESOURCE-API:services/service={service-instance-id}/service-data/networks/network={network-id}/network-data/network-provided-allotted-resources/?content=config tmp.aai.destination-pnf.relationship-list.relationship[0].relationship-data[0].relationship-key = esr-thirdparty-sdnc.thirdparty-sdnc-id tmp.aai.network-route-B.p-interface-dst.speed-value = 10000000 ccsdkTopologicalLinks.logical-link[7].relationship-list.relationship[0].relationship-label = tosca.relationships.network.LinksTo @@ -217,7 +217,7 @@ ccsdkTopopnfs.pnf[3].relationship-list.relationship[1].relationship-data_length ccsdkTopologicalLinks.logical-link[0].relationship-list.relationship[3].relationship-data[0].relationship-key = pnf.pnf-name ccsdkTopopnfs.pnf[6].operational-status = up ccsdkTopologicalLinks.logical-link[27].relationship-list.relationship[1].related-to-property_length = 1 -prop.restapi.preload-network = /restconf/config/GENERIC-RESOURCE-API:preload-information/preload-list/{network-name}/network/preload-data/preload-network-topology-information/ +prop.restapi.preload-network = /rests/data/GENERIC-RESOURCE-API:preload-information/preload-list={network-name}/network/preload-data/preload-network-topology-information?content=config ccsdkTopologicalLinks.logical-link[15].relationship-list.relationship[0].related-to-property[0].property-key = p-interface.prov-status ccsdkTopologicalLinks.logical-link[31].relationship-list.relationship[0].relationship-data[1].relationship-value = networkId-providerId-50-clientId-0-topologyId-1-nodeId-10.5.1.2-ltpId-12 ccsdkTopopnfs.pnf[17].relationship-list.relationship[2].relationship-data[0].relationship-key = tunnel-termination-point.ttp-id @@ -377,7 +377,7 @@ tmp.aai.src-pnf.p-interfaces.p-interface[1].relationship-list.relationship[0].re ccsdkTopopnfs.pnf[22].relationship-list.relationship[0].relationship-data_length = 1 tmp.aai.service-instance.allotted-resources.allotted-resource[0].relationship-list.relationship[1].relationship-label = org.onap.relationships.inventory.ComposedOf ccsdkTopologicalLinks.logical-link[27].relationship-list.relationship[0].relationship-data[0].relationship-value = networkId-providerId-30-clientId-0-topologyId-1-nodeId-10.3.1.1 -prop.restapi.network = /restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/networks +prop.restapi.network = /rests/data/GENERIC-RESOURCE-API:services/service={service-instance-id}/service-data/networks?content=config ccsdkTopologicalLinks.logical-link[29].in-maint = false allNetworksList.network-resource[3].relationship-list.relationship[2].relationship-data_length = 1 prop.sdncRestApi.thirdpartySdnc.domainA.password = rocks @@ -438,7 +438,7 @@ tmp.aai.src-network-resource.relationship-list.relationship[3].related-to = pnf tmp.aai.dst-ttp.admin-status = up ccsdkTopopnfs.pnf[23].relationship-list.relationship[0].relationship-label = tosca.relationships.network.BindsTo tmp.aai.src-pnf.p-interfaces.p-interface[2].inter-domain-plug-id = 4050 -prop.restapi.vnf-api.service-information = /restconf/config/VNF-API:vnfs/vnf-list/{vnf-id}/service-data +prop.restapi.vnf-api.service-information = /rests/data/VNF-API:vnfs/vnf-list={vnf-id}/service-data?content=config ccsdkTopopnfs.pnf[23].relationship-list.relationship[4].relationship-label = tosca.relationships.network.LinksTo ccsdkTopologicalLinks.logical-link[32].relationship-list.relationship[0].relationship-label = tosca.relationships.network.LinksTo tmp.aai.dst-ttp.name = 1-1-1-1-1 @@ -670,7 +670,7 @@ allNetworksList.network-resource[4].relationship-list.relationship[2].relationsh tmp.aai.dst-pnf.p-interfaces.p-interface[3].operational-status = up tmp.aai.allotted-resource.relationship-list.relationship[2].relationship-data_length = 1 ccsdkTopologicalLinks.logical-link[32].relationship-list.relationship[1].relationship-data[0].relationship-value = networkId-providerId-50-clientId-0-topologyId-1-nodeId-10.5.1.3 -prop.restapi.vnf = /restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs +prop.restapi.vnf = /rests/data/GENERIC-RESOURCE-API:services/service={service-instance-id}/service-data/vnfs?content=config ccsdkTopologicalLinks.logical-link[5].relationship-list.relationship[0].relationship-data[0].relationship-value = networkId-providerId-50-clientId-0-topologyId-1-nodeId-10.5.1.2 tmp.aai.domainB.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name = onos prop.restapi.ss.mS.vlan.tag.unassign.templatefile = self-serve-mS-vlan-tag-unassignments.json @@ -1308,7 +1308,7 @@ tmp.aai.domainB.esr-thirdparty-sdnc.relationship-list.relationship[4].relationsh tmp.aai.dst-ttp.protection-type = ietf-te-types:lsp-protection-unprotected tmp.aai.domainB.esr-thirdparty-sdnc.relationship-list.relationship[3].relationship-label = org.onap.relationships.inventory.AppliesTo ccsdkTopopnfs.pnf[19].operational-status = up -prop.restapi.ss-vnf-assignments = /restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/ +prop.restapi.ss-vnf-assignments = /rests/data/GENERIC-RESOURCE-API:services/service={service-instance-id}/service-data/vnfs/vnf={vnf-id}?content=config ccsdkTopopnfs.pnf[17].admin-status = up ccsdkTopologicalLinks.logical-link[1].relationship-list.relationship[1].related-to = p-interface param-prefix-src-tp[4] = 0 @@ -1512,7 +1512,7 @@ tmp.aai.src-pnf.p-interfaces.p-interface[3].in-maint = true ccsdkTopopnfs.pnf[23].relationship-list.relationship_length = 5 tmp.aai.src-pnf.p-interfaces.p-interface[3].relationship-list.relationship[2].relationship-data[0].relationship-key = logical-link.link-name tmp.otninfo[1].dstPort.dst-ltp-id = 12 -prop.restapi.vnf-provided-allottedresource = /restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-provided-allotted-resources/ +prop.restapi.vnf-provided-allottedresource = /rests/data/GENERIC-RESOURCE-API:services/service={service-instance-id}/service-data/vnfs/vnf={vnf-id}/vnf-data/vnf-provided-allotted-resources?content=config ccsdkTopologicalLinks.logical-link[24].relationship-list.relationship[1].related-to-property[0].property-key = p-interface.prov-status ccsdkTopopnfs.pnf[21].relationship-list.relationship[2].relationship-label = tosca.relationships.network.BindsTo param-prefix-domainB-pnfName[9] = ltpId @@ -1620,7 +1620,7 @@ ccsdkTopologicalLinks.logical-link[32].relationship-list.relationship[1].relatio tmp.aai.src-pnf.relationship-list.relationship[0].relationship-data[0].relationship-value = networkId-providerId-40-clientId-0-topologyId-1-nodeId-10.4.1.2-ttpId-OA== ccsdkTopologicalLinks.logical-link[25].relationship-list.relationship[1].relationship-label = tosca.relationships.network.LinksTo tmp.aai.dst-pnf.p-interfaces.p-interface[0].relationship-list.relationship[1].related-link = /aai/v21/network/logical-links/logical-link/networkId-providerId-50-clientId-0-topologyId-1-linkId-10.5.1.3-22 -prop.restapi.preloadinformation = /restconf/config/GENERIC-RESOURCE-API:preload-information/preload-list/ +prop.restapi.preloadinformation = /rests/data/GENERIC-RESOURCE-API:preload-information/preload-list?content=config tmp.aai.dst-ttp.relationship-list.relationship[1].relationship-data[0].relationship-value = networkId-providerId-50-clientId-0-topologyId-1-nodeId-10.5.1.1 ccsdkTopopnfs.pnf[3].relationship-list.relationship[4].related-to = network-resource ccsdkTopologicalLinks.logical-link[8].relationship-list.relationship[1].related-to-property[0].property-key = p-interface.prov-status @@ -1656,7 +1656,7 @@ tmp.aai.domainA.esr-thirdparty-sdnc.relationship-list.relationship[7].relationsh tmp.aai.dst-pnf.resource-version = 1618516951680 ccsdkTopopnfs.pnf[1].relationship-list.relationship[0].related-link = /aai/v21/external-system/esr-thirdparty-sdnc-list/esr-thirdparty-sdnc/9e86e17a-35ae-48b3-bd3c-f296c488fbfb ccsdkTopopnfs.pnf[8].relationship-list.relationship[2].relationship-data_length = 1 -prop.restapi.vnf-assign = /restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id} +prop.restapi.vnf-assign = /rests/data/GENERIC-RESOURCE-API:services/service={service-instance-id}/service-data/vnfs/vnf={vnf-id}?content=config ccsdkTopopnfs.pnf[8].relationship-list.relationship[0].relationship-label = tosca.relationships.network.BindsTo allNetworksList.network-resource[4].relationship-list.relationship[4].related-link = /aai/v21/network/pnfs/pnf/networkId-providerId-30-clientId-0-topologyId-2-nodeId-10.3.1.1 tmp.aai.service-instance.allotted-resources.allotted-resource[0].relationship-list.relationship[2].relationship-label = org.onap.relationships.inventory.ComposedOf @@ -1850,7 +1850,7 @@ allNetworksList.network-resource[3].relationship-list.relationship[2].relationsh ccsdkTopopnfs.pnf[3].relationship-list.relationship[0].relationship-data_length = 1 param-prefix-domainA[8] = 10.3.1.1 mvidx = 4 -prop.restapi.pm-configuration = /restconf/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{configuration-id}/ +prop.restapi.pm-configuration = /rests/data/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration={configuration-id}?content=config ccsdkTopopnfs.pnf[1].relationship-list.relationship[1].related-to-property[0].property-key = network-resource.network-id ccsdkTopopnfs.pnf[21].relationship-list.relationship[2].related-to = tunnel-termination-point logical-link-name = tranportEp_src_ID_311_2 @@ -1878,7 +1878,7 @@ ccsdkTopologicalLinks.logical-link[7].relationship-list.relationship[1].related- allNetworksList.network-resource[2].relationship-list.relationship[2].relationship-label = tosca.relationships.network.LinksTo ccsdkTopopnfs.pnf[4].relationship-list.relationship[3].relationship-data_length = 1 ccsdkTopopnfs.pnf[6].relationship-list.relationship[4].relationship-data_length = 1 -prop.restapi.vpp-honeycomb = /restconf/config/ietf-interfaces:interfaces/interface/{tunnel-name} +prop.restapi.vpp-honeycomb = /restconf/config/ietf-interfaces:interfaces/interface/{tunnel-name}/ tmp.aai.source-pnf.relationship-list.relationship[1].related-link = /aai/v21/network/network-resources/network-resource/providerId-30-clientId-0-topologyId-2 ccsdkTopopnfs.pnf[19].resource-version = 1618516868955 ccsdkTopopnfs.pnf[21].relationship-list.relationship[0].related-to = tunnel-termination-point @@ -1962,7 +1962,7 @@ ccsdkTopologicalLinks.logical-link[17].relationship-list.relationship[1].related ccsdkTopologicalLinks.logical-link[30].relationship-list.relationship[1].related-to = p-interface ccsdkTopopnfs.pnf[11].relationship-list.relationship[1].related-to = network-resource tmp.aai.dst-ttp.relationship-list.relationship[1].relationship-data_length = 2 -prop.restapi.network-provided-allottedresource = /restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vnf-provided-allotted-resources/ +prop.restapi.network-provided-allottedresource = /rests/data/GENERIC-RESOURCE-API:services/service={service-instance-id}/service-data/vnfs/vnf={vnf-id}/vnf-data/vnf-provided-allotted-resources?content=config ccsdkTopologicalLinks.logical-link[4].link-name = networkId-providerId-30-clientId-0-topologyId-1-linkId-10.3.1.3-16 ccsdkTopologicalLinks.logical-link[2].link-id = 10.3.1.1-14 tmp.aai.domainA.esr-thirdparty-sdnc.relationship-list.relationship[4].relationship-data_length = 1 @@ -2060,7 +2060,7 @@ ccsdkTopologicalLinks.logical-link[7].relationship-list.relationship[0].related- ccsdkTopologicalLinks.logical-link[28].relationship-list.relationship[0].relationship-data[0].relationship-key = pnf.pnf-name ccsdkTopopnfs.pnf[18].admin-status = up tmp.aai.src-tp.resource-version = 1618516893447 -prop.restapi.connection-attachment-allottedresource = /restconf/config/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource/{allotted-resource-id}/ +prop.restapi.connection-attachment-allottedresource = /rests/data/GENERIC-RESOURCE-API:connection-attachment-allotted-resources/connection-attachment-allotted-resource={allotted-resource-id}?content=config ccsdkTopopnfs.pnf[21].relationship-list.relationship[1].relationship-data[0].relationship-value = networkId-providerId-40-clientId-0-topologyId-1-nodeId-10.4.1.1-ttpId-Mg== ccsdkTopopnfs.pnf[22].resource-version = 1618516944957 tmp.aai.network-route-B.address-family = ipv4 @@ -2078,7 +2078,7 @@ ccsdkTopologicalLinks.logical-link[10].relationship-list.relationship[0].relatio tmp.aai.domainA.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info_length = 1 ccsdkTopologicalLinks.logical-link[11].relationship-list.relationship[1].related-to-property_length = 1 ccsdkTopopnfs.pnf[3].relationship-list.relationship[4].relationship-data_length = 1 -prop.restapi.service.vnf.vfmodule-resource = /restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id} +prop.restapi.service.vnf.vfmodule-resource = /rests/data/GENERIC-RESOURCE-API:services/service={service-instance-id}/service-data/vnfs/vnf={vnf-id}/vnf-data/vf-modules/vf-module={vf-module-id}?content=config ccsdkTopologicalLinks.logical-link[13].relationship-list.relationship[0].related-to = p-interface tmp.aai.src-pnf.p-interfaces.p-interface[2].relationship-list.relationship[1].relationship-label = tosca.relationships.network.LinksTo prop.restapi.ss-mS-vlan-tag-assign = /vlantagapi/v1/{action} @@ -2152,7 +2152,7 @@ ccsdkTopologicalLinks.logical-link[24].relationship-list.relationship[1].relatio tmp.aai.src-pnf.relationship-list.relationship[4].related-link = /aai/v21/network/network-resources/network-resource/providerId-40-clientId-0-topologyId-1 vnf-topology-operation-input.request-information.order-version = ccsdkTopopnfs.pnf[13].relationship-list.relationship[4].relationship-data[0].relationship-key = network-resource.network-id -prop.restapi.brg-allottedresource = /restconf/config/GENERIC-RESOURCE-API:brg-allotted-resources/brg-allotted-resource/{allotted-resource-id}/ +prop.restapi.brg-allottedresource = /rests/data/GENERIC-RESOURCE-API:brg-allotted-resources/brg-allotted-resource={allotted-resource-id}?content=config ccsdkTopologicalLinks.logical-link[31].relationship-list.relationship[1].relationship-data_length = 2 ccsdkTopologicalLinks.logical-link[28].in-maint = false tmp.aai.network-policy.relationship-list.relationship[0].relationship-data[0].relationship-value = 5GCustomer @@ -2294,7 +2294,7 @@ ccsdkTopopnfs.pnf[9].resource-version = 1618516886934 tmp.aai.domainA.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url = http://192.168.198.10:18181 tmp.aai.src-pnf.p-interfaces.p-interface[1].relationship-list.relationship[0].relationship-label = tosca.relationships.network.BindsTo ccsdkTopopnfs.pnf[17].relationship-list.relationship[2].relationship-data_length = 1 -prop.restapi.sz-allottedresource = /restconf/config/GENERIC-RESOURCE-API:security-zone-allotted-resources/security-zone-allotted-resource/{allotted-resource-id}/ +prop.restapi.sz-allottedresource = /rests/data/GENERIC-RESOURCE-API:security-zone-allotted-resources/security-zone-allotted-resource={allotted-resource-id}?content=config tmp.aai.dst-pnf.relationship-list.relationship[4].related-to-property[0].property-value = providerId-50-clientId-0-topologyId-1 ccsdkTopologicalLinks.logical-link[13].relationship-list.relationship[0].relationship-data[1].relationship-value = networkId-providerId-30-clientId-0-topologyId-1-nodeId-10.3.1.1-ltpId-12 ccsdkTopologicalLinks.logical-link[10].relationship-list.relationship[1].relationship-data_length = 2 @@ -2369,7 +2369,7 @@ ccsdkTopologicalLinks.logical-link[26].relationship-list.relationship[0].relatio ccsdkTopopnfs.pnf[4].operational-status = up ccsdkTopologicalLinks.logical-link[1].relationship-list.relationship[1].relationship-data[0].relationship-value = networkId-providerId-30-clientId-0-topologyId-1-nodeId-10.3.1.2 otn-oof.solutions[1].original_link = networkId-providerId-40-clientId-0-topologyId-1-linkId-10.4.1.2-12 -prop.restapi.services = /restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id} +prop.restapi.services = /rests/data/GENERIC-RESOURCE-API:services/service={service-instance-id}?content=config ccsdkTopopnfs.pnf[14].relationship-list.relationship[1].related-link = /aai/v21/network/tunnel-termination-points/tunnel-termination-point/networkId-providerId-50-clientId-0-topologyId-1-nodeId-10.5.1.4-ttpId-MTI%3D ccsdkTopopnfs.pnf[15].relationship-list.relationship[1].relationship-label = tosca.relationships.network.LinksTo ccsdkTopopnfs.pnf[7].relationship-list.relationship[0].relationship-label = org.onap.relationships.inventory.AppliesTo @@ -2420,13 +2420,13 @@ param-prefix-dst-tp[0] = ccsdkTopologicalLinks.logical-link[26].relationship-list.relationship[0].relationship-data[0].relationship-key = pnf.pnf-name ccsdkTopologicalLinks.logical-link[30].relationship-list.relationship[1].relationship-data[0].relationship-value = networkId-providerId-50-clientId-0-topologyId-1-nodeId-10.5.1.3 tmp.aai.network-route-B.function = 3gppTransportEP -prop.restapi.parent-provided-resource = /restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/provided-allotted-resources/provided-allotted-resource/{allotted-resource-id}/ +prop.restapi.parent-provided-resource = /rests/data/GENERIC-RESOURCE-API:services/service={service-instance-id}/service-data/provided-allotted-resources/provided-allotted-resource={allotted-resource-id}?content=config ccsdkTopologicalLinks.logical-link[9].relationship-list.relationship[1].relationship-data[0].relationship-value = networkId-providerId-40-clientId-0-topologyId-1-nodeId-10.4.1.3 ccsdkTopopnfs.pnf[7].pnf-name = networkId-providerId-50-clientId-0-topologyId-2-nodeId-10.5.1.4 ccsdkTopologicalLinks.logical-link[4].relationship-list.relationship_length = 2 vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.param[0].name = henry-alloc-002 ccsdkTopopnfs.pnf[4].relationship-list.relationship[2].relationship-data[0].relationship-value = networkId-providerId-40-clientId-0-topologyId-1-nodeId-10.4.1.2-ttpId-MTI= -prop.restapi.ss-vfmodule-assignments = /restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/ +prop.restapi.ss-vfmodule-assignments = /rests/data/GENERIC-RESOURCE-API:services/service={service-instance-id}/service-data/vnfs/vnf={vnf-id}/vnf-data/vf-modules/vf-module={vf-module-id}?content=config allNetworksList.network-resource[1].relationship-list.relationship[4].relationship-data[0].relationship-value = networkId-providerId-50-clientId-0-topologyId-2-nodeId-10.5.1.2 tmp.aai.dst-pnf.relationship-list.relationship[4].related-to = network-resource prop.otn-tunnel-name = 00c0c006-9eb6-4113-a0cf-cbbfb154f5f6 @@ -2665,7 +2665,7 @@ ccsdkTopologicalLinks.logical-link[29].relationship-list.relationship[0].relatio tmp.aai.dst-ttp.encoding = ietf-te-types:lsp-encoding-oduk ccsdkTopologicalLinks.logical-link[14].relationship-list.relationship[1].relationship-data[1].relationship-key = p-interface.interface-name tmp.aai.src-pnf.p-interfaces.p-interface[1].relationship-list.relationship[1].relationship-data[0].relationship-value = networkId-providerId-40-clientId-0-topologyId-1-linkId-10.4.1.2-2 -prop.restapi.tx-allottedresource = /restconf/config/GENERIC-RESOURCE-API:tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/{allotted-resource-id}/ +prop.restapi.tx-allottedresource = /rests/data/GENERIC-RESOURCE-API:tunnelxconn-allotted-resources/tunnelxconn-allotted-resource={allotted-resource-id}?content=config ccsdkTopologicalLinks.logical-link[11].relationship-list.relationship[1].related-link = /aai/v21/network/pnfs/pnf/networkId-providerId-30-clientId-0-topologyId-1-nodeId-10.3.1.3/p-interfaces/p-interface/networkId-providerId-30-clientId-0-topologyId-1-nodeId-10.3.1.3-ltpId-22 ccsdkTopopnfs.pnf[5].relationship-list.relationship[0].relationship-data[0].relationship-key = esr-thirdparty-sdnc.thirdparty-sdnc-id ccsdkTopologicalLinks.logical-link[4].relationship-list.relationship[1].related-link = /aai/v21/network/pnfs/pnf/networkId-providerId-30-clientId-0-topologyId-1-nodeId-10.3.1.4/p-interfaces/p-interface/networkId-providerId-30-clientId-0-topologyId-1-nodeId-10.3.1.4-ltpId-12 @@ -2710,7 +2710,7 @@ ccsdkTopologicalLinks.logical-link[23].relationship-list.relationship[0].relatio ccsdkTopologicalLinks.logical-link[20].link-name = networkId-providerId-50-clientId-0-topologyId-1-linkId-10.5.1.2-12 ccsdkTopologicalLinks.logical-link[16].in-maint = false tmp.aai.service-instance.allotted-resources.allotted-resource[0].relationship-list.relationship[3].related-to-property[0].property-value = 1234 -prop.restapi.vf-module = /restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/vnfs/vnf/{vnf-id}/vnf-data/vf-modules/vf-module/{vf-module-id}/ +prop.restapi.vf-module = /rests/data/GENERIC-RESOURCE-API:services/service={service-instance-id}/service-data/vnfs/vnf={vnf-id}/vnf-data/vf-modules/vf-module={vf-module-id}?content=config ccsdkTopologicalLinks.logical-link[13].relationship-list.relationship[0].related-link = /aai/v21/network/pnfs/pnf/networkId-providerId-30-clientId-0-topologyId-1-nodeId-10.3.1.1/p-interfaces/p-interface/networkId-providerId-30-clientId-0-topologyId-1-nodeId-10.3.1.1-ltpId-12 ccsdkTopologicalLinks.logical-link[29].relationship-list.relationship[1].relationship-data[0].relationship-key = pnf.pnf-name allNetworksList.network-resource[5].relationship-list.relationship[0].related-to = esr-thirdparty-sdnc @@ -2751,7 +2751,7 @@ tmp.aai.dst-pnf.relationship-list.relationship[3].relationship-data[0].relations tmp.aai.dst-ttp.relationship-list.relationship[0].relationship-label = tosca.relationships.network.BindsTo ccsdkTopologicalLinks.logical-link[5].relationship-list.relationship[1].relationship-data[0].relationship-key = pnf.pnf-name tmp.otninfo[1].dstPort.dst-access-topology-id = 1 -prop.restapi.ss-pnf-assignments = /restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data/pnfs/pnf/{pnf-id}/ +prop.restapi.ss-pnf-assignments = /rests/data/GENERIC-RESOURCE-API:services/service={service-instance-id}/service-data/pnfs/pnf={pnf-id}?content=config ccsdkTopologicalLinks.logical-link[14].link-name = networkId-providerId-30-clientId-0-topologyId-1-linkId-10.3.1.4-12 ccsdkTopopnfs.pnf[8].relationship-list.relationship[1].related-to = tunnel-termination-point tmp.aai.domainB.esr-thirdparty-sdnc.relationship-list.relationship[7].relationship-label = org.onap.relationships.inventory.AppliesTo @@ -2816,7 +2816,7 @@ ccsdkTopologicalLinks.logical-link[32].relationship-list.relationship[1].related tmp.src.ltpId = 312 ccsdkTopopnfs.pnf[12].relationship-list.relationship[5].relationship-data[0].relationship-key = network-resource.network-id ccsdkTopologicalLinks.logical-link[17].relationship-list.relationship[0].relationship-data[1].relationship-value = networkId-providerId-30-clientId-0-topologyId-1-nodeId-10.3.1.3-ltpId-12 -prop.restapi.cr-allottedresource = /restconf/config/GENERIC-RESOURCE-API:contrail-route-allotted-resources/contrail-route-allotted-resource/{allotted-resource-id}/ +prop.restapi.cr-allottedresource = /rests/data/GENERIC-RESOURCE-API:contrail-route-allotted-resources/contrail-route-allotted-resource={allotted-resource-id}?content=config param-prefix-domainB-pnfName_length = 11 ccsdkTopopnfs.pnf[2].relationship-list.relationship[3].related-to-property[0].property-key = network-resource.network-id tmp.aai.src-ttp.relationship-list.relationship[0].related-link = /aai/v21/network/pnfs/pnf/networkId-providerId-40-clientId-0-topologyId-1-nodeId-10.4.1.2 -- cgit 1.2.3-korg