diff options
author | Rich Tabedzki <richard.tabedzki@att.com> | 2017-08-10 14:03:15 +0000 |
---|---|---|
committer | Rich Tabedzki <richard.tabedzki@att.com> | 2017-08-10 14:08:24 +0000 |
commit | 8c5e6335b73edd047e9f796962ced37eee5051f2 (patch) | |
tree | b0869e10cc1be8ff989133b4609961d305b939b2 /aai-service | |
parent | 7aeb6339da8ab2bd346655438b65fa4a413c7405 (diff) |
[SDNC-30] summary
Updated code to use the latest AAI data model and latest XSD model version
Change-Id: I0dc536b543c47d363c99db1fe581361fe64db317
Signed-off-by: Rich Tabedzki <richard.tabedzki@att.com>
Diffstat (limited to 'aai-service')
-rwxr-xr-x | aai-service/provider/pom.xml | 8 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIClient.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/AAIClient.java) | 25 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIDeclarations.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/AAIDeclarations.java) | 334 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIExecutorInterface.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/AAIExecutorInterface.java) | 0 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIRequest.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/AAIRequest.java) | 46 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIService.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/AAIService.java) | 142 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIServiceActivator.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/AAIServiceActivator.java) | 0 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIServiceException.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/AAIServiceException.java) | 0 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIServiceUtils.java | 340 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAITrinityService.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/AAITrinityService.java) | 0 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/CloudRegionRequest.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/CloudRegionRequest.java) | 2 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/CustomQueryRequest.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/CustomQueryRequest.java) | 0 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/EchoRequest.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/EchoRequest.java) | 0 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/GenericQueryRequest.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/GenericQueryRequest.java) | 2 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/GenericRequest.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/GenericRequest.java) | 4 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/GenericVnfRequest.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/GenericVnfRequest.java) | 2 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/L3InterfaceIpv4AddressListRequest.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/L3InterfaceIpv4AddressListRequest.java) | 54 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/L3InterfaceIpv6AddressListRequest.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/L3InterfaceIpv6AddressListRequest.java) | 46 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/LInterfaceRequest.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/LInterfaceRequest.java) | 2 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/LagInterfacePnfRequest.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/LagInterfacePnfRequest.java) | 2 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/NamedQueryRequest.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/NamedQueryRequest.java) | 2 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/NodesQueryRequest.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/NodesQueryRequest.java) | 2 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/PInterfacePnfRequest.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/PInterfacePnfRequest.java) | 2 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/PInterfaceRequest.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/PInterfaceRequest.java) | 2 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/PathRequest.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/PathRequest.java) | 0 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/PhysicalLinkRequest.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/PhysicalLinkRequest.java) | 2 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/RelationshipRequest.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/RelationshipRequest.java) | 2 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/SelfLinkRequest.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/SelfLinkRequest.java) | 10 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/SubInterfaceRequest.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/SubInterfaceRequest.java) | 2 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/UpdateRequest.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/UpdateRequest.java) | 0 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/AAIDatum.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/AAIDatum.java) | 0 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/EchoResponse.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/EchoResponse.java) | 0 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ErrorResponse.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/ErrorResponse.java) | 0 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/RequestError.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/RequestError.java) | 0 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ResourceVersion.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/ResourceVersion.java) | 0 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ResponseMessage.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/ResponseMessage.java) | 0 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ResponseMessages.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/ResponseMessages.java) | 0 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ServiceException.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/ServiceException.java) | 0 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/SubInterface.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/SubInterface.java) | 4 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/Variables.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/Variables.java) | 0 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/notify/KeyDatum.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/notify/KeyDatum.java) | 0 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/notify/NotifyEvent.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/notify/NotifyEvent.java) | 0 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/Flavor.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/v1507/Flavor.java) | 0 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/Host.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/v1507/Host.java) | 0 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/Image.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/v1507/Image.java) | 0 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/IpAddress.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/v1507/IpAddress.java) | 0 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/Relationship.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/v1507/Relationship.java) | 0 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/RelationshipDatum.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/v1507/RelationshipDatum.java) | 0 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/RelationshipList.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/v1507/RelationshipList.java) | 0 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/VServer.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/v1507/VServer.java) | 0 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/FormattedQueryRequestData.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/query/FormattedQueryRequestData.java) | 0 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/FormattedQueryResultList.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/query/FormattedQueryResultList.java) | 0 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/InstanceFilter.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/query/InstanceFilter.java) | 8 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/InstanceFilters.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/query/InstanceFilters.java) | 0 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/NamedQuery.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/query/NamedQuery.java) | 0 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/NamedQueryData.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/query/NamedQueryData.java) | 0 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/QueryParameters.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/query/QueryParameters.java) | 0 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/Results.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/query/Results.java) | 2 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/Action.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/update/Action.java) | 0 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/ActionDatum.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/update/ActionDatum.java) | 0 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/Update.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/update/Update.java) | 0 | ||||
-rw-r--r-- | aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/UpdateNodeKey.java (renamed from aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/update/UpdateNodeKey.java) | 0 | ||||
-rw-r--r-- | aai-service/provider/src/main/resources/aai-path.properties | 336 | ||||
-rwxr-xr-x | aai-service/provider/src/main/resources/aai-schema-bindings.xjb | 2 | ||||
-rwxr-xr-x | aai-service/provider/src/main/resources/aai_schema_v11.xsd (renamed from aai-service/provider/src/main/resources/aai_schema_v10.xsd) | 594 | ||||
-rw-r--r-- | aai-service/provider/src/test/java/org/onap/ccsdk/sli/adaptors/aai/r1607/R1607AutoGeneratedTest.java (renamed from aai-service/provider/src/test/java/org/onap/sli/adaptors/aai/r1607/R1607AutoGeneratedTest.java) | 4 |
66 files changed, 1329 insertions, 654 deletions
diff --git a/aai-service/provider/pom.xml b/aai-service/provider/pom.xml index a9aa98d74..00334b515 100755 --- a/aai-service/provider/pom.xml +++ b/aai-service/provider/pom.xml @@ -130,8 +130,8 @@ <configuration> <instructions> <Bundle-SymbolicName>org.openecomp.sdnc.sli.aai</Bundle-SymbolicName> - <Bundle-Activator>org.openecomp.sdnc.sli.aai.AAIServiceActivator</Bundle-Activator> - <Export-Package>org.openecomp.sdnc.sli.aai.*,org.openecomp.aai.inventory.v10.*</Export-Package> + <Bundle-Activator>org.onap.ccsdk.sli.adaptors.aai.AAIServiceActivator</Bundle-Activator> + <Export-Package>org.onap.ccsdk.sli.adaptors.aai.*,org.openecomp.aai.inventory.v11.*</Export-Package> <Import-Package>org.openecomp.sdnc.sli.*,org.osgi.framework.*,org.slf4j.*,org.apache.commons.lang3.*,javax.xml.bind.annotation.*,javax.ws.rs.*,javax.ws.rs.core.*,com.fasterxml.jackson.module.jaxb.*,com.sun.jersey.client.urlconnection.*,com.sun.jersey.api.client.config.*,com.fasterxml.jackson.databind.type.*,com.fasterxml.jackson.module.jaxb.*,com.fasterxml.jackson.databind.introspect.*,com.fasterxml.jackson.annotation.*,com.fasterxml.jackson.databind.*</Import-Package> <Import-Package>*</Import-Package> <Embed-Transitive>true</Embed-Transitive> @@ -155,13 +155,13 @@ <configuration> <schemaDirectory>${project.basedir}/src/main/resources</schemaDirectory> <schemaIncludes> - <value>aai_schema_v10.xsd</value> + <value>aai_schema_v11.xsd</value> </schemaIncludes> <bindingIncludes> <include>aai-schema-bindings.xjb</include> </bindingIncludes> <generateDirectory>${project.build.directory}/generated-sources/main/java</generateDirectory> - <generatePackage>org.openecomp.aai.inventory.v10</generatePackage> + <generatePackage>org.openecomp.aai.inventory.v11</generatePackage> <extension>true</extension> <args> <arg>-Xannotate</arg> diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/AAIClient.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIClient.java index ba5ef587e..4d836b40a 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/AAIClient.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIClient.java @@ -22,36 +22,17 @@ package org.onap.ccsdk.sli.adaptors.aai; import java.io.IOException; +import java.net.MalformedURLException; import java.net.URL; import java.util.HashMap; import java.util.Map; +import org.openecomp.aai.inventory.v11.*; import org.onap.ccsdk.sli.core.sli.SvcLogicContext; import org.onap.ccsdk.sli.core.sli.SvcLogicException; import org.onap.ccsdk.sli.core.sli.SvcLogicJavaPlugin; import org.onap.ccsdk.sli.core.sli.SvcLogicResource; import org.onap.ccsdk.sli.core.sli.SvcLogicResource.QueryStatus; -import org.openecomp.aai.inventory.v10.AvailabilityZone; -import org.openecomp.aai.inventory.v10.Complex; -import org.openecomp.aai.inventory.v10.CtagPool; -import org.openecomp.aai.inventory.v10.DvsSwitch; -import org.openecomp.aai.inventory.v10.GenericVnf; -import org.openecomp.aai.inventory.v10.L3Network; -import org.openecomp.aai.inventory.v10.OamNetwork; -import org.openecomp.aai.inventory.v10.PInterface; -import org.openecomp.aai.inventory.v10.PhysicalLink; -import org.openecomp.aai.inventory.v10.Pserver; -import org.openecomp.aai.inventory.v10.SearchResults; -import org.openecomp.aai.inventory.v10.Service; -import org.openecomp.aai.inventory.v10.ServiceInstance; -import org.openecomp.aai.inventory.v10.SitePairSet; -import org.openecomp.aai.inventory.v10.Tenant; -import org.openecomp.aai.inventory.v10.Vce; -import org.openecomp.aai.inventory.v10.VnfImage; -import org.openecomp.aai.inventory.v10.Vpe; -import org.openecomp.aai.inventory.v10.VplsPe; -import org.openecomp.aai.inventory.v10.VpnBinding; -import org.openecomp.aai.inventory.v10.Vserver; import org.onap.ccsdk.sli.adaptors.aai.data.notify.NotifyEvent; import org.onap.ccsdk.sli.adaptors.aai.data.v1507.VServer; @@ -216,5 +197,7 @@ public interface AAIClient extends SvcLogicResource, SvcLogicJavaPlugin { public void logKeyError(String keys); public QueryStatus processResponseData(String rv, String resource, AAIRequest request, String prefix, SvcLogicContext ctx, HashMap<String, String> nameValues, String modifier) throws JsonParseException, JsonMappingException, IOException, AAIServiceException ; + public String getPathTemplateForResource(String resoourceName, String join, SvcLogicContext ctx) throws MalformedURLException; + public boolean isDeprecatedFormat(String resource, HashMap<String, String> nameValues); } diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/AAIDeclarations.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIDeclarations.java index 3ba453d36..73c2eebbf 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/AAIDeclarations.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIDeclarations.java @@ -48,23 +48,23 @@ import org.apache.commons.lang.StringUtils; import org.onap.ccsdk.sli.core.sli.SvcLogicContext; import org.onap.ccsdk.sli.core.sli.SvcLogicException; import org.onap.ccsdk.sli.core.sli.SvcLogicResource.QueryStatus; -import org.openecomp.aai.inventory.v10.GenericVnf; -import org.openecomp.aai.inventory.v10.InventoryResponseItem; -import org.openecomp.aai.inventory.v10.InventoryResponseItems; -import org.openecomp.aai.inventory.v10.L3Network; -import org.openecomp.aai.inventory.v10.LogicalLink; -import org.openecomp.aai.inventory.v10.Metadata; -import org.openecomp.aai.inventory.v10.Metadatum; -import org.openecomp.aai.inventory.v10.Pnf; -import org.openecomp.aai.inventory.v10.Relationship; -import org.openecomp.aai.inventory.v10.RelationshipData; -import org.openecomp.aai.inventory.v10.RelationshipList; -import org.openecomp.aai.inventory.v10.ResultData; -import org.openecomp.aai.inventory.v10.SearchResults; -import org.openecomp.aai.inventory.v10.ServiceInstance; -import org.openecomp.aai.inventory.v10.Vlan; -import org.openecomp.aai.inventory.v10.Vlans; -import org.openecomp.aai.inventory.v10.Vserver; +import org.openecomp.aai.inventory.v11.GenericVnf; +import org.openecomp.aai.inventory.v11.InventoryResponseItem; +import org.openecomp.aai.inventory.v11.InventoryResponseItems; +import org.openecomp.aai.inventory.v11.L3Network; +import org.openecomp.aai.inventory.v11.LogicalLink; +import org.openecomp.aai.inventory.v11.Metadata; +import org.openecomp.aai.inventory.v11.Metadatum; +import org.openecomp.aai.inventory.v11.Pnf; +import org.openecomp.aai.inventory.v11.Relationship; +import org.openecomp.aai.inventory.v11.RelationshipData; +import org.openecomp.aai.inventory.v11.RelationshipList; +import org.openecomp.aai.inventory.v11.ResultData; +import org.openecomp.aai.inventory.v11.SearchResults; +import org.openecomp.aai.inventory.v11.ServiceInstance; +import org.openecomp.aai.inventory.v11.Vlan; +import org.openecomp.aai.inventory.v11.Vlans; +import org.openecomp.aai.inventory.v11.Vserver; import org.onap.ccsdk.sli.adaptors.aai.AAIService.AAIRequestExecutor; import org.onap.ccsdk.sli.adaptors.aai.data.AAIDatum; import org.onap.ccsdk.sli.adaptors.aai.query.FormattedQueryResultList; @@ -148,10 +148,10 @@ public abstract class AAIDeclarations implements AAIClient { String vnfId = null; String vnfName = null; - HashMap<String, String> nameValues = keyToHashMap(key, ctx); + HashMap<String, String> nameValues = AAIServiceUtils.keyToHashMap(key, ctx); getLogger().debug("key = "+ nameValues.toString()); - if(!checkOldFormat(resource, nameValues)) { + if(!AAIServiceUtils.isValidFormat(resource, nameValues)) { ctx.setAttribute(String.format("%s.error.message", prefix), String.format("Resource %s is not supported. Key string contains invaid identifiers", resource)); return QueryStatus.FAILURE; } @@ -392,37 +392,6 @@ public abstract class AAIDeclarations implements AAIClient { // return QueryStatus.SUCCESS; } - private boolean checkOldFormat(String resource, HashMap<String, String> nameValues) { - - switch(resource){ - case "formatted-query": - case "generic-query": - case "named-query": - case "nodes-query": - case "linterface": - case "l2-bridge-sbg": - case "l2-bridge-bgf": - case "echo": - case "test": - return true; - } - if(resource.contains(":")) { - resource = resource.substring(0, resource.indexOf(":")); - } - - Set<String> keys = nameValues.keySet(); - for(String key : keys) { - if(!key.contains(".")) { - if("depth".equals(key) || "related-to".equals(key) || "related_to".equals(key)) - continue; - else { - getLogger().warn(String.format("key %s is incompatible with resource type '%s'", key, resource)); - return false; - } - } - } - return true; - } public void writeMap(Map<String, Object> properties, String prefix, SvcLogicContext ctx) { Set<String> mapKeys = properties.keySet(); @@ -468,9 +437,9 @@ public abstract class AAIDeclarations implements AAIClient { throws SvcLogicException { getLogger().debug("AAIService.save\tresource="+resource); - HashMap<String, String> nameValues = keyToHashMap(key, ctx); + HashMap<String, String> nameValues = AAIServiceUtils.keyToHashMap(key, ctx); - if(!checkOldFormat(resource, nameValues)) { + if(!AAIServiceUtils.isValidFormat(resource, nameValues)) { ctx.setAttribute(String.format("%s.error.message", prefix), String.format("Resource %s is not supported. Key string contains invaid identifiers", resource)); return QueryStatus.FAILURE; } @@ -607,9 +576,9 @@ public abstract class AAIDeclarations implements AAIClient { public QueryStatus update(String resource, String key, Map<String, String> params, String prefix, SvcLogicContext ctx) throws SvcLogicException { resource = resource.toLowerCase(); - HashMap<String, String> nameValues = keyToHashMap(key, ctx); + HashMap<String, String> nameValues = AAIServiceUtils.keyToHashMap(key, ctx); getLogger().debug("key = "+ Arrays.toString(nameValues.entrySet().toArray())); - if(!checkOldFormat(resource, nameValues)) { + if(!AAIServiceUtils.isValidFormat(resource, nameValues)) { ctx.setAttribute(String.format("%s.error.message", prefix), String.format("Resource %s is not supported. Key string contains invaid identifiers", resource)); return QueryStatus.FAILURE; } @@ -668,10 +637,10 @@ public abstract class AAIDeclarations implements AAIClient { @Override public QueryStatus delete(String resource, String key, SvcLogicContext ctx) throws SvcLogicException { getLogger().debug("AAIService.delete\tresource="+resource); - HashMap<String, String> nameValues = keyToHashMap(key, ctx); + HashMap<String, String> nameValues = AAIServiceUtils.keyToHashMap(key, ctx); getLogger().debug("key = "+ Arrays.toString(nameValues.entrySet().toArray())); - if(!checkOldFormat(resource, nameValues)) { + if(!AAIServiceUtils.isValidFormat(resource, nameValues)) { ctx.setAttribute(String.format("%s.error.message", "aaiData"), String.format("Resource %s is not supported. Key string contains invaid identifiers", resource)); return QueryStatus.FAILURE; } @@ -824,7 +793,7 @@ public abstract class AAIDeclarations implements AAIClient { QueryStatus retval = QueryStatus.SUCCESS; String modifier = null; - HashMap<String, String> nameValues = keyToHashMap(key, ctx); + HashMap<String, String> nameValues = AAIServiceUtils.keyToHashMap(key, ctx); if(resource.contains(":")) { modifier = resource.split(":")[1]; } @@ -922,7 +891,7 @@ public abstract class AAIDeclarations implements AAIClient { response = rDatum; } - if("formatted-query".equals(resource)) { + if("formatted-query".equals(resource) || "custom-query".equals(resource)) { FormattedQueryResultList rd = FormattedQueryResultList.class.cast(response); List<Results> iRIlist = rd.getResults(); if(iRIlist == null || iRIlist.isEmpty()) { @@ -930,6 +899,20 @@ public abstract class AAIDeclarations implements AAIClient { } } + // process relationship list + // this is a temporary soluton to address the realationship handling changes added in Release 17.07 + try { + Class<?> clazz = response.getClass(); + Method getter = clazz.getMethod("getRelationshipList"); + Object obj = getter.invoke(response); + if(obj != null && obj instanceof RelationshipList) { + RelationshipList list = RelationshipList.class.cast(obj); + AAIServiceUtils.populateRelationshipDataFromPath(list); + } + } catch(Exception exc) { + getLogger().debug("Retrofiting relationship data: " + exc.getMessage()); + } + String preFix = null; if(prefix == null || prefix.isEmpty()) { preFix = ""; @@ -967,7 +950,6 @@ public abstract class AAIDeclarations implements AAIClient { if(value instanceof ArrayList) { ArrayList<?> array = ArrayList.class.cast(value); for(int i = 0; i < array.size(); i++) { -// ctx.setAttribute(String.format("%s%s[%d]", preFix, theKey, i), array.get(i).toString()); writeList(array, String.format("%s.%s", prefix, theKey), ctx); } continue; @@ -1099,13 +1081,13 @@ public abstract class AAIDeclarations implements AAIClient { throw new SvcLogicException("Method AAIService.reserve() has not been implemented yet"); } - private QueryStatus newModelSave(String resource, boolean force, String key, Map<String, String> parms, String prefix, SvcLogicContext ctx) { + private QueryStatus newModelSave(String resource, boolean force, String key, Map<String, String> params, String prefix, SvcLogicContext ctx) { getLogger().debug("Executing newModelSave for resource : " + resource); - HashMap<String, String> nameValues = keyToHashMap(key, ctx); + HashMap<String, String> nameValues = AAIServiceUtils.keyToHashMap(key, ctx); try { ArrayList<String> subResources = new ArrayList<String>(); - Set<String> set = parms.keySet(); + Set<String> set = params.keySet(); Map<String, Method> setters = new HashMap<String, Method>(); Map<String, Method> getters = new HashMap<String, Method>(); @@ -1120,14 +1102,13 @@ public abstract class AAIDeclarations implements AAIClient { for(Annotation annotation : annotations) { Class<? extends Annotation> anotationType = annotation.annotationType(); String annotationName = anotationType.getName(); -// if("com.fasterxml.jackson.annotation.JsonPropertyOrder".equals(annotationName)){ // 2. find string property setters and getters for the lists if("javax.xml.bind.annotation.XmlType".equals(annotationName)){ XmlType order = (XmlType)annotation; String[] values = order.propOrder(); for(String value : values) { - String id = camelCaseToDashedString(value); + String id = AAIServiceUtils.camelCaseToDashedString(value); Field field = resourceClass.getDeclaredField(value); Class<?> type = field.getType(); Method setter = null; @@ -1137,17 +1118,17 @@ public abstract class AAIDeclarations implements AAIClient { try { setter.setAccessible(true); Object arglist[] = new Object[1]; - arglist[0] = parms.get(id); + arglist[0] = params.get(id); if(arglist[0] != null) { if(!type.getName().equals("java.lang.String")) { // getLogger().debug(String.format("Processing %s with parameter %s", types[0].getName(), value)); if("boolean".equals(type.getName())) { - arglist[0] = valueOf(Boolean.class, parms.get(id)); + arglist[0] = valueOf(Boolean.class, params.get(id)); } else if("long".equals(type.getName())) { - arglist[0] = valueOf(Long.class, parms.get(id)); + arglist[0] = valueOf(Long.class, params.get(id)); } else { - arglist[0] = valueOf(type, parms.get(id)); + arglist[0] = valueOf(type, params.get(id)); } } Object o = setter.invoke(instance, arglist); @@ -1161,11 +1142,11 @@ public abstract class AAIDeclarations implements AAIClient { } else if(type.getName().equals("java.util.List")) { List<String> newValues = new ArrayList<String>(); String length = id+"_length"; - if(!parms.isEmpty() && parms.containsKey(length)) { - String tmp = parms.get(length).toString(); + if(!params.isEmpty() && params.containsKey(length)) { + String tmp = params.get(length).toString(); int count = Integer.valueOf(tmp); for(int i=0; i<count; i++) { - String tmpValue = parms.get(String.format("%s[%d]", id, i)); + String tmpValue = params.get(String.format("%s[%d]", id, i)); newValues.add(tmpValue); } if(!newValues.isEmpty()) { @@ -1208,7 +1189,7 @@ public abstract class AAIDeclarations implements AAIClient { Set<String> metadataKeys = new TreeSet<String>(); for(String attribute : set) { - String value = parms.get(attribute); + String value = params.get(attribute); if(attribute.startsWith("relationship-list")) { relationshipKeys.add(attribute); } else if(attribute.startsWith("vlans")) { @@ -1219,7 +1200,7 @@ public abstract class AAIDeclarations implements AAIClient { } // 3. find list property getters for(String attribute : set) { - String value = parms.get(attribute); + String value = params.get(attribute); Method method = getters.get(attribute); if(method != null) { try { @@ -1250,7 +1231,13 @@ public abstract class AAIDeclarations implements AAIClient { if( (subResources.contains("relationship-list") || subResources.contains("relationshipList")) && !relationshipKeys.isEmpty()) { RelationshipList relationshipList = null; Object obj = null; - Method getRelationshipListMethod = resourceClass.getMethod("getRelationshipList"); + Method getRelationshipListMethod = null; + try { + getRelationshipListMethod = resourceClass.getMethod("getRelationshipList"); + } catch(Exception exc) { + getLogger().debug("Retrofiting relationship data: " + exc.getMessage()); + } + if(getRelationshipListMethod != null){ try { getRelationshipListMethod.setAccessible(true); @@ -1281,35 +1268,41 @@ public abstract class AAIDeclarations implements AAIClient { int i = 0; while(true){ - int j = 0; String searchKey = "relationship-list.relationship[" + i + "].related-to"; - if(!parms.containsKey(searchKey)) + if(!params.containsKey(searchKey)) break; + int j = 0; + String relatedTo = params.get(searchKey); + String relatedLinkKey = "relationship-list.relationship[" + i + "].related-link"; + String relatedLink = null; + if(params.containsKey(relatedLinkKey)) { + relatedLink = params.get(relatedLinkKey); + } Relationship relationship = new Relationship(); relationships.add(relationship); - - String relatedTo = parms.get(searchKey); relationship.setRelatedTo(relatedTo); - - List<RelationshipData> relData = relationship.getRelationshipData(); -// if(relData == null) { -// relData = new LinkedList<RelationshipData>(); -// relationship.setRelationshipData(relData); -// } + if(relatedLink != null) { + relationship.setRelatedLink(relatedLink); + } else { +// List<RelationshipData> relData = relationship.getRelationshipData(); + Map<String, String> relParams = new HashMap<String, String>(); while(true) { String searchRelationshipKey = "relationship-list.relationship[" + i + "].relationship-data[" + j + "].relationship-key"; String searchRelationshipValue = "relationship-list.relationship[" + i + "].relationship-data[" + j + "].relationship-value"; - if(!parms.containsKey(searchRelationshipKey)) + if(!params.containsKey(searchRelationshipKey)) break; - RelationshipData relDatum = new RelationshipData(); - relDatum.setRelationshipKey(parms.get(searchRelationshipKey)); - relDatum.setRelationshipValue(parms.get(searchRelationshipValue)); - relData.add(relDatum); + relParams.put(params.get(searchRelationshipKey), params.get(searchRelationshipValue)); j++; } - + AAIRequest rlRequest = AAIRequest.createRequest(relatedTo, relParams); + for(String key1 : relParams.keySet()) { + rlRequest.addRequestProperty(key1, relParams.get(key1)); + } + String path = rlRequest.updatePathDataValues(null); + relationship.setRelatedLink(path); + } i++; } } @@ -1348,14 +1341,14 @@ public abstract class AAIDeclarations implements AAIClient { int i = 0; while(true){ String searchKey = "vlans.vlan[" + i + "].vlan-interface"; - if(!parms.containsKey(searchKey)) + if(!params.containsKey(searchKey)) break; - String vlanInterface = parms.get("vlans.vlan[" + i + "].vlan-interface"); - String vlanIdInner = parms.get("vlans.vlan[" + i + "].vlan-id-inner"); - String vlanIdOute = parms.get("vlans.vlan[" + i + "].vlan-id-outer"); - String speedValue = parms.get("vlans.vlan[" + i + "].speed-value"); - String speedUnits = parms.get("vlans.vlan[" + i + "].speed-units"); + String vlanInterface = params.get("vlans.vlan[" + i + "].vlan-interface"); + String vlanIdInner = params.get("vlans.vlan[" + i + "].vlan-id-inner"); + String vlanIdOute = params.get("vlans.vlan[" + i + "].vlan-id-outer"); + String speedValue = params.get("vlans.vlan[" + i + "].speed-value"); + String speedUnits = params.get("vlans.vlan[" + i + "].speed-units"); Vlan vlan = new Vlan(); vlan.setVlanInterface(vlanInterface); @@ -1419,10 +1412,10 @@ public abstract class AAIDeclarations implements AAIClient { int i = 0; while(true){ String metaKey = "metadata.metadatum[" + i + "].meta-key"; - if(!parms.containsKey(metaKey)) + if(!params.containsKey(metaKey)) break; - String metaValue = parms.get("metadata.metadatum[" + i + "].meta-value"); + String metaValue = params.get("metadata.metadatum[" + i + "].meta-value"); Metadatum vlan = new Metadatum(); vlan.setMetaname(metaKey); @@ -1483,13 +1476,6 @@ public abstract class AAIDeclarations implements AAIClient { return QueryStatus.SUCCESS; } - private static final String regex = "([A-Z][a-z,0-9]+)"; - private static final String replacement = "-$1"; - - private String camelCaseToDashedString(String propOrder) { - return propOrder.replaceAll(regex, replacement).toLowerCase(); - } - private QueryStatus newModelProcessRelationshipList(Object instance, Map<String, String> params, String prefix, SvcLogicContext ctx) throws Exception { Class resourceClass = instance.getClass(); @@ -1511,7 +1497,12 @@ public abstract class AAIDeclarations implements AAIClient { if(!relationshipKeys.isEmpty()) { RelationshipList relationshipList = null; Object obj = null; - Method getRelationshipListMethod = resourceClass.getMethod("getRelationshipList"); + Method getRelationshipListMethod = null; + try { + getRelationshipListMethod = resourceClass.getMethod("getRelationshipList"); + } catch(Exception exc) { + getLogger().debug("Retrofiting relationship data: " + exc.getMessage()); + } if(getRelationshipListMethod != null){ try { getRelationshipListMethod.setAccessible(true); @@ -1546,13 +1537,12 @@ public abstract class AAIDeclarations implements AAIClient { } int i = 0; - int j = 0; while(true){ String searchKey = "relationship-list.relationship[" + i + "].related-to"; if(!params.containsKey(searchKey)) break; - j = 0; + int j = 0; String relatedTo = params.get(searchKey); String relatedLinkKey = "relationship-list.relationship[" + i + "].related-link"; String relatedLink = null; @@ -1566,7 +1556,7 @@ public abstract class AAIDeclarations implements AAIClient { if(relatedLink != null) { relationship.setRelatedLink(relatedLink); } else { - List<RelationshipData> relData = relationship.getRelationshipData(); + Map<String, String> relParams = new HashMap<String, String>(); while(true) { String searchRelationshipKey = "relationship-list.relationship[" + i + "].relationship-data[" + j + "].relationship-key"; @@ -1574,15 +1564,17 @@ public abstract class AAIDeclarations implements AAIClient { if(!params.containsKey(searchRelationshipKey)) break; - RelationshipData relDatum = new RelationshipData(); - relDatum.setRelationshipKey(params.get(searchRelationshipKey)); - relDatum.setRelationshipValue(params.get(searchRelationshipValue)); - relData.add(relDatum); + relParams.put(params.get(searchRelationshipKey), params.get(searchRelationshipValue)); j++; } + AAIRequest rlRequest = AAIRequest.createRequest(relatedTo, relParams); + for(String key : relParams.keySet()) { + rlRequest.addRequestProperty(key, relParams.get(key)); + } + String path = rlRequest.updatePathDataValues(null); + relationship.setRelatedLink(path); } - i++; } } @@ -1602,113 +1594,6 @@ public abstract class AAIDeclarations implements AAIClient { return null; } - protected HashMap<String,String> keyToHashMap(String key, SvcLogicContext ctx) { - if (key == null) { - return (null); - } - - getLogger().debug("Converting key [" + key + "] to where clause"); - - if (key.startsWith("'") && key.endsWith("'")) { - key = key.substring(1, key.length() - 1); - - getLogger().debug("Stripped outer single quotes - key is now [" + key + "]"); - } - - String[] keyTerms = key.split("\\s+"); - - StringBuffer whereBuff = new StringBuffer(); - String term1 = null; - String op = null; - String term2 = null; - HashMap<String, String> results = new HashMap<String, String>(); - - for (int i = 0; i < keyTerms.length; i++) { - if (term1 == null) { - if ("and".equalsIgnoreCase(keyTerms[i]) - || "or".equalsIgnoreCase(keyTerms[i])) { - // Skip over ADD/OR - } else { - term1 = resolveTerm(keyTerms[i], ctx); - } - } else if (op == null) { - if ("==".equals(keyTerms[i])) { - op = "="; - } else { - op = keyTerms[i]; - } - } else { - term2 = resolveTerm(keyTerms[i], ctx); - term2 = term2.trim().replace("'", "").replace("$", "").replace("'", ""); - results.put(term1, term2); - - term1 = null; - op = null; - term2 = null; - } - } - - return (results); - } - - private String resolveTerm(String term, SvcLogicContext ctx) { - if (term == null) { - return (null); - } - - getLogger().debug("resolveTerm: term is " + term); - - if (term.startsWith("$") && (ctx != null)) { - // Resolve any index variables. - - return ("'" + resolveCtxVariable(term.substring(1), ctx) + "'"); - } else if (term.startsWith("'") || term.startsWith("\"")) { - return (term); - } else { - return (term.replaceAll("-", "_")); - - } - - } - - private String resolveCtxVariable(String ctxVarName, SvcLogicContext ctx) { - - if (ctxVarName.indexOf('[') == -1) { - // Ctx variable contains no arrays - return (ctx.getAttribute(ctxVarName)); - } - - // Resolve any array references - StringBuffer sbuff = new StringBuffer(); - String[] ctxVarParts = ctxVarName.split("\\["); - sbuff.append(ctxVarParts[0]); - for (int i = 1; i < ctxVarParts.length; i++) { - if (ctxVarParts[i].startsWith("$")) { - int endBracketLoc = ctxVarParts[i].indexOf("]"); - if (endBracketLoc == -1) { - // Missing end bracket ... give up parsing - getLogger().warn("Variable reference " + ctxVarName - + " seems to be missing a ']'"); - return (ctx.getAttribute(ctxVarName)); - } - - String idxVarName = ctxVarParts[i].substring(1, endBracketLoc); - String remainder = ctxVarParts[i].substring(endBracketLoc); - - sbuff.append("["); - sbuff.append(ctx.getAttribute(idxVarName)); - sbuff.append(remainder); - - } else { - // Index is not a variable reference - sbuff.append("["); - sbuff.append(ctxVarParts[i]); - } - } - - return (ctx.getAttribute(sbuff.toString())); - } - public QueryStatus backup(Map<String, String> params, SvcLogicContext ctx) throws SvcLogicException { String resource = params.get("resource").toLowerCase(); @@ -1811,7 +1696,12 @@ public abstract class AAIDeclarations implements AAIClient { RelationshipList relationshipList = null; Object obj = null; - Method getRelationshipListMethod = resourceClass.getMethod("getRelationshipList"); + Method getRelationshipListMethod = null; + try { + getRelationshipListMethod = resourceClass.getMethod("getRelationshipList"); + } catch(Exception exc) { + getLogger().debug("Retrofiting relationship data: " + exc.getMessage()); + } if(getRelationshipListMethod != null){ try { getRelationshipListMethod.setAccessible(true); diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/AAIExecutorInterface.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIExecutorInterface.java index d315bad1c..d315bad1c 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/AAIExecutorInterface.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIExecutorInterface.java diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/AAIRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIRequest.java index 4f2181f6c..e54d1f7f1 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/AAIRequest.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIRequest.java @@ -43,7 +43,7 @@ import java.util.Set; import java.util.TreeSet; import org.apache.commons.lang.StringUtils; -import org.openecomp.aai.inventory.v10.GenericVnf; +import org.openecomp.aai.inventory.v11.GenericVnf; import org.onap.ccsdk.sli.adaptors.aai.data.AAIDatum; import org.osgi.framework.Bundle; import org.osgi.framework.BundleContext; @@ -113,6 +113,7 @@ public abstract class AAIRequest { case "nodes-query": return new NodesQueryRequest(); case "custom-query": + case "formatted-query": return new CustomQueryRequest(); case "linterface": return new LInterfaceRequest(LInterfaceRequest.TYPE.L2_BRIDGE_SBG); @@ -146,6 +147,11 @@ public abstract class AAIRequest { private static Map<BitSet, String> bitsetPaths = new LinkedHashMap<BitSet, String>(); + public static Set<String> getResourceNames() { + return tagValues.keySet(); + } + + public static void setProperties(Properties props, AAIService aaiService) { AAIRequest.configProperties = props; AAIRequest.aaiService = aaiService; @@ -230,17 +236,23 @@ public abstract class AAIRequest { aaiService.getLogger().warn("Could not deserialize object of type " + lInterfaceRequest.getClass().getSimpleName(), exc) ; } -// public abstract URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException; - public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException { String request_url = null; - request_url = target_uri + getRequestPath(); + request_url = target_uri + updatePathDataValues(resourceVersion); - Set<String> uniqueResources = extractUniqueResourceSetFromKeys(requestProperties.stringPropertyNames()); + URL http_req_url = new URL(request_url); + + aaiService.LOGwriteFirstTrace(method, http_req_url.toString()); -// request_url = processPathData(request_url, requestProperties); + return http_req_url; + } + + public String updatePathDataValues(Object resourceVersion) throws UnsupportedEncodingException, MalformedURLException { + String request_url = getRequestPath(); + + Set<String> uniqueResources = extractUniqueResourceSetFromKeys(requestProperties.stringPropertyNames()); for(String resoourceName:uniqueResources) { AAIRequest locRequest = AAIRequest.createRequest(resoourceName, new HashMap<String, String>()); @@ -253,19 +265,14 @@ public abstract class AAIRequest { } catch (Exception e) { e.printStackTrace(); } -// request_url = locRequest.processPathData(request_url, requestProperties); } } if(resourceVersion != null) { request_url = request_url +"?resource-version="+resourceVersion; } - URL http_req_url = new URL(request_url); - aaiService.LOGwriteFirstTrace(method, http_req_url.toString()); - - - return http_req_url; + return request_url; } @@ -365,7 +372,7 @@ public abstract class AAIRequest { return AAIService.getObjectMapper(); } - protected static Class<? extends AAIDatum> getClassFromResource(String resoourceName) throws ClassNotFoundException { + public static Class<? extends AAIDatum> getClassFromResource(String resoourceName) throws ClassNotFoundException { String className = GenericVnf.class.getName(); String[] split = resoourceName.split("-"); for(int i = 0; i < split.length; i++) { @@ -414,6 +421,19 @@ public abstract class AAIRequest { return query_pairs; } + public static Map<String, String> splitPath(String path) throws UnsupportedEncodingException { + Map<String, String> query_pairs = new LinkedHashMap<String, String>(); + + if(path != null && !path.isEmpty()) { + String[] pairs = path.split("/"); + for (String pair : pairs) { + int idx = pair.indexOf("="); + query_pairs.put(URLDecoder.decode(pair.substring(0, idx), "UTF-8"), URLDecoder.decode(pair.substring(idx + 1), "UTF-8")); + } + } + return query_pairs; + } + protected boolean expectsDataFromPUTRequest() { return false; } diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/AAIService.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIService.java index c50178bc5..b5e452428 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/AAIService.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIService.java @@ -36,6 +36,7 @@ import java.lang.reflect.Method; import java.lang.reflect.Modifier; import java.net.HttpURLConnection; import java.net.MalformedURLException; +import java.net.URI; import java.net.URISyntaxException; import java.net.URL; import java.net.URLEncoder; @@ -66,6 +67,7 @@ import javax.net.ssl.SSLContext; import javax.net.ssl.SSLSession; import javax.net.ssl.SSLSocketFactory; import javax.ws.rs.HttpMethod; +import javax.ws.rs.core.UriBuilder; import javax.xml.bind.annotation.XmlElement; import org.apache.commons.codec.binary.Base64; @@ -75,29 +77,29 @@ import org.onap.ccsdk.sli.core.sli.MetricLogger; import org.onap.ccsdk.sli.core.sli.SvcLogicContext; import org.onap.ccsdk.sli.core.sli.SvcLogicException; import org.onap.ccsdk.sli.core.sli.SvcLogicResource; -import org.openecomp.aai.inventory.v10.AvailabilityZone; -import org.openecomp.aai.inventory.v10.Complex; -import org.openecomp.aai.inventory.v10.CtagPool; -import org.openecomp.aai.inventory.v10.DvsSwitch; -import org.openecomp.aai.inventory.v10.GenericVnf; -import org.openecomp.aai.inventory.v10.L3Network; -import org.openecomp.aai.inventory.v10.OamNetwork; -import org.openecomp.aai.inventory.v10.PInterface; -import org.openecomp.aai.inventory.v10.PhysicalLink; -import org.openecomp.aai.inventory.v10.Pserver; -import org.openecomp.aai.inventory.v10.ResultData; -import org.openecomp.aai.inventory.v10.SearchResults; -import org.openecomp.aai.inventory.v10.Service; -import org.openecomp.aai.inventory.v10.ServiceInstance; -import org.openecomp.aai.inventory.v10.SitePairSet; -import org.openecomp.aai.inventory.v10.Tenant; -import org.openecomp.aai.inventory.v10.Vce; -import org.openecomp.aai.inventory.v10.VnfImage; -import org.openecomp.aai.inventory.v10.VnfImages; -import org.openecomp.aai.inventory.v10.Vpe; -import org.openecomp.aai.inventory.v10.VplsPe; -import org.openecomp.aai.inventory.v10.VpnBinding; -import org.openecomp.aai.inventory.v10.Vserver; +import org.openecomp.aai.inventory.v11.AvailabilityZone; +import org.openecomp.aai.inventory.v11.Complex; +import org.openecomp.aai.inventory.v11.CtagPool; +import org.openecomp.aai.inventory.v11.DvsSwitch; +import org.openecomp.aai.inventory.v11.GenericVnf; +import org.openecomp.aai.inventory.v11.L3Network; +import org.openecomp.aai.inventory.v11.OamNetwork; +import org.openecomp.aai.inventory.v11.PInterface; +import org.openecomp.aai.inventory.v11.PhysicalLink; +import org.openecomp.aai.inventory.v11.Pserver; +import org.openecomp.aai.inventory.v11.ResultData; +import org.openecomp.aai.inventory.v11.SearchResults; +import org.openecomp.aai.inventory.v11.Service; +import org.openecomp.aai.inventory.v11.ServiceInstance; +import org.openecomp.aai.inventory.v11.SitePairSet; +import org.openecomp.aai.inventory.v11.Tenant; +import org.openecomp.aai.inventory.v11.Vce; +import org.openecomp.aai.inventory.v11.VnfImage; +import org.openecomp.aai.inventory.v11.VnfImages; +import org.openecomp.aai.inventory.v11.Vpe; +import org.openecomp.aai.inventory.v11.VplsPe; +import org.openecomp.aai.inventory.v11.VpnBinding; +import org.openecomp.aai.inventory.v11.Vserver; import org.onap.ccsdk.sli.adaptors.aai.data.AAIDatum; import org.onap.ccsdk.sli.adaptors.aai.data.ErrorResponse; import org.onap.ccsdk.sli.adaptors.aai.data.RequestError; @@ -383,7 +385,13 @@ public class AAIService extends AAIDeclarations implements AAIClient, SvcLogicRe con.setRequestProperty( "Content-Type", "PATCH".equalsIgnoreCase(method) ? "application/merge-patch+json" : "application/json" ); con.setRequestProperty("X-FromAppId", application_id); con.setRequestProperty("X-TransactionId",TransactionIdTracker.getNextTransactionId()); - con.setRequestProperty(MetricLogger.REQUEST_ID, ml.getRequestID()); + String mlId = ml.getRequestID(); + if(mlId != null && !mlId.isEmpty()) { + LOG.debug(String.format("MetricLogger requestId = %s", mlId)); + con.setRequestProperty(MetricLogger.REQUEST_ID, mlId); + } else { + LOG.debug("MetricLogger requestId is null"); + } if(user_name != null && !user_name.isEmpty() && user_password != null && !user_password.isEmpty()) { String basicAuth = "Basic " + new String(Base64.encodeBase64((user_name + ":" + user_password).getBytes())); @@ -697,7 +705,7 @@ public class AAIService extends AAIDeclarations implements AAIClient, SvcLogicRe { String encrypted_url = selection; String apnpattern = - "/aai/v10/business/customers/customer/(.+)/service-subscriptions/service-subscription/(.+)/service-instances/service-instance/(.+)/"; + "/aai/v11/business/customers/customer/(.+)/service-subscriptions/service-subscription/(.+)/service-instances/service-instance/(.+)/"; Pattern pattern = Pattern.compile(apnpattern); try { @@ -1773,8 +1781,12 @@ public class AAIService extends AAIDeclarations implements AAIClient, SvcLogicRe SvcLogicContext ctx = new SvcLogicContext(); if(!key.contains(" = ") && isValidURL(key)) { key = String.format("selflink = '%s'", key); + } else + if(!key.contains(" = ") && isValidURI(key)) { + key = String.format("resource-path = '%s'", key); } - HashMap<String, String> nameValues = keyToHashMap(key, ctx); + + HashMap<String, String> nameValues = AAIServiceUtils.keyToHashMap(key, ctx); SelfLinkRequest request = new SelfLinkRequest(type); request.processRequestPathValues(nameValues); @@ -1974,12 +1986,12 @@ public class AAIService extends AAIDeclarations implements AAIClient, SvcLogicRe @Override - public VnfImage requestVnfImageData(String att_uuid) throws AAIServiceException { + public VnfImage requestVnfImageData(String vnf_image_uuid) throws AAIServiceException { VnfImage response = null; try { AAIRequest request = AAIRequest.getRequestFromResource("vnf-image"); - request.addRequestProperty("vnf-image.att-uuid", att_uuid); + request.addRequestProperty("vnf-image.vnf-image-uuid", vnf_image_uuid); String rv = executor.get(request); if(rv != null) { @@ -2350,7 +2362,11 @@ public class AAIService extends AAIDeclarations implements AAIClient, SvcLogicRe try { for (ResultData datum : resultDataList) { String data_type = datum.getResourceType(); - entity = new URL(datum.getResourceLink()); + String resourceLink = datum.getResourceLink(); + if(!resourceLink.isEmpty() && !resourceLink.toLowerCase().startsWith("http")) { + resourceLink = (new EchoRequest()).target_uri + resourceLink; + } + entity = new URL(resourceLink); } } catch (Exception e) { throw new AAIServiceException(e); @@ -2368,6 +2384,7 @@ public class AAIService extends AAIDeclarations implements AAIClient, SvcLogicRe URL requestUrl = null; String requestId = UUID.randomUUID().toString(); + StringBuilder errorStringBuilder = new StringBuilder(); try { @@ -2449,16 +2466,14 @@ public class AAIService extends AAIDeclarations implements AAIClient, SvcLogicRe errorresponse.setRequestError(requestError); throw new AAIServiceException(responseCode, errorresponse); } else { -// -// StringBuilder stringBuilder = new StringBuilder("\n"); -// String line = null; -// while( ( line = reader.readLine() ) != null ) { -// stringBuilder.append("\n").append( line ); -// } -// LOG.info(stringBuilder.toString()); -// -// ErrorResponse errorresponse = mapper.readValue(stringBuilder.toString(), ErrorResponse.class); - ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class); +// StringBuilder errorStringBuilder = new StringBuilder(); + String line = null; + while( ( line = reader.readLine() ) != null ) { + errorStringBuilder.append("\n").append( line ); + } + + ErrorResponse errorresponse = mapper.readValue(errorStringBuilder.toString(), ErrorResponse.class); +// ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class); LOGwriteEndingTrace(responseCode, responseMessage, mapper.writeValueAsString(errorresponse)); throw new AAIServiceException(responseCode, errorresponse); } @@ -2466,7 +2481,7 @@ public class AAIService extends AAIDeclarations implements AAIClient, SvcLogicRe } catch(AAIServiceException aaiexc) { throw aaiexc; } catch (Exception exc) { - LOG.warn("GET", exc); + LOG.warn(errorStringBuilder.toString(), exc); throw new AAIServiceException(exc); } finally { if(inputStream != null){ @@ -2983,12 +2998,14 @@ public class AAIService extends AAIDeclarations implements AAIClient, SvcLogicRe if(!key.contains(" = ")) { if(isValidURL(key)) { key = String.format("selflink = '%s'", key); + } else if(isValidURI(key)) { + key = String.format("resource-path = '%s'", key); } else { return response; } } - HashMap<String, String> nameValues = keyToHashMap(key, ctx); + HashMap<String, String> nameValues = AAIServiceUtils.keyToHashMap(key, ctx); AAIRequest request = new SelfLinkRequest(type); if(nameValues.containsKey(PathRequest.RESOURCE_PATH.replaceAll("-", "_"))) { @@ -3021,6 +3038,21 @@ public class AAIService extends AAIDeclarations implements AAIClient, SvcLogicRe return true; } + + public boolean isValidURI(String url) { + + URI u = null; + + try { + u = new URI(url); + } catch (URISyntaxException e) { + return false; + } + + return true; + } + + @Override protected boolean deleteRelationshipList(URL httpReqUrl, String json_text) throws AAIServiceException { if(httpReqUrl == null) { @@ -3146,6 +3178,9 @@ public class AAIService extends AAIDeclarations implements AAIClient, SvcLogicRe break; default: + if(key.contains("selflink =")) { + break; + } if(!key.contains(String.format("%s.", normResource))) { key = rewriteKey(resource, key, ctx); } @@ -3171,6 +3206,9 @@ public class AAIService extends AAIDeclarations implements AAIClient, SvcLogicRe break; default: + if(key.contains("selflink =")) { + break; + } if(!key.contains(String.format("%s.", normResource))) { key = rewriteKey(resource, key, ctx); } @@ -3196,6 +3234,9 @@ public class AAIService extends AAIDeclarations implements AAIClient, SvcLogicRe break; default: + if(key.contains("selflink =")) { + break; + } if(!key.contains(String.format("%s.", normResource))) { key = rewriteKey(resource, key, ctx); } @@ -3221,6 +3262,9 @@ public class AAIService extends AAIDeclarations implements AAIClient, SvcLogicRe break; default: + if(key.contains("selflink =")) { + break; + } if(!key.contains(String.format("%s.", normResource))) { key = rewriteKey(resource, key, ctx); } @@ -3258,15 +3302,16 @@ public class AAIService extends AAIDeclarations implements AAIClient, SvcLogicRe fieldAnnotatedNames.add(primaryId); } - HashMap<String, String> nameValues = keyToHashMap(key, ctx); + HashMap<String, String> nameValues = AAIServiceUtils.keyToHashMap(key, ctx); Set<String> keyset = nameValues.keySet(); for(String keyName : keyset) { if(keyName.contains(".")) continue; else { String tmpKeyName = keyName.replaceAll("_", "-"); - if(fieldAnnotatedNames.contains(tmpKeyName)) { - key = key.replace(tmpKeyName, String.format("%s.%s", normResource, tmpKeyName)); + String valueToSubstitute = String.format("%s =", tmpKeyName); + if(fieldAnnotatedNames.contains(tmpKeyName) && key.contains(valueToSubstitute)) { + key = key.replace(valueToSubstitute, String.format("%s.%s =", normResource, tmpKeyName)); } } } @@ -3275,4 +3320,13 @@ public class AAIService extends AAIDeclarations implements AAIClient, SvcLogicRe return key; } + @Override + public String getPathTemplateForResource(String resoourceName, String keys, SvcLogicContext ctx) throws MalformedURLException { + return AAIServiceUtils.getPathForResource(resoourceName, StringUtils.join(keys, " AND "), ctx); + } + + @Override + public boolean isDeprecatedFormat(String resource, HashMap<String, String> nameValues) { + return !AAIServiceUtils.isValidFormat(resource, nameValues); + } } diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/AAIServiceActivator.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIServiceActivator.java index 45c3d3d20..45c3d3d20 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/AAIServiceActivator.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIServiceActivator.java diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/AAIServiceException.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIServiceException.java index 8d57db43a..8d57db43a 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/AAIServiceException.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIServiceException.java diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIServiceUtils.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIServiceUtils.java new file mode 100644 index 000000000..bd2c724a1 --- /dev/null +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIServiceUtils.java @@ -0,0 +1,340 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 ONAP 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========================================================= + */ + +package org.onap.ccsdk.sli.adaptors.aai; + +import java.lang.annotation.Annotation; +import java.net.MalformedURLException; +import java.net.URI; +import java.net.URISyntaxException; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.Set; + +import javax.xml.bind.annotation.XmlType; + +import org.apache.commons.lang.StringUtils; +import org.openecomp.aai.inventory.v11.Relationship; +import org.openecomp.aai.inventory.v11.RelationshipData; +import org.openecomp.aai.inventory.v11.RelationshipList; +import org.onap.ccsdk.sli.core.sli.SvcLogicContext; +import org.onap.ccsdk.sli.adaptors.aai.data.AAIDatum; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class AAIServiceUtils { + + private static final Logger LOG = LoggerFactory.getLogger(AAIService.class); + + public static String getPrimaryIdFromClass(Class<? extends AAIDatum> resourceClass){ + // 1. find class + getLogger().debug(resourceClass.getName()); + AAIDatum instance = null; + + try { + instance = resourceClass.newInstance(); + + Annotation[] annotations = resourceClass.getAnnotations(); + for(Annotation annotation : annotations) { + Class<? extends Annotation> anotationType = annotation.annotationType(); + String annotationName = anotationType.getName(); + + // 2. find string property setters and getters for the lists + if("javax.xml.bind.annotation.XmlType".equals(annotationName)){ + XmlType order = (XmlType)annotation; + String[] values = order.propOrder(); + for(String value : values) { + String id = camelCaseToDashedString(value); + return id; + } + } + } + } catch(Exception exc) { + + } + return null; + } + + public static String getSecondaryIdFromClass(Class<? extends AAIDatum> resourceClass){ + // 1. find class + getLogger().debug(resourceClass.getName()); + AAIDatum instance = null; + + try { + instance = resourceClass.newInstance(); + + Annotation[] annotations = resourceClass.getAnnotations(); + for(Annotation annotation : annotations) { + Class<? extends Annotation> anotationType = annotation.annotationType(); + String annotationName = anotationType.getName(); + + // 2. find string property setters and getters for the lists + if("javax.xml.bind.annotation.XmlType".equals(annotationName)){ + boolean primaryIdFound = false; + XmlType order = (XmlType)annotation; + String[] values = order.propOrder(); + for(String value : values) { + String id = camelCaseToDashedString(value); + if(primaryIdFound) { + return id; + } else { + primaryIdFound = true; + } + } + } + } + } catch(Exception exc) { + + } + return null; + } + + + private static Logger getLogger() { + return LOG; + } + + + private static final String regex = "([A-Z][a-z,0-9]+)"; + private static final String replacement = "-$1"; + + public static String camelCaseToDashedString(String propOrder) { + return propOrder.replaceAll(regex, replacement).toLowerCase(); + } + + public static HashMap<String,String> keyToHashMap(String key, SvcLogicContext ctx) { + if (key == null) { + return (null); + } + + getLogger().debug("Converting key [" + key + "] to where clause"); + + if (key.startsWith("'") && key.endsWith("'")) { + key = key.substring(1, key.length() - 1); + + getLogger().debug("Stripped outer single quotes - key is now [" + key + "]"); + } + + String[] keyTerms = key.split("\\s+"); + + StringBuffer whereBuff = new StringBuffer(); + String term1 = null; + String op = null; + String term2 = null; + HashMap<String, String> results = new HashMap<String, String>(); + + for (int i = 0; i < keyTerms.length; i++) { + if (term1 == null) { + if ("and".equalsIgnoreCase(keyTerms[i]) + || "or".equalsIgnoreCase(keyTerms[i])) { + // Skip over ADD/OR + } else { + term1 = resolveTerm(keyTerms[i], ctx); + } + } else if (op == null) { + if ("==".equals(keyTerms[i])) { + op = "="; + } else { + op = keyTerms[i]; + } + } else { + term2 = resolveTerm(keyTerms[i], ctx); + term2 = term2.trim().replace("'", "").replace("$", "").replace("'", ""); + results.put(term1, term2); + + term1 = null; + op = null; + term2 = null; + } + } + + return (results); + } + + private static String resolveTerm(String term, SvcLogicContext ctx) { + if (term == null) { + return (null); + } + + getLogger().debug("resolveTerm: term is " + term); + + if (term.startsWith("$") && (ctx != null)) { + // Resolve any index variables. + + return ("'" + resolveCtxVariable(term.substring(1), ctx) + "'"); + } else if (term.startsWith("'") || term.startsWith("\"")) { + return (term); + } else { + return (term.replaceAll("-", "_")); + + } + } + + private static String resolveCtxVariable(String ctxVarName, SvcLogicContext ctx) { + + if (ctxVarName.indexOf('[') == -1) { + // Ctx variable contains no arrays + return (ctx.getAttribute(ctxVarName)); + } + + // Resolve any array references + StringBuffer sbuff = new StringBuffer(); + String[] ctxVarParts = ctxVarName.split("\\["); + sbuff.append(ctxVarParts[0]); + for (int i = 1; i < ctxVarParts.length; i++) { + if (ctxVarParts[i].startsWith("$")) { + int endBracketLoc = ctxVarParts[i].indexOf("]"); + if (endBracketLoc == -1) { + // Missing end bracket ... give up parsing + getLogger().warn("Variable reference " + ctxVarName + + " seems to be missing a ']'"); + return (ctx.getAttribute(ctxVarName)); + } + + String idxVarName = ctxVarParts[i].substring(1, endBracketLoc); + String remainder = ctxVarParts[i].substring(endBracketLoc); + + sbuff.append("["); + sbuff.append(ctx.getAttribute(idxVarName)); + sbuff.append(remainder); + + } else { + // Index is not a variable reference + sbuff.append("["); + sbuff.append(ctxVarParts[i]); + } + } + + return (ctx.getAttribute(sbuff.toString())); + } + + public static void populateRelationshipDataFromPath(RelationshipList rl) throws URISyntaxException { + List<Relationship> list = rl.getRelationship(); + if(list != null && !list.isEmpty()) { + for(Relationship relationship : list) { + if(relationship.getRelationshipData().isEmpty()){ + String link = relationship.getRelatedLink(); + URI uri = new URI(link); + link = uri.getPath(); + HashMap<String,String> contributors = pathToHashMap(link); + for(String key : contributors.keySet()) { + RelationshipData rd = new RelationshipData(); + rd.setRelationshipKey(key); + rd.setRelationshipValue(contributors.get(key)); + relationship.getRelationshipData().add(rd); + } + } + } + } + } + + protected static HashMap<String,String> pathToHashMap(String path) { + HashMap<String, String> nameValues = new HashMap<String, String>(); + + String[] split = path.split("/"); + + LinkedList<String> list = new LinkedList<String>( Arrays.asList(split)); + Iterator<String> it = list.iterator(); + + while(it.hasNext()) { + String tag = it.next(); + if(!tag.isEmpty()) { + if(AAIRequest.getResourceNames().contains(tag)){ + LOG.info(tag); + // get the class from tag + Class<? extends AAIDatum> clazz = null; + try { + clazz = AAIRequest.getClassFromResource(tag); + String fieldName = AAIServiceUtils.getPrimaryIdFromClass(clazz); + + String value = it.next(); + if(!StringUtils.isEmpty(value)){ + nameValues.put(String.format("%s.%s", tag, fieldName), value); + switch(tag) { + case "cloud-region": + case "entitlement": + case "license": + case "route-target": + case "service-capability": + case "ctag-pool": + String secondaryFieldName = AAIServiceUtils.getSecondaryIdFromClass(clazz); + if(secondaryFieldName != null) { + value = it.next(); + nameValues.put(String.format("%s.%s", tag, secondaryFieldName), value); + } + break; + default: + break; + } + } + } catch (ClassNotFoundException exc) { + LOG.info("Caught exception", exc); + } + } + } + } + return nameValues; + } + + public static String getPathForResource(String resource, String key, SvcLogicContext ctx ) throws MalformedURLException{ + HashMap<String, String> nameValues = AAIServiceUtils.keyToHashMap(key, ctx); + AAIRequest request = AAIRequest.createRequest(resource, nameValues); + + for(String name : nameValues.keySet()) { + request.addRequestProperty(name, nameValues.get(name)); + } + return request.getRequestPath(); + } + + public static boolean isValidFormat(String resource, HashMap<String, String> nameValues) { + + switch(resource){ + case "formatted-query": + case "generic-query": + case "named-query": + case "nodes-query": + case "linterface": + case "l2-bridge-sbg": + case "l2-bridge-bgf": + case "echo": + case "test": + return true; + } + if(resource.contains(":")) { + resource = resource.substring(0, resource.indexOf(":")); + } + + Set<String> keys = nameValues.keySet(); + for(String key : keys) { + if(!key.contains(".")) { + if("depth".equals(key) || "related-to".equals(key) || "related_to".equals(key) || "related-link".equals(key) || "related_link".equals(key) || "selflink".equals(key)) + continue; + else { + getLogger().warn(String.format("key %s is incompatible with resource type '%s'", key, resource)); + } + } + } + return true; + } +} diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/AAITrinityService.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAITrinityService.java index 6fffc6e8f..6fffc6e8f 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/AAITrinityService.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAITrinityService.java diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/CloudRegionRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/CloudRegionRequest.java index 0de0d2bd0..8086228b1 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/CloudRegionRequest.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/CloudRegionRequest.java @@ -29,7 +29,7 @@ import java.util.Map; import java.util.Properties; import org.onap.ccsdk.sli.adaptors.aai.data.AAIDatum; -import org.openecomp.aai.inventory.v10.CloudRegion; +import org.openecomp.aai.inventory.v11.CloudRegion; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/CustomQueryRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/CustomQueryRequest.java index 994f1b6bf..994f1b6bf 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/CustomQueryRequest.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/CustomQueryRequest.java diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/EchoRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/EchoRequest.java index 86e2d5f5e..86e2d5f5e 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/EchoRequest.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/EchoRequest.java diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/GenericQueryRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/GenericQueryRequest.java index 476aed94a..b509650de 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/GenericQueryRequest.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/GenericQueryRequest.java @@ -27,7 +27,7 @@ import java.net.URL; import java.util.Properties; import org.onap.ccsdk.sli.adaptors.aai.data.AAIDatum; -import org.openecomp.aai.inventory.v10.ResultData; +import org.openecomp.aai.inventory.v11.ResultData; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/GenericRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/GenericRequest.java index 427ea7e38..1d3cb00f9 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/GenericRequest.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/GenericRequest.java @@ -32,8 +32,8 @@ import java.util.Set; import javax.xml.bind.annotation.XmlElement; import org.onap.ccsdk.sli.adaptors.aai.data.AAIDatum; -import org.openecomp.aai.inventory.v10.L3Network; -import org.openecomp.aai.inventory.v10.L3Networks; +import org.openecomp.aai.inventory.v11.L3Network; +import org.openecomp.aai.inventory.v11.L3Networks; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/GenericVnfRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/GenericVnfRequest.java index 3915940f5..3f33ff6d1 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/GenericVnfRequest.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/GenericVnfRequest.java @@ -27,7 +27,7 @@ import java.net.URL; import java.util.Properties; import org.onap.ccsdk.sli.adaptors.aai.data.AAIDatum; -import org.openecomp.aai.inventory.v10.GenericVnf; +import org.openecomp.aai.inventory.v11.GenericVnf; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/L3InterfaceIpv4AddressListRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/L3InterfaceIpv4AddressListRequest.java index e1431bead..6cddfdb06 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/L3InterfaceIpv4AddressListRequest.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/L3InterfaceIpv4AddressListRequest.java @@ -27,7 +27,7 @@ import java.net.URL; import java.util.Properties; import org.onap.ccsdk.sli.adaptors.aai.data.AAIDatum; -import org.openecomp.aai.inventory.v10.L3InterfaceIpv4AddressList; +import org.openecomp.aai.inventory.v11.L3InterfaceIpv4AddressList; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; @@ -36,28 +36,28 @@ public class L3InterfaceIpv4AddressListRequest extends AAIRequest { /* * Note: there are 3 possible paths: - * /aai/v7/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} - * /aai/v7/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} - * /aai/v7/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} - * /aai/v7/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} - * aaiv7:inventory/network/newvces/newvce/{vnf-id2}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} - * aaiv7:inventory/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} - * aaiv7:inventory/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} - * aaiv7:inventory/cloud-infrastructure/cloud-regions/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} - * aaiv7:inventory/cloud-infrastructure/cloud-regions/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} - * aaiv7:inventory/cloud-infrastructure/cloud-regions/pservers/pserver/{hostname}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} - * aaiv7:inventory/cloud-infrastructure/cloud-regions/pservers/pserver/{hostname}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} - * aaiv7:inventory/network/newvces/newvce/{vnf-id2}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} - * aaiv7:inventory/network/vpes/vpe/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} - * aaiv7:inventory/network/vpes/vpe/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} - * aaiv7:inventory/network/vpes/vpe/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} - * aaiv7:inventory/network/vpes/vpe/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} - * aaiv7:inventory/network/vpls-pes/vpls-pe/{equipment-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} - * aaiv7:inventory/network/vpls-pes/vpls-pe/{equipment-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} - * aaiv7:inventory/network/vpls-pes/vpls-pe/{equipment-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} - * aaiv7:inventory/network/vpls-pes/vpls-pe/{equipment-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} - * aaiv7:inventory/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} - * aaiv7:inventory/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} + * /network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} + * /network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} + * /network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} + * /network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} + * /inventory/network/newvces/newvce/{vnf-id2}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} + * /inventory/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} + * /inventory/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} + * /inventory/cloud-infrastructure/cloud-regions/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} + * /inventory/cloud-infrastructure/cloud-regions/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} + * /inventory/cloud-infrastructure/cloud-regions/pservers/pserver/{hostname}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} + * /inventory/cloud-infrastructure/cloud-regions/pservers/pserver/{hostname}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} + * /inventory/network/newvces/newvce/{vnf-id2}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} + * /inventory/network/vpes/vpe/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} + * /inventory/network/vpes/vpe/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} + * /inventory/network/vpes/vpe/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} + * /inventory/network/vpes/vpe/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} + * /inventory/network/vpls-pes/vpls-pe/{equipment-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} + * /inventory/network/vpls-pes/vpls-pe/{equipment-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} + * /inventory/network/vpls-pes/vpls-pe/{equipment-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} + * /inventory/network/vpls-pes/vpls-pe/{equipment-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} + * /inventory/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} + * /inventory/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} */ public static final String L3_INTERFACE_IPV4_ADDRESS_LIST_PATH = "org.onap.ccsdk.sli.adaptors.aai.path.l3.interface.ipv4.address.list"; @@ -184,10 +184,10 @@ public class L3InterfaceIpv4AddressListRequest extends AAIRequest { // public void processRequestPathValues(Map<String, String> nameValues) { // String[] paths = // { -// "/aai/v7/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}", -// "/aai/v7/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}", -// "/aai/v7/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}", -// "/aai/v7/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}" +// "/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}", +// "/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}", +// "/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}", +// "/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}" // }; // // List<String>keys = new LinkedList<String>(); diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/L3InterfaceIpv6AddressListRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/L3InterfaceIpv6AddressListRequest.java index 5cdc0de64..b8fdda9fd 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/L3InterfaceIpv6AddressListRequest.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/L3InterfaceIpv6AddressListRequest.java @@ -27,7 +27,7 @@ import java.net.URL; import java.util.Properties; import org.onap.ccsdk.sli.adaptors.aai.data.AAIDatum; -import org.openecomp.aai.inventory.v10.L3InterfaceIpv6AddressList; +import org.openecomp.aai.inventory.v11.L3InterfaceIpv6AddressList; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; @@ -36,28 +36,28 @@ public class L3InterfaceIpv6AddressListRequest extends AAIRequest { /* * Note: there are 3 possible paths: - * /aai/v7/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} - * /aai/v7/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} - * /aai/v7/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} - * /aai/v7/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} - * aaiv7:inventory/network/newvces/newvce/{vnf-id2}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} - * aaiv7:inventory/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} - * aaiv7:inventory/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} - * aaiv7:inventory/cloud-infrastructure/cloud-regions/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} - * aaiv7:inventory/cloud-infrastructure/cloud-regions/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} - * aaiv7:inventory/cloud-infrastructure/cloud-regions/pservers/pserver/{hostname}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} - * aaiv7:inventory/cloud-infrastructure/cloud-regions/pservers/pserver/{hostname}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} - * aaiv7:inventory/network/newvces/newvce/{vnf-id2}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} - * aaiv7:inventory/network/vpes/vpe/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} - * aaiv7:inventory/network/vpes/vpe/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} - * aaiv7:inventory/network/vpes/vpe/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} - * aaiv7:inventory/network/vpes/vpe/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} - * aaiv7:inventory/network/vpls-pes/vpls-pe/{equipment-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} - * aaiv7:inventory/network/vpls-pes/vpls-pe/{equipment-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} - * aaiv7:inventory/network/vpls-pes/vpls-pe/{equipment-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} - * aaiv7:inventory/network/vpls-pes/vpls-pe/{equipment-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} - * aaiv7:inventory/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} - * aaiv7:inventory/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} + * /network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} + * /network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} + * /network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} + * /network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} + * /inventory/network/newvces/newvce/{vnf-id2}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} + * /inventory/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} + * /inventory/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} + * /inventory/cloud-infrastructure/cloud-regions/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} + * /inventory/cloud-infrastructure/cloud-regions/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} + * /inventory/cloud-infrastructure/cloud-regions/pservers/pserver/{hostname}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} + * /inventory/cloud-infrastructure/cloud-regions/pservers/pserver/{hostname}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} + * /inventory/network/newvces/newvce/{vnf-id2}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} + * /inventory/network/vpes/vpe/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} + * /inventory/network/vpes/vpe/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} + * /inventory/network/vpes/vpe/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} + * /inventory/network/vpes/vpe/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} + * /inventory/network/vpls-pes/vpls-pe/{equipment-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} + * /inventory/network/vpls-pes/vpls-pe/{equipment-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} + * /inventory/network/vpls-pes/vpls-pe/{equipment-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} + * /inventory/network/vpls-pes/vpls-pe/{equipment-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} + * /inventory/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} + * /inventory/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} */ public static final String L3_INTERFACE_IPV6_ADDRESS_LIST_PATH = "org.onap.ccsdk.sli.adaptors.aai.path.l3.interface.ipv6.address.list"; diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/LInterfaceRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/LInterfaceRequest.java index a9da4e45c..1accc82c0 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/LInterfaceRequest.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/LInterfaceRequest.java @@ -27,7 +27,7 @@ import java.net.URL; import java.util.Properties; import org.onap.ccsdk.sli.adaptors.aai.data.AAIDatum; -import org.openecomp.aai.inventory.v10.LInterface; +import org.openecomp.aai.inventory.v11.LInterface; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/LagInterfacePnfRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/LagInterfacePnfRequest.java index 5f84553db..f5bbde7e3 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/LagInterfacePnfRequest.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/LagInterfacePnfRequest.java @@ -27,7 +27,7 @@ import java.net.URL; import java.util.Properties; import org.onap.ccsdk.sli.adaptors.aai.data.AAIDatum; -import org.openecomp.aai.inventory.v10.LagInterface; +import org.openecomp.aai.inventory.v11.LagInterface; import org.slf4j.LoggerFactory; import com.fasterxml.jackson.core.JsonProcessingException; diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/NamedQueryRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/NamedQueryRequest.java index e1528a617..c93b0f189 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/NamedQueryRequest.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/NamedQueryRequest.java @@ -30,7 +30,7 @@ import java.util.List; import java.util.Properties; import org.onap.ccsdk.sli.adaptors.aai.data.AAIDatum; -import org.openecomp.aai.inventory.v10.InventoryResponseItems; +import org.openecomp.aai.inventory.v11.InventoryResponseItems; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.core.JsonProcessingException; diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/NodesQueryRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/NodesQueryRequest.java index ba4da3d7e..c6aeb3119 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/NodesQueryRequest.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/NodesQueryRequest.java @@ -27,7 +27,7 @@ import java.net.URL; import java.util.Properties; import org.onap.ccsdk.sli.adaptors.aai.data.AAIDatum; -import org.openecomp.aai.inventory.v10.SearchResults; +import org.openecomp.aai.inventory.v11.SearchResults; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/PInterfacePnfRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/PInterfacePnfRequest.java index ea669f232..c4d078bf9 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/PInterfacePnfRequest.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/PInterfacePnfRequest.java @@ -27,7 +27,7 @@ import java.net.URL; import java.util.Properties; import org.onap.ccsdk.sli.adaptors.aai.data.AAIDatum; -import org.openecomp.aai.inventory.v10.PInterface; +import org.openecomp.aai.inventory.v11.PInterface; import org.slf4j.LoggerFactory; import com.fasterxml.jackson.core.JsonProcessingException; diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/PInterfaceRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/PInterfaceRequest.java index 378e125dd..8a040b2f2 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/PInterfaceRequest.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/PInterfaceRequest.java @@ -26,7 +26,7 @@ import java.net.MalformedURLException; import java.net.URL; import org.onap.ccsdk.sli.adaptors.aai.data.AAIDatum; -import org.openecomp.aai.inventory.v10.PInterface; +import org.openecomp.aai.inventory.v11.PInterface; import org.slf4j.LoggerFactory; import com.fasterxml.jackson.core.JsonProcessingException; diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/PathRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/PathRequest.java index a42e045bb..a42e045bb 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/PathRequest.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/PathRequest.java diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/PhysicalLinkRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/PhysicalLinkRequest.java index 4db95df1c..94dfdaf27 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/PhysicalLinkRequest.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/PhysicalLinkRequest.java @@ -26,7 +26,7 @@ import java.net.MalformedURLException; import java.net.URL; import org.onap.ccsdk.sli.adaptors.aai.data.AAIDatum; -import org.openecomp.aai.inventory.v10.PhysicalLink; +import org.openecomp.aai.inventory.v11.PhysicalLink; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/RelationshipRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/RelationshipRequest.java index 8c3d107cb..9ae635c67 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/RelationshipRequest.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/RelationshipRequest.java @@ -26,7 +26,7 @@ import java.net.MalformedURLException; import java.net.URL; import org.onap.ccsdk.sli.adaptors.aai.data.AAIDatum; -import org.openecomp.aai.inventory.v10.RelationshipList; +import org.openecomp.aai.inventory.v11.RelationshipList; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/SelfLinkRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/SelfLinkRequest.java index e4fd3d938..95b5c3505 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/SelfLinkRequest.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/SelfLinkRequest.java @@ -23,6 +23,7 @@ package org.onap.ccsdk.sli.adaptors.aai; import java.io.UnsupportedEncodingException; import java.net.MalformedURLException; +import java.net.URI; import java.net.URL; import org.onap.ccsdk.sli.adaptors.aai.data.AAIDatum; @@ -48,7 +49,14 @@ public class SelfLinkRequest extends AAIRequest { String request_url = null; request_url = requestProperties.getProperty(SELFLINK); - + try { + URI uri = new URI(request_url); + if(uri.getHost() == null) { + request_url = target_uri + request_url; + } + } catch(Exception exc) { + LOG.error("SelfLinkRequest.getRequestUrl", exc); + } String query = null; if(request_url.contains("?")) { diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/SubInterfaceRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/SubInterfaceRequest.java index 3cbe187c0..9e0a6d53f 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/SubInterfaceRequest.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/SubInterfaceRequest.java @@ -27,7 +27,7 @@ import java.net.URL; import java.util.Properties; import org.onap.ccsdk.sli.adaptors.aai.data.AAIDatum; -import org.openecomp.aai.inventory.v10.LInterface; +import org.openecomp.aai.inventory.v11.LInterface; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/UpdateRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/UpdateRequest.java index 705f53d28..705f53d28 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/UpdateRequest.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/UpdateRequest.java diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/AAIDatum.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/AAIDatum.java index 84323176b..84323176b 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/AAIDatum.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/AAIDatum.java diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/EchoResponse.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/EchoResponse.java index 576c15701..576c15701 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/EchoResponse.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/EchoResponse.java diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/ErrorResponse.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ErrorResponse.java index 6a255fcf1..6a255fcf1 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/ErrorResponse.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ErrorResponse.java diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/RequestError.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/RequestError.java index 9bbca18f5..9bbca18f5 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/RequestError.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/RequestError.java diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/ResourceVersion.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ResourceVersion.java index f5901a8be..f5901a8be 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/ResourceVersion.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ResourceVersion.java diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/ResponseMessage.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ResponseMessage.java index db3778792..db3778792 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/ResponseMessage.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ResponseMessage.java diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/ResponseMessages.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ResponseMessages.java index a23878084..a23878084 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/ResponseMessages.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ResponseMessages.java diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/ServiceException.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ServiceException.java index b98d3d8fc..b98d3d8fc 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/ServiceException.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ServiceException.java diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/SubInterface.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/SubInterface.java index f15507800..14ed86677 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/SubInterface.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/SubInterface.java @@ -31,8 +31,8 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyOrder; -import org.openecomp.aai.inventory.v10.RelationshipList; -import org.openecomp.aai.inventory.v10.Vlans; +import org.openecomp.aai.inventory.v11.RelationshipList; +import org.openecomp.aai.inventory.v11.Vlans; @JsonInclude(JsonInclude.Include.NON_NULL) @Generated("org.jsonschema2pojo") diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/Variables.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/Variables.java index 3b03ba472..3b03ba472 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/Variables.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/Variables.java diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/notify/KeyDatum.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/notify/KeyDatum.java index 641a8abde..641a8abde 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/notify/KeyDatum.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/notify/KeyDatum.java diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/notify/NotifyEvent.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/notify/NotifyEvent.java index d97b35239..d97b35239 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/notify/NotifyEvent.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/notify/NotifyEvent.java diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/v1507/Flavor.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/Flavor.java index 6ffc30c45..6ffc30c45 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/v1507/Flavor.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/Flavor.java diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/v1507/Host.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/Host.java index 7c171ebd9..7c171ebd9 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/v1507/Host.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/Host.java diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/v1507/Image.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/Image.java index 0e27c5418..0e27c5418 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/v1507/Image.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/Image.java diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/v1507/IpAddress.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/IpAddress.java index 19a9bf6a9..19a9bf6a9 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/v1507/IpAddress.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/IpAddress.java diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/v1507/Relationship.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/Relationship.java index 8e04e35f5..8e04e35f5 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/v1507/Relationship.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/Relationship.java diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/v1507/RelationshipDatum.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/RelationshipDatum.java index 1ac21640c..1ac21640c 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/v1507/RelationshipDatum.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/RelationshipDatum.java diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/v1507/RelationshipList.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/RelationshipList.java index 3c46d21bd..3c46d21bd 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/v1507/RelationshipList.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/RelationshipList.java diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/v1507/VServer.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/VServer.java index 45d725530..45d725530 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/data/v1507/VServer.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/VServer.java diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/query/FormattedQueryRequestData.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/FormattedQueryRequestData.java index e533a164f..e533a164f 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/query/FormattedQueryRequestData.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/FormattedQueryRequestData.java diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/query/FormattedQueryResultList.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/FormattedQueryResultList.java index 248cd9597..248cd9597 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/query/FormattedQueryResultList.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/FormattedQueryResultList.java diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/query/InstanceFilter.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/InstanceFilter.java index ccd637294..aa32847c4 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/query/InstanceFilter.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/InstanceFilter.java @@ -33,10 +33,10 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyOrder; -import org.openecomp.aai.inventory.v10.L3Network; -import org.openecomp.aai.inventory.v10.Pnf; -import org.openecomp.aai.inventory.v10.LogicalLink; -import org.openecomp.aai.inventory.v10.ServiceInstance; +import org.openecomp.aai.inventory.v11.L3Network; +import org.openecomp.aai.inventory.v11.Pnf; +import org.openecomp.aai.inventory.v11.LogicalLink; +import org.openecomp.aai.inventory.v11.ServiceInstance; @JsonInclude(JsonInclude.Include.NON_NULL) @Generated("org.jsonschema2pojo") diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/query/InstanceFilters.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/InstanceFilters.java index 265c1866c..265c1866c 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/query/InstanceFilters.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/InstanceFilters.java diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/query/NamedQuery.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/NamedQuery.java index 65350c23d..65350c23d 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/query/NamedQuery.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/NamedQuery.java diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/query/NamedQueryData.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/NamedQueryData.java index 8188acf23..8188acf23 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/query/NamedQueryData.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/NamedQueryData.java diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/query/QueryParameters.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/QueryParameters.java index c6ddbcbca..c6ddbcbca 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/query/QueryParameters.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/QueryParameters.java diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/query/Results.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/Results.java index ff2269a49..45d8035e4 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/query/Results.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/Results.java @@ -27,7 +27,7 @@ import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; -import org.openecomp.aai.inventory.v10.*; +import org.openecomp.aai.inventory.v11.*; @XmlAccessorType(XmlAccessType.FIELD) diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/update/Action.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/Action.java index f3d509987..f3d509987 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/update/Action.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/Action.java diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/update/ActionDatum.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/ActionDatum.java index 0cd70012f..0cd70012f 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/update/ActionDatum.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/ActionDatum.java diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/update/Update.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/Update.java index 43f912dfa..43f912dfa 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/update/Update.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/Update.java diff --git a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/update/UpdateNodeKey.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/UpdateNodeKey.java index caa1de450..caa1de450 100644 --- a/aai-service/provider/src/main/java/org/onap/sli/adaptors/aai/update/UpdateNodeKey.java +++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/UpdateNodeKey.java diff --git a/aai-service/provider/src/main/resources/aai-path.properties b/aai-service/provider/src/main/resources/aai-path.properties index bb42ea07c..b0fb35a56 100644 --- a/aai-service/provider/src/main/resources/aai-path.properties +++ b/aai-service/provider/src/main/resources/aai-path.properties @@ -19,171 +19,171 @@ # ============LICENSE_END========================================================= ### -complex|ctag-pool = /aai/v10/cloud-infrastructure/complexes/complex/{physical-location-id}/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name} -complex = /aai/v10/cloud-infrastructure/complexes/complex/{physical-location-id} -cloud-region|volume-group = /aai/v10/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/volume-groups/volume-group/{volume-group-id} -cloud-region|tenant|vserver|volume = /aai/v10/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/volumes/volume/{volume-id} -cloud-region|tenant|vserver|l-interface|vlan|l3-interface-ipv4-address-list = /aai/v10/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} -cloud-region|tenant|vserver|l-interface|vlan|l3-interface-ipv6-address-list = /aai/v10/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} -cloud-region|tenant|vserver|l-interface|vlan = /aai/v10/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface} -cloud-region|tenant|vserver|l-interface|sriov-vf = /aai/v10/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/l-interfaces/l-interface/{interface-name}/sriov-vfs/sriov-vf/{pci-id} -cloud-region|tenant|vserver|l-interface|l3-interface-ipv4-address-list = /aai/v10/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} -cloud-region|tenant|vserver|l-interface|l3-interface-ipv6-address-list = /aai/v10/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} -cloud-region|tenant|vserver|l-interface = /aai/v10/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/l-interfaces/l-interface/{interface-name} -cloud-region|tenant|vserver = /aai/v10/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id} -cloud-region|tenant = /aai/v10/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id} -cloud-region|flavor = /aai/v10/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/flavors/flavor/{flavor-id} -cloud-region|group-assignment = /aai/v10/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/group-assignments/group-assignment/{group-id} -cloud-region|snapshot = /aai/v10/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/snapshots/snapshot/{snapshot-id} -cloud-region|image|metadatum = /aai/v10/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/images/image/{image-id}/metadata/metadatum/{metaname} -cloud-region|image = /aai/v10/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/images/image/{image-id} -cloud-region|dvs-switch = /aai/v10/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/dvs-switches/dvs-switch/{switch-name} -cloud-region|oam-network = /aai/v10/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/oam-networks/oam-network/{network-uuid} -cloud-region|availability-zone = /aai/v10/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/availability-zones/availability-zone/{availability-zone-name} -cloud-region = /aai/v10/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id} -network-profile = /aai/v10/cloud-infrastructure/network-profiles/network-profile/{nm-profile-name} -pserver|p-interface|l-interface|vlan|l3-interface-ipv4-address-list = /aai/v10/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} -pserver|p-interface|l-interface|vlan|l3-interface-ipv6-address-list = /aai/v10/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} -pserver|p-interface|l-interface|vlan = /aai/v10/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface} -pserver|p-interface|l-interface|sriov-vf = /aai/v10/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/sriov-vfs/sriov-vf/{pci-id} -pserver|p-interface|l-interface|l3-interface-ipv4-address-list = /aai/v10/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} -pserver|p-interface|l-interface|l3-interface-ipv6-address-list = /aai/v10/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} -pserver|p-interface|l-interface = /aai/v10/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name} -pserver|p-interface = /aai/v10/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name} -pserver|lag-interface|l-interface|vlan|l3-interface-ipv4-address-list = /aai/v10/cloud-infrastructure/pservers/pserver/{hostname}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} -pserver|lag-interface|l-interface|vlan|l3-interface-ipv6-address-list = /aai/v10/cloud-infrastructure/pservers/pserver/{hostname}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} -pserver|lag-interface|l-interface|vlan = /aai/v10/cloud-infrastructure/pservers/pserver/{hostname}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface} -pserver|lag-interface|l-interface|sriov-vf = /aai/v10/cloud-infrastructure/pservers/pserver/{hostname}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/sriov-vfs/sriov-vf/{pci-id} -pserver|lag-interface|l-interface|l3-interface-ipv4-address-list = /aai/v10/cloud-infrastructure/pservers/pserver/{hostname}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} -pserver|lag-interface|l-interface|l3-interface-ipv6-address-list = /aai/v10/cloud-infrastructure/pservers/pserver/{hostname}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} -pserver|lag-interface|l-interface = /aai/v10/cloud-infrastructure/pservers/pserver/{hostname}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name} -pserver|lag-interface = /aai/v10/cloud-infrastructure/pservers/pserver/{hostname}/lag-interfaces/lag-interface/{interface-name} -pserver = /aai/v10/cloud-infrastructure/pservers/pserver/{hostname} -virtual-data-center = /aai/v10/cloud-infrastructure/virtual-data-centers/virtual-data-center/{vdc-id} -connector|metadatum = /aai/v10/business/connectors/connector/{resource-instance-id}/metadata/metadatum/{metaname} -connector = /aai/v10/business/connectors/connector/{resource-instance-id} -customer|service-subscription|service-instance|metadatum = /aai/v10/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances/service-instance/{service-instance-id}/metadata/metadatum/{metaname} -customer|service-subscription|service-instance|allotted-resource|tunnel-xconnect = /aai/v10/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances/service-instance/{service-instance-id}/allotted-resources/allotted-resource/{id}/tunnel-xconnects/tunnel-xconnect/{id} -customer|service-subscription|service-instance|allotted-resource = /aai/v10/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances/service-instance/{service-instance-id}/allotted-resources/allotted-resource/{id} -customer|service-subscription|service-instance = /aai/v10/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances/service-instance/{service-instance-id} -customer|service-subscription = /aai/v10/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type} -customer = /aai/v10/business/customers/customer/{global-customer-id} -vnf-image = /aai/v10/service-design-and-creation/vnf-images/vnf-image/{att-uuid} -service = /aai/v10/service-design-and-creation/services/service/{service-id} -service-capability = /aai/v10/service-design-and-creation/service-capabilities/service-capability/{service-type}/{vnf-type} -model|model-ver|model-element|model-constraint|constrained-element-set|element-choice-set = /aai/v10/service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}/model-elements/model-element/{model-element-uuid}/model-constraints/model-constraint/{model-constraint-uuid}/constrained-element-sets/constrained-element-set/{constrained-element-set-uuid}/element-choice-sets/element-choice-set/{element-choice-set-uuid} -model|model-ver|model-element|model-constraint|constrained-element-set = /aai/v10/service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}/model-elements/model-element/{model-element-uuid}/model-constraints/model-constraint/{model-constraint-uuid}/constrained-element-sets/constrained-element-set/{constrained-element-set-uuid} -model|model-ver|model-element|model-constraint = /aai/v10/service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}/model-elements/model-element/{model-element-uuid}/model-constraints/model-constraint/{model-constraint-uuid} -model|model-ver|model-element = /aai/v10/service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}/model-elements/model-element/{model-element-uuid} -model|model-ver|metadatum = /aai/v10/service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}/metadata/metadatum/{metaname} -model|model-ver = /aai/v10/service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id} -model = /aai/v10/service-design-and-creation/models/model/{model-invariant-id} -named-query|named-query-element|related-lookup = /aai/v10/service-design-and-creation/named-queries/named-query/{named-query-uuid}/named-query-elements/named-query-element/{named-query-element-uuid}/related-lookups/related-lookup/{related-lookup-uuid} -named-query|named-query-element|property-constraint = /aai/v10/service-design-and-creation/named-queries/named-query/{named-query-uuid}/named-query-elements/named-query-element/{named-query-element-uuid}/property-constraints/property-constraint/{property-constraint-uuid} -named-query|named-query-element = /aai/v10/service-design-and-creation/named-queries/named-query/{named-query-uuid}/named-query-elements/named-query-element/{named-query-element-uuid} -named-query = /aai/v10/service-design-and-creation/named-queries/named-query/{named-query-uuid} -logical-link = /aai/v10/network/logical-links/logical-link/{link-name} -site-pair-set|routing-instance|site-pair|class-of-service = /aai/v10/network/site-pair-sets/site-pair-set/{site-pair-set-id}/routing-instances/routing-instance/{routing-instance-id}/site-pairs/site-pair/{site-pair-id}/classes-of-service/class-of-service/{cos} -site-pair-set|routing-instance|site-pair = /aai/v10/network/site-pair-sets/site-pair-set/{site-pair-set-id}/routing-instances/routing-instance/{routing-instance-id}/site-pairs/site-pair/{site-pair-id} -site-pair-set|routing-instance = /aai/v10/network/site-pair-sets/site-pair-set/{site-pair-set-id}/routing-instances/routing-instance/{routing-instance-id} -site-pair-set = /aai/v10/network/site-pair-sets/site-pair-set/{site-pair-set-id} -vpn-binding|route-target = /aai/v10/network/vpn-bindings/vpn-binding/{vpn-id}/route-targets/route-target/{global-route-target}/{route-target-role} -vpn-binding = /aai/v10/network/vpn-bindings/vpn-binding/{vpn-id} -vpls-pe|p-interface|l-interface|vlan|l3-interface-ipv4-address-list = /aai/v10/network/vpls-pes/vpls-pe/{equipment-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} -vpls-pe|p-interface|l-interface|vlan|l3-interface-ipv6-address-list = /aai/v10/network/vpls-pes/vpls-pe/{equipment-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} -vpls-pe|p-interface|l-interface|vlan = /aai/v10/network/vpls-pes/vpls-pe/{equipment-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface} -vpls-pe|p-interface|l-interface|sriov-vf = /aai/v10/network/vpls-pes/vpls-pe/{equipment-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/sriov-vfs/sriov-vf/{pci-id} -vpls-pe|p-interface|l-interface|l3-interface-ipv4-address-list = /aai/v10/network/vpls-pes/vpls-pe/{equipment-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} -vpls-pe|p-interface|l-interface|l3-interface-ipv6-address-list = /aai/v10/network/vpls-pes/vpls-pe/{equipment-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} -vpls-pe|p-interface|l-interface = /aai/v10/network/vpls-pes/vpls-pe/{equipment-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name} -vpls-pe|p-interface = /aai/v10/network/vpls-pes/vpls-pe/{equipment-name}/p-interfaces/p-interface/{interface-name} -vpls-pe|lag-interface|l-interface|vlan|l3-interface-ipv4-address-list = /aai/v10/network/vpls-pes/vpls-pe/{equipment-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} -vpls-pe|lag-interface|l-interface|vlan|l3-interface-ipv6-address-list = /aai/v10/network/vpls-pes/vpls-pe/{equipment-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} -vpls-pe|lag-interface|l-interface|vlan = /aai/v10/network/vpls-pes/vpls-pe/{equipment-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface} -vpls-pe|lag-interface|l-interface|sriov-vf = /aai/v10/network/vpls-pes/vpls-pe/{equipment-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/sriov-vfs/sriov-vf/{pci-id} -vpls-pe|lag-interface|l-interface|l3-interface-ipv4-address-list = /aai/v10/network/vpls-pes/vpls-pe/{equipment-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} -vpls-pe|lag-interface|l-interface|l3-interface-ipv6-address-list = /aai/v10/network/vpls-pes/vpls-pe/{equipment-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} -vpls-pe|lag-interface|l-interface = /aai/v10/network/vpls-pes/vpls-pe/{equipment-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name} -vpls-pe|lag-interface = /aai/v10/network/vpls-pes/vpls-pe/{equipment-name}/lag-interfaces/lag-interface/{interface-name} -vpls-pe = /aai/v10/network/vpls-pes/vpls-pe/{equipment-name} -multicast-configuration = /aai/v10/network/multicast-configurations/multicast-configuration/{multicast-configuration-id} -vce|port-group|cvlan-tag-entry = /aai/v10/network/vces/vce/{vnf-id}/port-groups/port-group/{interface-id}/cvlan-tags/cvlan-tag-entry/{cvlan-tag} -vce|port-group = /aai/v10/network/vces/vce/{vnf-id}/port-groups/port-group/{interface-id} -vce|license = /aai/v10/network/vces/vce/{vnf-id}/licenses/license/{group-uuid}/{resource-uuid} -vce|entitlement = /aai/v10/network/vces/vce/{vnf-id}/entitlements/entitlement/{group-uuid}/{resource-uuid} -vce = /aai/v10/network/vces/vce/{vnf-id} -vpe|l-interface|vlan|l3-interface-ipv4-address-list = /aai/v10/network/vpes/vpe/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} -vpe|l-interface|vlan|l3-interface-ipv6-address-list = /aai/v10/network/vpes/vpe/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} -vpe|l-interface|vlan = /aai/v10/network/vpes/vpe/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface} -vpe|l-interface|sriov-vf = /aai/v10/network/vpes/vpe/{vnf-id}/l-interfaces/l-interface/{interface-name}/sriov-vfs/sriov-vf/{pci-id} -vpe|l-interface|l3-interface-ipv4-address-list = /aai/v10/network/vpes/vpe/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} -vpe|l-interface|l3-interface-ipv6-address-list = /aai/v10/network/vpes/vpe/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} -vpe|l-interface = /aai/v10/network/vpes/vpe/{vnf-id}/l-interfaces/l-interface/{interface-name} -vpe|lag-interface|l-interface|vlan|l3-interface-ipv4-address-list = /aai/v10/network/vpes/vpe/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} -vpe|lag-interface|l-interface|vlan|l3-interface-ipv6-address-list = /aai/v10/network/vpes/vpe/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} -vpe|lag-interface|l-interface|vlan = /aai/v10/network/vpes/vpe/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface} -vpe|lag-interface|l-interface|sriov-vf = /aai/v10/network/vpes/vpe/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/sriov-vfs/sriov-vf/{pci-id} -vpe|lag-interface|l-interface|l3-interface-ipv4-address-list = /aai/v10/network/vpes/vpe/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} -vpe|lag-interface|l-interface|l3-interface-ipv6-address-list = /aai/v10/network/vpes/vpe/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} -vpe|lag-interface|l-interface = /aai/v10/network/vpes/vpe/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name} -vpe|lag-interface = /aai/v10/network/vpes/vpe/{vnf-id}/lag-interfaces/lag-interface/{interface-name} -vpe|license = /aai/v10/network/vpes/vpe/{vnf-id}/licenses/license/{group-uuid}/{resource-uuid} -vpe|entitlement = /aai/v10/network/vpes/vpe/{vnf-id}/entitlements/entitlement/{group-uuid}/{resource-uuid} -vpe = /aai/v10/network/vpes/vpe/{vnf-id} -vnfc = /aai/v10/network/vnfcs/vnfc/{vnfc-name} -l3-network|subnet = /aai/v10/network/l3-networks/l3-network/{network-id}/subnets/subnet/{subnet-id} -l3-network|ctag-assignment = /aai/v10/network/l3-networks/l3-network/{network-id}/ctag-assignments/ctag-assignment/{vlan-id-inner} -l3-network|segmentation-assignment = /aai/v10/network/l3-networks/l3-network/{network-id}/segmentation-assignments/segmentation-assignment/{segmentation-id} -l3-network = /aai/v10/network/l3-networks/l3-network/{network-id} -network-policy = /aai/v10/network/network-policies/network-policy/{network-policy-id} -generic-vnf|l-interface|vlan|l3-interface-ipv4-address-list = /aai/v10/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} -generic-vnf|l-interface|vlan|l3-interface-ipv6-address-list = /aai/v10/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} -generic-vnf|l-interface|vlan = /aai/v10/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface} -generic-vnf|l-interface|sriov-vf = /aai/v10/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/sriov-vfs/sriov-vf/{pci-id} -generic-vnf|l-interface|l3-interface-ipv4-address-list = /aai/v10/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} -generic-vnf|l-interface|l3-interface-ipv6-address-list = /aai/v10/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} -generic-vnf|l-interface = /aai/v10/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name} -generic-vnf|lag-interface|l-interface|vlan|l3-interface-ipv4-address-list = /aai/v10/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} -generic-vnf|lag-interface|l-interface|vlan|l3-interface-ipv6-address-list = /aai/v10/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} -generic-vnf|lag-interface|l-interface|vlan = /aai/v10/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface} -generic-vnf|lag-interface|l-interface|sriov-vf = /aai/v10/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/sriov-vfs/sriov-vf/{pci-id} -generic-vnf|lag-interface|l-interface|l3-interface-ipv4-address-list = /aai/v10/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} -generic-vnf|lag-interface|l-interface|l3-interface-ipv6-address-list = /aai/v10/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} -generic-vnf|lag-interface|l-interface = /aai/v10/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name} -generic-vnf|lag-interface = /aai/v10/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name} -generic-vnf|vf-module = /aai/v10/network/generic-vnfs/generic-vnf/{vnf-id}/vf-modules/vf-module/{vf-module-id} -generic-vnf|license = /aai/v10/network/generic-vnfs/generic-vnf/{vnf-id}/licenses/license/{group-uuid}/{resource-uuid} -generic-vnf|entitlement = /aai/v10/network/generic-vnfs/generic-vnf/{vnf-id}/entitlements/entitlement/{group-uuid}/{resource-uuid} -generic-vnf = /aai/v10/network/generic-vnfs/generic-vnf/{vnf-id} -lag-link = /aai/v10/network/lag-links/lag-link/{link-name} -newvce|l-interface|vlan|l3-interface-ipv4-address-list = /aai/v10/network/newvces/newvce/{vnf-id2}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} -newvce|l-interface|vlan|l3-interface-ipv6-address-list = /aai/v10/network/newvces/newvce/{vnf-id2}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} -newvce|l-interface|vlan = /aai/v10/network/newvces/newvce/{vnf-id2}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface} -newvce|l-interface|sriov-vf = /aai/v10/network/newvces/newvce/{vnf-id2}/l-interfaces/l-interface/{interface-name}/sriov-vfs/sriov-vf/{pci-id} -newvce|l-interface|l3-interface-ipv4-address-list = /aai/v10/network/newvces/newvce/{vnf-id2}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} -newvce|l-interface|l3-interface-ipv6-address-list = /aai/v10/network/newvces/newvce/{vnf-id2}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} -newvce|l-interface = /aai/v10/network/newvces/newvce/{vnf-id2}/l-interfaces/l-interface/{interface-name} -newvce = /aai/v10/network/newvces/newvce/{vnf-id2} -pnf|p-interface|l-interface|vlan|l3-interface-ipv4-address-list = /aai/v10/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} -pnf|p-interface|l-interface|vlan|l3-interface-ipv6-address-list = /aai/v10/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} -pnf|p-interface|l-interface|vlan = /aai/v10/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface} -pnf|p-interface|l-interface|sriov-vf = /aai/v10/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/sriov-vfs/sriov-vf/{pci-id} -pnf|p-interface|l-interface|l3-interface-ipv4-address-list = /aai/v10/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} -pnf|p-interface|l-interface|l3-interface-ipv6-address-list = /aai/v10/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} -pnf|p-interface|l-interface = /aai/v10/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name} -pnf|p-interface = /aai/v10/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{interface-name} -pnf|lag-interface|l-interface|vlan|l3-interface-ipv4-address-list = /aai/v10/network/pnfs/pnf/{pnf-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} -pnf|lag-interface|l-interface|vlan|l3-interface-ipv6-address-list = /aai/v10/network/pnfs/pnf/{pnf-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} -pnf|lag-interface|l-interface|vlan = /aai/v10/network/pnfs/pnf/{pnf-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface} -pnf|lag-interface|l-interface|sriov-vf = /aai/v10/network/pnfs/pnf/{pnf-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/sriov-vfs/sriov-vf/{pci-id} -pnf|lag-interface|l-interface|l3-interface-ipv4-address-list = /aai/v10/network/pnfs/pnf/{pnf-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} -pnf|lag-interface|l-interface|l3-interface-ipv6-address-list = /aai/v10/network/pnfs/pnf/{pnf-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} -pnf|lag-interface|l-interface = /aai/v10/network/pnfs/pnf/{pnf-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name} -pnf|lag-interface = /aai/v10/network/pnfs/pnf/{pnf-name}/lag-interfaces/lag-interface/{interface-name} -pnf = /aai/v10/network/pnfs/pnf/{pnf-name} -physical-link = /aai/v10/network/physical-links/physical-link/{link-name} -ipsec-configuration|vig-server = /aai/v10/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id}/vig-servers/vig-server/{vig-address-type} -ipsec-configuration = /aai/v10/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id} -route-table-reference = /aai/v10/network/route-table-references/route-table-reference/{route-table-reference-id} -instance-group = /aai/v10/network/instance-groups/instance-group/{id} -zone = /aai/v10/network/zones/zone/{zone-id} +complex|ctag-pool = /aai/v11/cloud-infrastructure/complexes/complex/{physical-location-id}/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name} +complex = /aai/v11/cloud-infrastructure/complexes/complex/{physical-location-id} +cloud-region|volume-group = /aai/v11/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/volume-groups/volume-group/{volume-group-id} +cloud-region|tenant|vserver|volume = /aai/v11/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/volumes/volume/{volume-id} +cloud-region|tenant|vserver|l-interface|vlan|l3-interface-ipv4-address-list = /aai/v11/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} +cloud-region|tenant|vserver|l-interface|vlan|l3-interface-ipv6-address-list = /aai/v11/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} +cloud-region|tenant|vserver|l-interface|vlan = /aai/v11/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface} +cloud-region|tenant|vserver|l-interface|sriov-vf = /aai/v11/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/l-interfaces/l-interface/{interface-name}/sriov-vfs/sriov-vf/{pci-id} +cloud-region|tenant|vserver|l-interface|l3-interface-ipv4-address-list = /aai/v11/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} +cloud-region|tenant|vserver|l-interface|l3-interface-ipv6-address-list = /aai/v11/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} +cloud-region|tenant|vserver|l-interface = /aai/v11/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/l-interfaces/l-interface/{interface-name} +cloud-region|tenant|vserver = /aai/v11/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id} +cloud-region|tenant = /aai/v11/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id} +cloud-region|flavor = /aai/v11/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/flavors/flavor/{flavor-id} +cloud-region|group-assignment = /aai/v11/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/group-assignments/group-assignment/{group-id} +cloud-region|snapshot = /aai/v11/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/snapshots/snapshot/{snapshot-id} +cloud-region|image|metadatum = /aai/v11/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/images/image/{image-id}/metadata/metadatum/{metaname} +cloud-region|image = /aai/v11/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/images/image/{image-id} +cloud-region|dvs-switch = /aai/v11/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/dvs-switches/dvs-switch/{switch-name} +cloud-region|oam-network = /aai/v11/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/oam-networks/oam-network/{network-uuid} +cloud-region|availability-zone = /aai/v11/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/availability-zones/availability-zone/{availability-zone-name} +cloud-region = /aai/v11/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id} +network-profile = /aai/v11/cloud-infrastructure/network-profiles/network-profile/{nm-profile-name} +pserver|p-interface|l-interface|vlan|l3-interface-ipv4-address-list = /aai/v11/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} +pserver|p-interface|l-interface|vlan|l3-interface-ipv6-address-list = /aai/v11/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} +pserver|p-interface|l-interface|vlan = /aai/v11/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface} +pserver|p-interface|l-interface|sriov-vf = /aai/v11/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/sriov-vfs/sriov-vf/{pci-id} +pserver|p-interface|l-interface|l3-interface-ipv4-address-list = /aai/v11/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} +pserver|p-interface|l-interface|l3-interface-ipv6-address-list = /aai/v11/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} +pserver|p-interface|l-interface = /aai/v11/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name} +pserver|p-interface = /aai/v11/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name} +pserver|lag-interface|l-interface|vlan|l3-interface-ipv4-address-list = /aai/v11/cloud-infrastructure/pservers/pserver/{hostname}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} +pserver|lag-interface|l-interface|vlan|l3-interface-ipv6-address-list = /aai/v11/cloud-infrastructure/pservers/pserver/{hostname}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} +pserver|lag-interface|l-interface|vlan = /aai/v11/cloud-infrastructure/pservers/pserver/{hostname}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface} +pserver|lag-interface|l-interface|sriov-vf = /aai/v11/cloud-infrastructure/pservers/pserver/{hostname}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/sriov-vfs/sriov-vf/{pci-id} +pserver|lag-interface|l-interface|l3-interface-ipv4-address-list = /aai/v11/cloud-infrastructure/pservers/pserver/{hostname}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} +pserver|lag-interface|l-interface|l3-interface-ipv6-address-list = /aai/v11/cloud-infrastructure/pservers/pserver/{hostname}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} +pserver|lag-interface|l-interface = /aai/v11/cloud-infrastructure/pservers/pserver/{hostname}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name} +pserver|lag-interface = /aai/v11/cloud-infrastructure/pservers/pserver/{hostname}/lag-interfaces/lag-interface/{interface-name} +pserver = /aai/v11/cloud-infrastructure/pservers/pserver/{hostname} +virtual-data-center = /aai/v11/cloud-infrastructure/virtual-data-centers/virtual-data-center/{vdc-id} +connector|metadatum = /aai/v11/business/connectors/connector/{resource-instance-id}/metadata/metadatum/{metaname} +connector = /aai/v11/business/connectors/connector/{resource-instance-id} +customer|service-subscription|service-instance|metadatum = /aai/v11/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances/service-instance/{service-instance-id}/metadata/metadatum/{metaname} +customer|service-subscription|service-instance|allotted-resource|tunnel-xconnect = /aai/v11/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances/service-instance/{service-instance-id}/allotted-resources/allotted-resource/{id}/tunnel-xconnects/tunnel-xconnect/{id} +customer|service-subscription|service-instance|allotted-resource = /aai/v11/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances/service-instance/{service-instance-id}/allotted-resources/allotted-resource/{id} +customer|service-subscription|service-instance = /aai/v11/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances/service-instance/{service-instance-id} +customer|service-subscription = /aai/v11/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type} +customer = /aai/v11/business/customers/customer/{global-customer-id} +vnf-image = /aai/v11/service-design-and-creation/vnf-images/vnf-image/{vnf-image-uuid} +service = /aai/v11/service-design-and-creation/services/service/{service-id} +service-capability = /aai/v11/service-design-and-creation/service-capabilities/service-capability/{service-type}/{vnf-type} +model|model-ver|model-element|model-constraint|constrained-element-set|element-choice-set = /aai/v11/service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}/model-elements/model-element/{model-element-uuid}/model-constraints/model-constraint/{model-constraint-uuid}/constrained-element-sets/constrained-element-set/{constrained-element-set-uuid}/element-choice-sets/element-choice-set/{element-choice-set-uuid} +model|model-ver|model-element|model-constraint|constrained-element-set = /aai/v11/service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}/model-elements/model-element/{model-element-uuid}/model-constraints/model-constraint/{model-constraint-uuid}/constrained-element-sets/constrained-element-set/{constrained-element-set-uuid} +model|model-ver|model-element|model-constraint = /aai/v11/service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}/model-elements/model-element/{model-element-uuid}/model-constraints/model-constraint/{model-constraint-uuid} +model|model-ver|model-element = /aai/v11/service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}/model-elements/model-element/{model-element-uuid} +model|model-ver|metadatum = /aai/v11/service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}/metadata/metadatum/{metaname} +model|model-ver = /aai/v11/service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id} +model = /aai/v11/service-design-and-creation/models/model/{model-invariant-id} +named-query|named-query-element|related-lookup = /aai/v11/service-design-and-creation/named-queries/named-query/{named-query-uuid}/named-query-elements/named-query-element/{named-query-element-uuid}/related-lookups/related-lookup/{related-lookup-uuid} +named-query|named-query-element|property-constraint = /aai/v11/service-design-and-creation/named-queries/named-query/{named-query-uuid}/named-query-elements/named-query-element/{named-query-element-uuid}/property-constraints/property-constraint/{property-constraint-uuid} +named-query|named-query-element = /aai/v11/service-design-and-creation/named-queries/named-query/{named-query-uuid}/named-query-elements/named-query-element/{named-query-element-uuid} +named-query = /aai/v11/service-design-and-creation/named-queries/named-query/{named-query-uuid} +logical-link = /aai/v11/network/logical-links/logical-link/{link-name} +site-pair-set|routing-instance|site-pair|class-of-service = /aai/v11/network/site-pair-sets/site-pair-set/{site-pair-set-id}/routing-instances/routing-instance/{routing-instance-id}/site-pairs/site-pair/{site-pair-id}/classes-of-service/class-of-service/{cos} +site-pair-set|routing-instance|site-pair = /aai/v11/network/site-pair-sets/site-pair-set/{site-pair-set-id}/routing-instances/routing-instance/{routing-instance-id}/site-pairs/site-pair/{site-pair-id} +site-pair-set|routing-instance = /aai/v11/network/site-pair-sets/site-pair-set/{site-pair-set-id}/routing-instances/routing-instance/{routing-instance-id} +site-pair-set = /aai/v11/network/site-pair-sets/site-pair-set/{site-pair-set-id} +vpn-binding|route-target = /aai/v11/network/vpn-bindings/vpn-binding/{vpn-id}/route-targets/route-target/{global-route-target}/{route-target-role} +vpn-binding = /aai/v11/network/vpn-bindings/vpn-binding/{vpn-id} +vpls-pe|p-interface|l-interface|vlan|l3-interface-ipv4-address-list = /aai/v11/network/vpls-pes/vpls-pe/{equipment-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} +vpls-pe|p-interface|l-interface|vlan|l3-interface-ipv6-address-list = /aai/v11/network/vpls-pes/vpls-pe/{equipment-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} +vpls-pe|p-interface|l-interface|vlan = /aai/v11/network/vpls-pes/vpls-pe/{equipment-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface} +vpls-pe|p-interface|l-interface|sriov-vf = /aai/v11/network/vpls-pes/vpls-pe/{equipment-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/sriov-vfs/sriov-vf/{pci-id} +vpls-pe|p-interface|l-interface|l3-interface-ipv4-address-list = /aai/v11/network/vpls-pes/vpls-pe/{equipment-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} +vpls-pe|p-interface|l-interface|l3-interface-ipv6-address-list = /aai/v11/network/vpls-pes/vpls-pe/{equipment-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} +vpls-pe|p-interface|l-interface = /aai/v11/network/vpls-pes/vpls-pe/{equipment-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name} +vpls-pe|p-interface = /aai/v11/network/vpls-pes/vpls-pe/{equipment-name}/p-interfaces/p-interface/{interface-name} +vpls-pe|lag-interface|l-interface|vlan|l3-interface-ipv4-address-list = /aai/v11/network/vpls-pes/vpls-pe/{equipment-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} +vpls-pe|lag-interface|l-interface|vlan|l3-interface-ipv6-address-list = /aai/v11/network/vpls-pes/vpls-pe/{equipment-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} +vpls-pe|lag-interface|l-interface|vlan = /aai/v11/network/vpls-pes/vpls-pe/{equipment-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface} +vpls-pe|lag-interface|l-interface|sriov-vf = /aai/v11/network/vpls-pes/vpls-pe/{equipment-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/sriov-vfs/sriov-vf/{pci-id} +vpls-pe|lag-interface|l-interface|l3-interface-ipv4-address-list = /aai/v11/network/vpls-pes/vpls-pe/{equipment-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} +vpls-pe|lag-interface|l-interface|l3-interface-ipv6-address-list = /aai/v11/network/vpls-pes/vpls-pe/{equipment-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} +vpls-pe|lag-interface|l-interface = /aai/v11/network/vpls-pes/vpls-pe/{equipment-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name} +vpls-pe|lag-interface = /aai/v11/network/vpls-pes/vpls-pe/{equipment-name}/lag-interfaces/lag-interface/{interface-name} +vpls-pe = /aai/v11/network/vpls-pes/vpls-pe/{equipment-name} +multicast-configuration = /aai/v11/network/multicast-configurations/multicast-configuration/{multicast-configuration-id} +vce|port-group|cvlan-tag-entry = /aai/v11/network/vces/vce/{vnf-id}/port-groups/port-group/{interface-id}/cvlan-tags/cvlan-tag-entry/{cvlan-tag} +vce|port-group = /aai/v11/network/vces/vce/{vnf-id}/port-groups/port-group/{interface-id} +vce|license = /aai/v11/network/vces/vce/{vnf-id}/licenses/license/{group-uuid}/{resource-uuid} +vce|entitlement = /aai/v11/network/vces/vce/{vnf-id}/entitlements/entitlement/{group-uuid}/{resource-uuid} +vce = /aai/v11/network/vces/vce/{vnf-id} +vpe|l-interface|vlan|l3-interface-ipv4-address-list = /aai/v11/network/vpes/vpe/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} +vpe|l-interface|vlan|l3-interface-ipv6-address-list = /aai/v11/network/vpes/vpe/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} +vpe|l-interface|vlan = /aai/v11/network/vpes/vpe/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface} +vpe|l-interface|sriov-vf = /aai/v11/network/vpes/vpe/{vnf-id}/l-interfaces/l-interface/{interface-name}/sriov-vfs/sriov-vf/{pci-id} +vpe|l-interface|l3-interface-ipv4-address-list = /aai/v11/network/vpes/vpe/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} +vpe|l-interface|l3-interface-ipv6-address-list = /aai/v11/network/vpes/vpe/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} +vpe|l-interface = /aai/v11/network/vpes/vpe/{vnf-id}/l-interfaces/l-interface/{interface-name} +vpe|lag-interface|l-interface|vlan|l3-interface-ipv4-address-list = /aai/v11/network/vpes/vpe/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} +vpe|lag-interface|l-interface|vlan|l3-interface-ipv6-address-list = /aai/v11/network/vpes/vpe/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} +vpe|lag-interface|l-interface|vlan = /aai/v11/network/vpes/vpe/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface} +vpe|lag-interface|l-interface|sriov-vf = /aai/v11/network/vpes/vpe/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/sriov-vfs/sriov-vf/{pci-id} +vpe|lag-interface|l-interface|l3-interface-ipv4-address-list = /aai/v11/network/vpes/vpe/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} +vpe|lag-interface|l-interface|l3-interface-ipv6-address-list = /aai/v11/network/vpes/vpe/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} +vpe|lag-interface|l-interface = /aai/v11/network/vpes/vpe/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name} +vpe|lag-interface = /aai/v11/network/vpes/vpe/{vnf-id}/lag-interfaces/lag-interface/{interface-name} +vpe|license = /aai/v11/network/vpes/vpe/{vnf-id}/licenses/license/{group-uuid}/{resource-uuid} +vpe|entitlement = /aai/v11/network/vpes/vpe/{vnf-id}/entitlements/entitlement/{group-uuid}/{resource-uuid} +vpe = /aai/v11/network/vpes/vpe/{vnf-id} +vnfc = /aai/v11/network/vnfcs/vnfc/{vnfc-name} +l3-network|subnet = /aai/v11/network/l3-networks/l3-network/{network-id}/subnets/subnet/{subnet-id} +l3-network|ctag-assignment = /aai/v11/network/l3-networks/l3-network/{network-id}/ctag-assignments/ctag-assignment/{vlan-id-inner} +l3-network|segmentation-assignment = /aai/v11/network/l3-networks/l3-network/{network-id}/segmentation-assignments/segmentation-assignment/{segmentation-id} +l3-network = /aai/v11/network/l3-networks/l3-network/{network-id} +network-policy = /aai/v11/network/network-policies/network-policy/{network-policy-id} +generic-vnf|l-interface|vlan|l3-interface-ipv4-address-list = /aai/v11/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} +generic-vnf|l-interface|vlan|l3-interface-ipv6-address-list = /aai/v11/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} +generic-vnf|l-interface|vlan = /aai/v11/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface} +generic-vnf|l-interface|sriov-vf = /aai/v11/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/sriov-vfs/sriov-vf/{pci-id} +generic-vnf|l-interface|l3-interface-ipv4-address-list = /aai/v11/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} +generic-vnf|l-interface|l3-interface-ipv6-address-list = /aai/v11/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} +generic-vnf|l-interface = /aai/v11/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name} +generic-vnf|lag-interface|l-interface|vlan|l3-interface-ipv4-address-list = /aai/v11/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} +generic-vnf|lag-interface|l-interface|vlan|l3-interface-ipv6-address-list = /aai/v11/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} +generic-vnf|lag-interface|l-interface|vlan = /aai/v11/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface} +generic-vnf|lag-interface|l-interface|sriov-vf = /aai/v11/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/sriov-vfs/sriov-vf/{pci-id} +generic-vnf|lag-interface|l-interface|l3-interface-ipv4-address-list = /aai/v11/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} +generic-vnf|lag-interface|l-interface|l3-interface-ipv6-address-list = /aai/v11/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} +generic-vnf|lag-interface|l-interface = /aai/v11/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name} +generic-vnf|lag-interface = /aai/v11/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name} +generic-vnf|vf-module = /aai/v11/network/generic-vnfs/generic-vnf/{vnf-id}/vf-modules/vf-module/{vf-module-id} +generic-vnf|license = /aai/v11/network/generic-vnfs/generic-vnf/{vnf-id}/licenses/license/{group-uuid}/{resource-uuid} +generic-vnf|entitlement = /aai/v11/network/generic-vnfs/generic-vnf/{vnf-id}/entitlements/entitlement/{group-uuid}/{resource-uuid} +generic-vnf = /aai/v11/network/generic-vnfs/generic-vnf/{vnf-id} +lag-link = /aai/v11/network/lag-links/lag-link/{link-name} +newvce|l-interface|vlan|l3-interface-ipv4-address-list = /aai/v11/network/newvces/newvce/{vnf-id2}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} +newvce|l-interface|vlan|l3-interface-ipv6-address-list = /aai/v11/network/newvces/newvce/{vnf-id2}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} +newvce|l-interface|vlan = /aai/v11/network/newvces/newvce/{vnf-id2}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface} +newvce|l-interface|sriov-vf = /aai/v11/network/newvces/newvce/{vnf-id2}/l-interfaces/l-interface/{interface-name}/sriov-vfs/sriov-vf/{pci-id} +newvce|l-interface|l3-interface-ipv4-address-list = /aai/v11/network/newvces/newvce/{vnf-id2}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} +newvce|l-interface|l3-interface-ipv6-address-list = /aai/v11/network/newvces/newvce/{vnf-id2}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} +newvce|l-interface = /aai/v11/network/newvces/newvce/{vnf-id2}/l-interfaces/l-interface/{interface-name} +newvce = /aai/v11/network/newvces/newvce/{vnf-id2} +pnf|p-interface|l-interface|vlan|l3-interface-ipv4-address-list = /aai/v11/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} +pnf|p-interface|l-interface|vlan|l3-interface-ipv6-address-list = /aai/v11/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} +pnf|p-interface|l-interface|vlan = /aai/v11/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface} +pnf|p-interface|l-interface|sriov-vf = /aai/v11/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/sriov-vfs/sriov-vf/{pci-id} +pnf|p-interface|l-interface|l3-interface-ipv4-address-list = /aai/v11/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} +pnf|p-interface|l-interface|l3-interface-ipv6-address-list = /aai/v11/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} +pnf|p-interface|l-interface = /aai/v11/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name} +pnf|p-interface = /aai/v11/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{interface-name} +pnf|lag-interface|l-interface|vlan|l3-interface-ipv4-address-list = /aai/v11/network/pnfs/pnf/{pnf-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} +pnf|lag-interface|l-interface|vlan|l3-interface-ipv6-address-list = /aai/v11/network/pnfs/pnf/{pnf-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} +pnf|lag-interface|l-interface|vlan = /aai/v11/network/pnfs/pnf/{pnf-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface} +pnf|lag-interface|l-interface|sriov-vf = /aai/v11/network/pnfs/pnf/{pnf-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/sriov-vfs/sriov-vf/{pci-id} +pnf|lag-interface|l-interface|l3-interface-ipv4-address-list = /aai/v11/network/pnfs/pnf/{pnf-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address} +pnf|lag-interface|l-interface|l3-interface-ipv6-address-list = /aai/v11/network/pnfs/pnf/{pnf-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address} +pnf|lag-interface|l-interface = /aai/v11/network/pnfs/pnf/{pnf-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name} +pnf|lag-interface = /aai/v11/network/pnfs/pnf/{pnf-name}/lag-interfaces/lag-interface/{interface-name} +pnf = /aai/v11/network/pnfs/pnf/{pnf-name} +physical-link = /aai/v11/network/physical-links/physical-link/{link-name} +ipsec-configuration|vig-server = /aai/v11/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id}/vig-servers/vig-server/{vig-address-type} +ipsec-configuration = /aai/v11/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id} +route-table-reference = /aai/v11/network/route-table-references/route-table-reference/{route-table-reference-id} +instance-group = /aai/v11/network/instance-groups/instance-group/{id} +zone = /aai/v11/network/zones/zone/{zone-id} diff --git a/aai-service/provider/src/main/resources/aai-schema-bindings.xjb b/aai-service/provider/src/main/resources/aai-schema-bindings.xjb index 47d1bc2d0..6e4105de3 100755 --- a/aai-service/provider/src/main/resources/aai-schema-bindings.xjb +++ b/aai-service/provider/src/main/resources/aai-schema-bindings.xjb @@ -3,7 +3,7 @@ xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
jxb:extensionBindingPrefixes="xjc">
- <jxb:bindings schemaLocation="aai_schema_v10.xsd" node="/xs:schema">
+ <jxb:bindings schemaLocation="aai_schema_v11.xsd" node="/xs:schema">
<jxb:globalBindings>
<xjc:superInterface name="org.onap.ccsdk.sli.adaptors.aai.data.AAIDatum"/>
</jxb:globalBindings>
diff --git a/aai-service/provider/src/main/resources/aai_schema_v10.xsd b/aai-service/provider/src/main/resources/aai_schema_v11.xsd index fed5baf8e..53b3acfa0 100755 --- a/aai-service/provider/src/main/resources/aai_schema_v10.xsd +++ b/aai-service/provider/src/main/resources/aai_schema_v11.xsd @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<xs:schema elementFormDefault="qualified" version="1.0" targetNamespace="http://org.openecomp.aai.inventory/v10" xmlns:tns="http://org.openecomp.aai.inventory/v10" xmlns:xs="http://www.w3.org/2001/XMLSchema" +<xs:schema elementFormDefault="qualified" version="1.0" targetNamespace="http://org.onap.aai.inventory/v11" xmlns:tns="http://org.onap.aai.inventory/v11" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" jaxb:version="2.1" xmlns:annox="http://annox.dev.java.net" @@ -305,7 +305,7 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" <xs:element name="operational-status" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Status that indicates whether the asset is in or out of the service path. Valid values are null, in-service-path, out-of-service-path.")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="State that indicates whether the availability zone should be used, etc. Source of truth should define valid values.")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> @@ -814,7 +814,7 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" <xs:complexType> <xs:annotation> <xs:appinfo> - <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Definition of vlan",indexedProps="vlan-interface,vlan-id-inner,vpn-id",uniqueProps="vpn-id",dependentOn="l-interface",container="vlans")</annox:annotate> + <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Definition of vlan",indexedProps="vlan-interface,vlan-id-inner,vpn-key",dependentOn="l-interface",container="vlans")</annox:annotate> </xs:appinfo> </xs:annotation> <xs:sequence> @@ -874,7 +874,7 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" </xs:appinfo> </xs:annotation> </xs:element> - <xs:element name="vpn-id" type="xs:string" minOccurs="0"> + <xs:element name="vpn-key" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="This indicates the customers VPN ID associated with this vlan")</annox:annotate> @@ -888,6 +888,27 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" </xs:appinfo> </xs:annotation> </xs:element> + <xs:element name="in-maint" type="xs:boolean"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(defaultValue="false",description="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="prov-status" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Prov Status of the VLAN configuration related to a logical interface. Valid values [PREPROV/NVTPROV/PROV].")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="is-ip-unnumbered" type="xs:boolean"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(defaultValue="false",description="Flag indicating the interface uses the IP Unnumbered configuration.")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> <xs:element ref="tns:relationship-list" minOccurs="0"/> <xs:element ref="tns:l3-interface-ipv4-address-list" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="tns:l3-interface-ipv6-address-list" minOccurs="0" maxOccurs="unbounded"/> @@ -1097,7 +1118,7 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" <xs:element name="is-port-mirrored" type="xs:boolean"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(defaultValue="false",description="used to indicate whether or not this port is mirrored.")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(defaultValue="false",description="boolean indicatating whether or not port is a mirrored.")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> @@ -1108,9 +1129,30 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" </xs:appinfo> </xs:annotation> </xs:element> - <xs:element ref="tns:l-interfaces" minOccurs="0"/> + <xs:element name="in-maint" type="xs:boolean"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(defaultValue="false",description="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="prov-status" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Prov Status of the logical interface. Valid values [PREPROV/NVTPROV/PROV].")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="is-ip-unnumbered" type="xs:boolean"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(defaultValue="false",description="Flag indicating the interface uses the IP Unnumbered configuration.")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> <xs:element ref="tns:vlans" minOccurs="0"/> <xs:element ref="tns:sriov-vfs" minOccurs="0"/> + <xs:element ref="tns:l-interfaces" minOccurs="0"/> <xs:element ref="tns:relationship-list" minOccurs="0"/> <xs:element ref="tns:l3-interface-ipv4-address-list" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="tns:l3-interface-ipv6-address-list" minOccurs="0" maxOccurs="unbounded"/> @@ -1215,7 +1257,7 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" <xs:complexType> <xs:annotation> <xs:appinfo> - <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Openstack tenant",nameProps="tenant-name",indexedProps="tenant-name,tenant-id",searchable="tenant-id,tenant-name",dependentOn="cloud-region",container="tenants")</annox:annotate> + <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Openstack tenant",nameProps="tenant-name",indexedProps="tenant-name,tenant-id,tenant-context",searchable="tenant-id,tenant-name",dependentOn="cloud-region",container="tenants")</annox:annotate> </xs:appinfo> </xs:annotation> <xs:sequence> @@ -1233,6 +1275,13 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" </xs:appinfo> </xs:annotation> </xs:element> + <xs:element name="tenant-context" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="This field will store the tenant context.")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> <xs:element name="resource-version" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> @@ -1362,7 +1411,7 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" <xs:complexType> <xs:annotation> <xs:appinfo> - <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Openstack group-assignment used to store exclusivity groups (EG).",nameProps="group-name",indexedProps="group-id,group-type,group-name",dependentOn="cloud-region",container="group-assignments")</annox:annotate> + <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Openstack group-assignment used to store exclusivity groups (EG).",nameProps="group-name",indexedProps="group-id,group-type,group-name",searchable="group-id,group-name",dependentOn="cloud-region",container="group-assignments")</annox:annotate> </xs:appinfo> </xs:annotation> <xs:sequence> @@ -1667,7 +1716,7 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" <xs:complexType> <xs:annotation> <xs:appinfo> - <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="cloud-region designates an installation of a cloud cluster or region or instantiation. In AT&Ts AIC cloud, this could be an LCP or DCP. Cloud regions are uniquely identified by a composite key, cloud-owner + cloud-region-id. The format of the cloud-owner is vendor-cloudname and we will use att-aic for AT&T's AIC. It's important to note that the cloud-region data is not updated once created, so there is a potential for the data to become stale.",indexedProps="cloud-owner,cloud-region-id,cloud-type,owner-defined-type",nameProps="owner-defined-type",container="cloud-regions",namespace="cloud-infrastructure")</annox:annotate> + <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="cloud-region designates an installation of a cloud cluster or region or instantiation. In AT&Ts AIC cloud, this could be an LCP or DCP. Cloud regions are uniquely identified by a composite key, cloud-owner + cloud-region-id. The format of the cloud-owner is vendor-cloudname and we will use att-aic for AT&T's AIC.",indexedProps="cloud-owner,cloud-region-id,cloud-type,owner-defined-type",nameProps="owner-defined-type",container="cloud-regions",namespace="cloud-infrastructure")</annox:annotate> </xs:appinfo> </xs:annotation> <xs:sequence> @@ -1727,6 +1776,13 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" </xs:appinfo> </xs:annotation> </xs:element> + <xs:element name="sriov-automation" type="xs:boolean"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(defaultValue="false",description="Whether the cloud region supports (true) or does not support (false) SR-IOV automation.")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> <xs:element name="resource-version" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> @@ -1804,6 +1860,44 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" </xs:sequence> </xs:complexType> </xs:element> + <xs:element name="sriov-pf"> + <xs:complexType> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="SR-IOV Physical Function",indexedProps="pf-pci-id",dependentOn="p-interface",container="sriov-pfs")</annox:annotate> + </xs:appinfo> + </xs:annotation> + <xs:sequence> + <xs:element name="pf-pci-id" type="xs:string"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Identifier for the sriov-pf")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="resource-version" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element ref="tns:relationship-list" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="sriov-pfs"> + <xs:complexType> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of SR-IOV Physical Functions.")</annox:annotate> + </xs:appinfo> + </xs:annotation> + <xs:sequence> + <xs:element ref="tns:sriov-pf" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> <xs:element name="p-interface"> <xs:complexType> <xs:annotation> @@ -1875,7 +1969,22 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" </xs:appinfo> </xs:annotation> </xs:element> + <xs:element name="in-maint" type="xs:boolean"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(defaultValue="false",description="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="inv-status" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="inventory status")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> <xs:element ref="tns:relationship-list" minOccurs="0"/> + <xs:element ref="tns:sriov-pfs" minOccurs="0"/> <xs:element ref="tns:l-interfaces" minOccurs="0"/> </xs:sequence> </xs:complexType> @@ -1956,6 +2065,13 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" </xs:appinfo> </xs:annotation> </xs:element> + <xs:element name="in-maint" type="xs:boolean"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(defaultValue="false",description="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> <xs:element ref="tns:relationship-list" minOccurs="0"/> <xs:element ref="tns:l-interfaces" minOccurs="0"/> </xs:sequence> @@ -2156,6 +2272,20 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" </xs:appinfo> </xs:annotation> </xs:element> + <xs:element name="management-option" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Indicates who owns and or manages the device.")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="host-profile" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="The host profile that defines the configuration of the pserver.")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> <xs:element ref="tns:relationship-list" minOccurs="0"/> <xs:element ref="tns:p-interfaces" minOccurs="0"/> <xs:element ref="tns:lag-interfaces" minOccurs="0"/> @@ -2235,6 +2365,56 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" </xs:sequence> </xs:complexType> </xs:element> + <xs:element name="license-key-resource"> + <xs:complexType> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="OBSOLETE OBJECT: do not use",nameProps="name",indexedProps="assignment-group-uuid,vnf-image-uuid,name",uniqueProps="vnf-image-uuid",container="license-key-resources",namespace="license-management")</annox:annotate> + </xs:appinfo> + </xs:annotation> + <xs:sequence> + <xs:element name="vnf-image-uuid" type="xs:string"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true)</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="assignment-type" type="xs:string" minOccurs="0"/> + <xs:element name="assignment-status" type="xs:string" minOccurs="0"/> + <xs:element name="assignment-group-uuid" type="xs:string"/> + <xs:element name="assignment-date" type="xs:string" minOccurs="0"/> + <xs:element name="name" type="xs:string" minOccurs="0"/> + <xs:element name="model-uuid" type="xs:string" minOccurs="0"/> + <xs:element name="model-version" type="xs:string" minOccurs="0"/> + <xs:element name="license-key" type="xs:string" minOccurs="0"/> + <xs:element name="license-key-file-url" type="xs:string" minOccurs="0"/> + <xs:element name="supplier-release-list" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="resource-version" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element ref="tns:relationship-list" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="license-key-resources"> + <xs:complexType> + <xs:sequence> + <xs:element ref="tns:license-key-resource" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="license-management"> + <xs:complexType> + <xs:sequence> + <xs:element ref="tns:license-key-resources" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + </xs:element> <xs:element name="connector"> <xs:complexType> <xs:annotation> @@ -2260,14 +2440,21 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" <xs:element name="model-invariant-id" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",visibility="deployment",requires="model-version-id",dbAlias="model-invariant-id-local")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> <xs:element name="model-version-id" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version uuid for this resource or service model.")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment",requires="model-invariant-id",dbAlias="model-version-id-local")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="persona-model-version" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> @@ -2400,56 +2587,56 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" <xs:element name="model-invariant-id" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",visibility="deployment",requires="model-version-id",dbAlias="model-invariant-id-local")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> <xs:element name="model-version-id" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version uuid for this resource or service model.")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment",requires="model-invariant-id",dbAlias="model-version-id-local")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> - <xs:element name="model-customization-id" type="xs:string" minOccurs="0"> + <xs:element name="persona-model-version" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> - <xs:element name="orchestration-status" type="xs:string" minOccurs="0"> + <xs:element name="resource-version" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Orchestration status of this resource, mastered by MSO")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Concurrency value")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> - <xs:element name="operational-status" type="xs:string" minOccurs="0"> + <xs:element name="orchestration-status" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Status that indicates whether the asset is in or out of the service path. Valid values are null, in-service-path, out-of-service-path.")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Orchestration status")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> - <xs:element name="resource-version" type="xs:string" minOccurs="0"> + <xs:element name="operational-status" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Concurrency value")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> <xs:element name="type" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Generic description of the type of the resource")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Generic description of the type of allotted resource.")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> <xs:element name="role" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Role that this asset will be playing in its context.")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="role in the network that this resource will be providing.")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> @@ -2474,7 +2661,7 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" <xs:complexType> <xs:annotation> <xs:appinfo> - <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Instance of a service",indexedProps="service-instance-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,service-instance-name,service-instance-location-id,orchestration-status",nameProps="service-instance-name",searchable="service-instance-id,service-instance-name",uniqueProps="service-instance-id",dependentOn="service-subscription",container="service-instances")</annox:annotate> + <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Instance of a service",indexedProps="service-instance-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,service-instance-name,service-instance-location-id,orchestration-status,environment-context,workload-context",nameProps="service-instance-name",searchable="service-instance-id,service-instance-name",uniqueProps="service-instance-id",dependentOn="service-subscription",container="service-instances")</annox:annotate> </xs:appinfo> </xs:annotation> <xs:sequence> @@ -2492,17 +2679,52 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" </xs:appinfo> </xs:annotation> </xs:element> + <xs:element name="service-type" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="String capturing type of service.")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="service-role" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="String capturing the service role.")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="environment-context" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="This field will store the environment context assigned to the service-instance.")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="workload-context" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="This field will store the workload context assigned to the service-instance.")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> <xs:element name="model-invariant-id" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",visibility="deployment",requires="model-version-id",dbAlias="model-invariant-id-local")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> <xs:element name="model-version-id" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version uuid for this resource or service model.")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment",requires="model-invariant-id",dbAlias="model-version-id-local")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="persona-model-version" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> @@ -2724,11 +2946,11 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" <xs:complexType> <xs:annotation> <xs:appinfo> - <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Image object that pertain to a VNF that doesn't have associated vservers. This is a kludge.",indexedProps="application,att-uuid,application-vendor,application-version",uniqueProps="att-uuid",container="vnf-images",namespace="service-design-and-creation")</annox:annotate> + <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Image object that pertain to a VNF that doesn't have associated vservers. This is a kludge.",indexedProps="application,vnf-image-uuid,application-vendor,application-version",uniqueProps="vnf-image-uuid",container="vnf-images",namespace="service-design-and-creation")</annox:annotate> </xs:appinfo> </xs:annotation> <xs:sequence> - <xs:element name="att-uuid" type="xs:string"> + <xs:element name="vnf-image-uuid" type="xs:string"> <xs:annotation> <xs:appinfo> <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique ID of this asset")</annox:annotate> @@ -3013,18 +3235,7 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" </xs:appinfo> </xs:annotation> </xs:element> - <xs:element name="linkage-points" minOccurs="0"> - <xs:complexType> - <xs:annotation> - <xs:appinfo> - <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Defines how other models combine to make up a higher-level model.",uniqueProps="model-element-uuid",indexedProps="model-element-uuid",allowDirectRead="true",allowDirectWrite="false",container="model-elements")</annox:annotate> - </xs:appinfo> - </xs:annotation> - <xs:sequence> - <xs:element name="linkage-point" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> - </xs:sequence> - </xs:complexType> - </xs:element> + <xs:element name="linkage-points" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="resource-version" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> @@ -3327,6 +3538,13 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" </xs:appinfo> </xs:annotation> </xs:element> + <xs:element name="in-maint" type="xs:boolean"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(defaultValue="false",description="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs.")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> <xs:element name="link-type" type="xs:string"> <xs:annotation> <xs:appinfo> @@ -3372,14 +3590,21 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" <xs:element name="model-invariant-id" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",visibility="deployment",requires="model-version-id",dbAlias="model-invariant-id-local")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> <xs:element name="model-version-id" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version uuid for this resource or service model.")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment",requires="model-invariant-id",dbAlias="model-version-id-local")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="persona-model-version" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> @@ -3400,7 +3625,7 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" <xs:element name="operational-status" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Status that indicates whether the asset is in or out of the service path. Valid values are null, in-service-path, out-of-service-path.")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Indication of operational status of the logical link.")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> @@ -3677,7 +3902,7 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" <xs:complexType> <xs:annotation> <xs:appinfo> - <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="stores the global route targets associated with a VPN",indexedProps="global-route-target,route-target-role",searchable="global-route-target",container="route-targets",namespace="network")</annox:annotate> + <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Route target information",container="route-targets",dependentOn="vpn-binding",canBeLinked="true")</annox:annotate> </xs:appinfo> </xs:annotation> <xs:sequence> @@ -3691,7 +3916,7 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" <xs:element name="route-target-role" type="xs:string"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Role assigned to this route target, valid values EXPORT/IMPORT/BOTH")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Role assigned to this route target")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> @@ -3702,18 +3927,17 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" </xs:appinfo> </xs:annotation> </xs:element> - <xs:element ref="tns:relationship-list" minOccurs="0"> - <xs:annotation> - <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Relationship to other objects")</annox:annotate> - </xs:appinfo> - </xs:annotation> - </xs:element> + <xs:element ref="tns:relationship-list" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="route-targets"> <xs:complexType> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of route target information")</annox:annotate> + </xs:appinfo> + </xs:annotation> <xs:sequence> <xs:element ref="tns:route-target" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> @@ -3723,7 +3947,7 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" <xs:complexType> <xs:annotation> <xs:appinfo> - <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="VPN binding",nameProps="vpn-name,vpn-type",indexedProps="vpn-name,vpn-id,global-route-target,vpn-type",searchable="vpn-id,vpn-name",uniqueProps="vpn-id",container="vpn-bindings",namespace="network")</annox:annotate> + <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="VPN binding",nameProps="vpn-name,vpn-type",indexedProps="vpn-name,vpn-id,vpn-type",searchable="vpn-id,vpn-name",uniqueProps="vpn-id",container="vpn-bindings",namespace="network")</annox:annotate> </xs:appinfo> </xs:annotation> <xs:sequence> @@ -3741,38 +3965,38 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" </xs:appinfo> </xs:annotation> </xs:element> - <xs:element name="global-route-target" type="xs:string"> + <xs:element name="vpn-platform" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Number used to identify a VPN, globally unique in the network. NOTE - WILL BE RETIRED IN 1802, see child object")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the platform associated with the VPN example AVPN, Mobility")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> - <xs:element name="vpn-platform" type="xs:string" minOccurs="0"> + <xs:element name="vpn-type" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the platform associated with the VPN example AVPN, Mobility")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Type of the vpn, should be taken from enumerated/valid values")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> - <xs:element name="vpn-type" type="xs:string" minOccurs="0"> + <xs:element name="vpn-region" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Type of the vpn, should be taken from enumerated/valid values")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="region of customer vpn")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> - <xs:element name="route-distinguisher" type="xs:string" minOccurs="0"> + <xs:element name="customer-vpn-id" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used to distinguish the distinct VPN routes of separate customers who connect to the provider in an MPLS network.")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="id for this customer vpn")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> - <xs:element name="route-target-role" type="xs:string" minOccurs="0"> + <xs:element name="route-distinguisher" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Role assigned to this route target. NOTE - WILL BE RETIRED IN 1802, see child object")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used to distinguish the distinct VPN routes of separate customers who connect to the provider in an MPLS network.")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> @@ -4201,7 +4425,14 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" <xs:element name="operational-status" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Status that indicates whether the asset is in or out of the service path. Valid values are null, in-service-path, out-of-service-path.")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="license-key" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="OBSOLETE - do not use")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> @@ -4268,6 +4499,13 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" </xs:appinfo> </xs:annotation> </xs:element> + <xs:element name="entitlement-resource-uuid" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="OBSOLETE - see child relationships")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> <xs:element ref="tns:port-groups" minOccurs="0"/> <xs:element ref="tns:licenses" minOccurs="0"/> <xs:element ref="tns:entitlements" minOccurs="0"/> @@ -4347,7 +4585,14 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" <xs:element name="operational-status" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Status that indicates whether the asset is in or out of the service path. Valid values are null, in-service-path, out-of-service-path.")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="license-key" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="OBSOLETE - do not use. See child relationships.")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> @@ -4466,7 +4711,7 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" <xs:complexType> <xs:annotation> <xs:appinfo> - <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(indexedProps="vnfc-name,prov-status,vnfc-type,vnfc-function-code,ipaddress-v4-oam-vip,in-maint,is-closed-loop-disabled,group-notation",searchable="vnfc-name",container="vnfcs",namespace="network")</annox:annotate> + <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(indexedProps="vnfc-name,prov-status,nfc-function,nfc-naming-code,ipaddress-v4-oam-vip,in-maint,is-closed-loop-disabled,group-notation,model-invariant-id,model-version-id",searchable="vnfc-name",container="vnfcs",namespace="network")</annox:annotate> </xs:appinfo> </xs:annotation> <xs:sequence> @@ -4477,17 +4722,17 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" </xs:appinfo> </xs:annotation> </xs:element> - <xs:element name="vnfc-function-code" type="xs:string"> + <xs:element name="nfc-naming-code" type="xs:string"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="function code")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Short code that is used in naming instances of the item being modeled")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> - <xs:element name="vnfc-type" type="xs:string"> + <xs:element name="nfc-function" type="xs:string"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="type")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="English description of function that the specific resource deployment is providing. Assigned as part of the customization of a resource in a service")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> @@ -4533,6 +4778,20 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" </xs:appinfo> </xs:annotation> </xs:element> + <xs:element name="model-invariant-id" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",visibility="deployment",requires="model-version-id")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="model-version-id" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment",requires="model-invariant-id")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> <xs:element name="resource-version" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> @@ -4641,6 +4900,13 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" </xs:appinfo> </xs:annotation> </xs:element> + <xs:element name="subnet-role" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="role of the subnet, referenced when assigning IPs")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> <xs:element name="resource-version" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> @@ -4839,14 +5105,21 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" <xs:element name="model-invariant-id" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",visibility="deployment",requires="model-version-id",dbAlias="model-invariant-id-local")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> <xs:element name="model-version-id" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version uuid for this resource or service model.")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment",requires="model-invariant-id",dbAlias="model-version-id-local")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="persona-model-version" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> @@ -4899,17 +5172,17 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" </xs:appinfo> </xs:annotation> </xs:element> - <xs:element name="operational-status" type="xs:string" minOccurs="0"> + <xs:element name="selflink" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Status that indicates whether the asset is in or out of the service path. Valid values are null, in-service-path, out-of-service-path.")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Path to the controller object.")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> - <xs:element name="selflink" type="xs:string" minOccurs="0"> + <xs:element name="operational-status" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Path to the controller object.")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational.")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> @@ -5033,14 +5306,21 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" <xs:element name="model-invariant-id" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",visibility="deployment",requires="model-version-id",dbAlias="model-invariant-id-local")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> <xs:element name="model-version-id" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version uuid for this resource or service model.")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment",requires="model-invariant-id",dbAlias="model-version-id-local")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="persona-model-version" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> @@ -5106,7 +5386,7 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" <xs:complexType> <xs:annotation> <xs:appinfo> - <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="General purpose VNF",nameProps="vnf-name",indexedProps="is-closed-loop-disabled,vnf-name2,vnf-type,heat-stack-id,in-maint,vnf-name,vnf-id,regional-resource-zone,prov-status,service-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,nf-type,nf-role,nf-function,nf-naming-code",searchable="vnf-id,vnf-name,vnf-name2",uniqueProps="vnf-id",container="generic-vnfs",namespace="network",extendsFrom="vnf")</annox:annotate> + <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="General purpose VNF",nameProps="vnf-name",indexedProps="is-closed-loop-disabled,vnf-name2,vnf-type,heat-stack-id,in-maint,vnf-name,vnf-id,regional-resource-zone,prov-status,service-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,nf-type,nf-function,nf-naming-code,nf-role",searchable="vnf-id,vnf-name,vnf-name2",uniqueProps="vnf-id",container="generic-vnfs",namespace="network",extendsFrom="vnf",containsSuggestibleProps="true",suggestionAliases="VNFs")</annox:annotate> </xs:appinfo> </xs:annotation> <xs:sequence> @@ -5155,14 +5435,21 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" <xs:element name="prov-status" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Trigger for operational monitoring of this resource by Service Assurance systems.")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Trigger for operational monitoring of this resource by Service Assurance systems.",suggestibleOnSearch="true")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> <xs:element name="operational-status" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Status that indicates whether the asset is in or out of the service path. Valid values are null, in-service-path, out-of-service-path.")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational. Valid values are in-service-path and out-of-service-path.")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="license-key" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="OBSOLETE - do not use")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> @@ -5176,7 +5463,7 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" <xs:element name="orchestration-status" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Orchestration status of this VNF, used by MSO.")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Orchestration status of this VNF, used by MSO.",suggestibleOnSearch="true")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> @@ -5197,7 +5484,7 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" <xs:element name="management-option" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="identifier of managed by ATT or customer")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="identifier of managed by ONAP or customer")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> @@ -5306,17 +5593,52 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" </xs:appinfo> </xs:annotation> </xs:element> + <xs:element name="entitlement-assignment-group-uuid" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="UUID of the Entitlement group used for licensing VNFs, OBSOLETE - See child relationships.")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="entitlement-resource-uuid" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="UUID of the specific entitlement resource. OBSOLETE - See child relationships.")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="license-assignment-group-uuid" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="UUID of the license assignment group. OBSOLETE - See child relationships.")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="license-key-uuid" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="UUID of the actual license resource. OBSOLETE - See child relationships.")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> <xs:element name="model-invariant-id" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",visibility="deployment",requires="model-version-id",dbAlias="model-invariant-id-local")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> <xs:element name="model-version-id" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version uuid for this resource or service model.")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment",requires="model-invariant-id",dbAlias="model-version-id-local")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="persona-model-version" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> @@ -5358,28 +5680,28 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" <xs:element name="nf-type" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Generic description of the type of the resource")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Generic description of the type of NF",suggestibleOnSearch="true")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> - <xs:element name="nf-role" type="xs:string" minOccurs="0"> + <xs:element name="nf-function" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Role that this asset will be playing in its context.")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="English description of Network function that the specific VNF deployment is providing")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> - <xs:element name="nf-function" type="xs:string" minOccurs="0"> + <xs:element name="nf-role" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="English description of function that the specific resource deployment is providing. Assigned as part of the customization of a resource in a service")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="role in the network that this model will be providing",suggestibleOnSearch="true")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> <xs:element name="nf-naming-code" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Short code that is used in naming instances of the item being modelled")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="string assigned to this model used for naming purposes")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> @@ -5390,6 +5712,34 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" </xs:appinfo> </xs:annotation> </xs:element> + <xs:element name="ipv4-oam-gateway-address" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Gateway address")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="ipv4-oam-gateway-address-prefix-length" type="xs:int" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Prefix length for oam-address")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="vlan-id-outer" type="xs:unsignedInt" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Temporary location for S-TAG to get to VCE")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="nm-profile-name" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Network Management profile of this VNF")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> <xs:element ref="tns:relationship-list" minOccurs="0"/> <xs:element ref="tns:l-interfaces" minOccurs="0"/> <xs:element ref="tns:lag-interfaces" minOccurs="0"/> @@ -5495,7 +5845,7 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" <xs:element name="operational-status" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Status that indicates whether the asset is in or out of the service path. Valid values are null, in-service-path, out-of-service-path.")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> @@ -5632,7 +5982,7 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" <xs:element name="management-option" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="identifier of managed by ATT or customer")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="identifier of managed by ONAP or customer")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> @@ -5911,7 +6261,7 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" <xs:element name="requested-dmz-type" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> - <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="ATT can offer a shared DMZ or a DMZ specific to a customer")</annox:annotate> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="ONAP can offer a shared DMZ or a DMZ specific to a customer")</annox:annotate> </xs:appinfo> </xs:annotation> </xs:element> @@ -6102,10 +6452,31 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" <xs:complexType> <xs:annotation> <xs:appinfo> - <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="General mechanism for grouping instances",nameProps="description",uniqueProps="id",indexedProps="id,description,type,sub-type",container="instance-groups",namespace="network")</annox:annotate> + <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="General mechanism for grouping instances",nameProps="description",uniqueProps="id",searchable="id,description",indexedProps="id,description,type,sub-type",container="instance-groups",namespace="network")</annox:annotate> </xs:appinfo> </xs:annotation> <xs:sequence> + <xs:element name="instance-group-role" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="role of the instance group.")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="model-invariant-id" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="ASDC model id for this resource or service model.")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="model-version-id" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="ASDC model version uid for this resource model.")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> <xs:element name="id" type="xs:string"> <xs:annotation> <xs:appinfo> @@ -6282,11 +6653,11 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" <xs:element name="edgeLabel" type="xs:string" minOccurs="0"/> <xs:element name="direction" type="xs:string" minOccurs="0"/> <xs:element name="multiplicityRule" type="xs:string" minOccurs="0"/> - <xs:element name="isParent" type="xs:boolean" minOccurs="0"/> - <xs:element name="usesResource" type="xs:boolean" minOccurs="0"/> - <xs:element name="hasDelTarget" type="xs:boolean" minOccurs="0"/> + <xs:element name="is-parent" type="xs:string" minOccurs="0"/> + <xs:element name="uses-resource" type="xs:string" minOccurs="0"/> + <xs:element name="has-del-target" type="xs:string" minOccurs="0"/> <xs:element name="SVC-INFRA" type="xs:string" minOccurs="0"/> - <xs:element name="SVC-INFRA-REV" type="xs:string" minOccurs="0"/> + <xs:element name="prevent-delete" type="xs:string" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element> @@ -6304,6 +6675,7 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" <xs:element ref="tns:search" minOccurs="0"/> <xs:element ref="tns:actions" minOccurs="0"/> <xs:element ref="tns:cloud-infrastructure" minOccurs="0"/> + <xs:element ref="tns:license-management" minOccurs="0"/> <xs:element ref="tns:business" minOccurs="0"/> <xs:element ref="tns:service-design-and-creation" minOccurs="0"/> <xs:element ref="tns:network" minOccurs="0"/> @@ -6483,9 +6855,24 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" </xs:sequence> </xs:complexType> </xs:element> + <xs:element name="extra-property"> + <xs:complexType> + <xs:sequence> + <xs:element name="property-name" type="xs:string" minOccurs="0"/> + <xs:element name="property-value" type="xs:string" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + </xs:element> <xs:element name="extra-properties"> <xs:complexType> - <xs:sequence/> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Extra properties for inventory item for response list")</annox:annotate> + </xs:appinfo> + </xs:annotation> + <xs:sequence> + <xs:element ref="tns:extra-property" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> </xs:complexType> </xs:element> <xs:element name="inventory-response-item"> @@ -6535,13 +6922,6 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="extra-property"> - <xs:complexType> - <xs:sequence> - <xs:element name="property-name" type="xs:string" minOccurs="0"/> - </xs:sequence> - </xs:complexType> - </xs:element> <xs:element name="vnf"> <xs:complexType> <xs:annotation> diff --git a/aai-service/provider/src/test/java/org/onap/sli/adaptors/aai/r1607/R1607AutoGeneratedTest.java b/aai-service/provider/src/test/java/org/onap/ccsdk/sli/adaptors/aai/r1607/R1607AutoGeneratedTest.java index 8bd2b664b..9d357d30f 100644 --- a/aai-service/provider/src/test/java/org/onap/sli/adaptors/aai/r1607/R1607AutoGeneratedTest.java +++ b/aai-service/provider/src/test/java/org/onap/ccsdk/sli/adaptors/aai/r1607/R1607AutoGeneratedTest.java @@ -56,8 +56,8 @@ import org.onap.ccsdk.sli.adaptors.aai.AAIDeclarations; import org.onap.ccsdk.sli.adaptors.aai.AAIRequest; import org.onap.ccsdk.sli.adaptors.aai.AAIService; import org.onap.ccsdk.sli.adaptors.aai.data.AAIDatum; -import org.openecomp.aai.inventory.v10.GenericVnf; -import org.openecomp.aai.inventory.v10.InventoryResponseItems; +import org.openecomp.aai.inventory.v11.GenericVnf; +import org.openecomp.aai.inventory.v11.InventoryResponseItems; import org.slf4j.Logger; import org.slf4j.LoggerFactory; |