From f8dd15950ce50855b989bfee6133a91205138042 Mon Sep 17 00:00:00 2001 From: Rich Tabedzki Date: Thu, 10 Aug 2017 02:07:22 +0000 Subject: [SDNC-30] summary Updated code to the latest version of AAI model Change-Id: I7aea6fc44cf1586c5915da1e2cffe15fa666eef0 Signed-off-by: Rich Tabedzki --- aai-service/provider/pom.xml | 6 +- .../java/org/openecomp/sdnc/sli/aai/AAIClient.java | 5 +- .../openecomp/sdnc/sli/aai/AAIDeclarations.java | 517 +- .../org/openecomp/sdnc/sli/aai/AAIRequest.java | 46 +- .../org/openecomp/sdnc/sli/aai/AAIService.java | 97 +- .../openecomp/sdnc/sli/aai/AAIServiceUtils.java | 340 + .../openecomp/sdnc/sli/aai/CloudRegionRequest.java | 2 +- .../sdnc/sli/aai/GenericQueryRequest.java | 2 +- .../org/openecomp/sdnc/sli/aai/GenericRequest.java | 158 +- .../openecomp/sdnc/sli/aai/GenericVnfRequest.java | 2 +- .../sli/aai/L3InterfaceIpv4AddressListRequest.java | 2 +- .../sli/aai/L3InterfaceIpv6AddressListRequest.java | 2 +- .../openecomp/sdnc/sli/aai/LInterfaceRequest.java | 2 +- .../sdnc/sli/aai/LagInterfacePnfRequest.java | 2 +- .../openecomp/sdnc/sli/aai/NamedQueryRequest.java | 2 +- .../openecomp/sdnc/sli/aai/NodesQueryRequest.java | 2 +- .../sdnc/sli/aai/PInterfacePnfRequest.java | 2 +- .../openecomp/sdnc/sli/aai/PInterfaceRequest.java | 2 +- .../sdnc/sli/aai/PhysicalLinkRequest.java | 2 +- .../sdnc/sli/aai/RelationshipRequest.java | 2 +- .../openecomp/sdnc/sli/aai/SelfLinkRequest.java | 10 +- .../sdnc/sli/aai/SubInterfaceRequest.java | 2 +- .../openecomp/sdnc/sli/aai/data/SubInterface.java | 4 +- .../sdnc/sli/aai/query/InstanceFilter.java | 8 +- .../org/openecomp/sdnc/sli/aai/query/Results.java | 2 +- .../src/main/resources/aai-path.properties | 336 +- .../src/main/resources/aai-schema-bindings.xjb | 2 +- .../provider/src/main/resources/aai_schema_v10.xsd | 6563 ------------------ .../provider/src/main/resources/aai_schema_v11.xsd | 6943 ++++++++++++++++++++ .../sdnc/sli/aai/r1607/R1607AutoGeneratedTest.java | 4 +- .../src/test/resources/aaiclient.properties | 197 +- 31 files changed, 7877 insertions(+), 7389 deletions(-) create mode 100644 aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIServiceUtils.java delete mode 100755 aai-service/provider/src/main/resources/aai_schema_v10.xsd create mode 100755 aai-service/provider/src/main/resources/aai_schema_v11.xsd diff --git a/aai-service/provider/pom.xml b/aai-service/provider/pom.xml index 9216f37..c122e8c 100755 --- a/aai-service/provider/pom.xml +++ b/aai-service/provider/pom.xml @@ -131,7 +131,7 @@ org.openecomp.sdnc.sli.aai org.openecomp.sdnc.sli.aai.AAIServiceActivator - org.openecomp.sdnc.sli.aai.*,org.openecomp.aai.inventory.v10.* + org.openecomp.sdnc.sli.aai.*,org.openecomp.aai.inventory.v11.* 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.* * true @@ -155,13 +155,13 @@ ${project.basedir}/src/main/resources - aai_schema_v10.xsd + aai_schema_v11.xsd aai-schema-bindings.xjb ${project.build.directory}/generated-sources/main/java - org.openecomp.aai.inventory.v10 + org.openecomp.aai.inventory.v11 true -Xannotate diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIClient.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIClient.java index fe358df..55c84bc 100644 --- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIClient.java +++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIClient.java @@ -22,6 +22,7 @@ package org.openecomp.sdnc.sli.aai; import java.io.IOException; +import java.net.MalformedURLException; import java.net.URL; import java.util.HashMap; import java.util.Map; @@ -37,7 +38,7 @@ import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.databind.JsonMappingException; -import org.openecomp.aai.inventory.v10.*; +import org.openecomp.aai.inventory.v11.*; public interface AAIClient extends SvcLogicResource, SvcLogicJavaPlugin { @@ -197,5 +198,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 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 nameValues); } diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIDeclarations.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIDeclarations.java index 5d5c6d8..389a330 100644 --- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIDeclarations.java +++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIDeclarations.java @@ -64,7 +64,7 @@ import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; -import org.openecomp.aai.inventory.v10.*; +import org.openecomp.aai.inventory.v11.*; public abstract class AAIDeclarations implements AAIClient { @@ -133,10 +133,10 @@ public abstract class AAIDeclarations implements AAIClient { String vnfId = null; String vnfName = null; - HashMap nameValues = keyToHashMap(key, ctx); + HashMap 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; } @@ -377,37 +377,6 @@ public abstract class AAIDeclarations implements AAIClient { // return QueryStatus.SUCCESS; } - private boolean checkOldFormat(String resource, HashMap 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 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 properties, String prefix, SvcLogicContext ctx) { Set mapKeys = properties.keySet(); @@ -453,9 +422,9 @@ public abstract class AAIDeclarations implements AAIClient { throws SvcLogicException { getLogger().debug("AAIService.save\tresource="+resource); - HashMap nameValues = keyToHashMap(key, ctx); + HashMap 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; } @@ -528,8 +497,11 @@ public abstract class AAIDeclarations implements AAIClient { request.processRequestPathValues(nameValues); getExecutor().post(request); - getLogger().debug("Save relationship list - returning SUCCESS"); - return QueryStatus.SUCCESS; + getLogger().debug("Save relationship list - returning SUCCESS"); + return QueryStatus.SUCCESS; +// } else { +// getLogger().debug("Save relationship list - returning FAILURE"); +// return QueryStatus.FAILURE; } } catch (Exception exc) { ctx.setAttribute(prefix + ".error.message", exc.getMessage()); @@ -592,9 +564,9 @@ public abstract class AAIDeclarations implements AAIClient { public QueryStatus update(String resource, String key, Map params, String prefix, SvcLogicContext ctx) throws SvcLogicException { resource = resource.toLowerCase(); - HashMap nameValues = keyToHashMap(key, ctx); + HashMap 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; } @@ -653,10 +625,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 nameValues = keyToHashMap(key, ctx); + HashMap 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; } @@ -809,7 +781,7 @@ public abstract class AAIDeclarations implements AAIClient { QueryStatus retval = QueryStatus.SUCCESS; String modifier = null; - HashMap nameValues = keyToHashMap(key, ctx); + HashMap nameValues = AAIServiceUtils.keyToHashMap(key, ctx); if(resource.contains(":")) { modifier = resource.split(":")[1]; } @@ -905,101 +877,115 @@ public abstract class AAIDeclarations implements AAIClient { } ResultData rDatum = rdList.get(0); response = rDatum; +// writeList((ArrayList)rdList, prefix, ctx); } - if("formatted-query".equals(resource)) { + if("formatted-query".equals(resource) || "custom-query".equals(resource)) { FormattedQueryResultList rd = FormattedQueryResultList.class.cast(response); List iRIlist = rd.getResults(); if(iRIlist == null || iRIlist.isEmpty()) { return QueryStatus.NOT_FOUND; } } + + // 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 = ""; - } else { - preFix = prefix + "."; - } - - Map props = objectToProperties(response); - Set keys = props.keySet(); - for(String theKey: keys) { - if(getLogger().isTraceEnabled()) - getLogger().trace(theKey); - - Object value = props.get(theKey); - if(value == null) - continue; - Object type = value.getClass(); - if(value instanceof String) { - ctx.setAttribute(preFix + theKey, value.toString()); - continue; - } - if(value instanceof Boolean) { - ctx.setAttribute(preFix + theKey, value.toString()); - continue; - } - if(value instanceof Integer) { - ctx.setAttribute(preFix + theKey, value.toString()); - continue; - } - if(value instanceof Long) { - ctx.setAttribute(preFix + theKey, value.toString()); - continue; - } - - 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; - } - - if("relationship-list".equals(theKey)){ - Map relationshipList = (Map)value; - // we are interested in seeing just the selected relationship - if(theKey.equals(modifier)) { - List relationships = (List)relationshipList.get("relationship"); - if(relationships != null && !relationships.isEmpty()) { - - List newRelationships = new LinkedList(); - newRelationships.addAll(relationships); - - for(Object obj : newRelationships){ - if(obj instanceof Map) { - Map relProperties = (Map)obj; - if(relProperties.containsKey("related-to")) { - Object relPropsRelatedTo = relProperties.get("related-to"); - - String relatedTo = nameValues.get("related_to"); - if(relatedTo != null) { - relatedTo = relatedTo.trim().replace("'", "").replace("$", "").replace("'", ""); - if(!relatedTo.equals(relPropsRelatedTo)) { - relationships.remove(relProperties); - } - continue; - } else { - continue; - } - } - } - } - } - } - writeMap(relationshipList, String.format("%s.%s", prefix, theKey), ctx); - continue; - } - - if(value instanceof Map) { - Map subnetsList = (Map)value; - writeMap(subnetsList, String.format("%s.%s", prefix, theKey), ctx); - continue; + String preFix = null; + if(prefix == null || prefix.isEmpty()) { + preFix = ""; + } else { + preFix = prefix + "."; + } + + Map props = objectToProperties(response); + Set keys = props.keySet(); + for(String theKey: keys) { + if(getLogger().isTraceEnabled()) + getLogger().trace(theKey); + + Object value = props.get(theKey); + if(value == null) + continue; + Object type = value.getClass(); + if(value instanceof String) { + ctx.setAttribute(preFix + theKey, value.toString()); + continue; + } + if(value instanceof Boolean) { + ctx.setAttribute(preFix + theKey, value.toString()); + continue; + } + if(value instanceof Integer) { + ctx.setAttribute(preFix + theKey, value.toString()); + continue; + } + if(value instanceof Long) { + ctx.setAttribute(preFix + theKey, value.toString()); + continue; + } + + if(value instanceof ArrayList) { + ArrayList array = ArrayList.class.cast(value); + for(int i = 0; i < array.size(); i++) { + writeList(array, String.format("%s.%s", prefix, theKey), ctx); + } + continue; + } + + if("relationship-list".equals(theKey)){ + Map relationshipList = (Map)value; + // we are interested in seeing just the selected relationship + if(theKey.equals(modifier)) { + List relationships = (List)relationshipList.get("relationship"); + if(relationships != null && !relationships.isEmpty()) { + + List newRelationships = new LinkedList(); + newRelationships.addAll(relationships); + + for(Object obj : newRelationships){ + if(obj instanceof Map) { + Map relProperties = (Map)obj; + if(relProperties.containsKey("related-to")) { + Object relPropsRelatedTo = relProperties.get("related-to"); + + String relatedTo = nameValues.get("related_to"); + if(relatedTo != null) { + relatedTo = relatedTo.trim().replace("'", "").replace("$", "").replace("'", ""); + if(!relatedTo.equals(relPropsRelatedTo)) { + relationships.remove(relProperties); + } + continue; + } else { + continue; + } + } + } + } + } } + writeMap(relationshipList, String.format("%s.%s", prefix, theKey), ctx); + continue; + } - } + if(value instanceof Map) { + Map subnetsList = (Map)value; + writeMap(subnetsList, String.format("%s.%s", prefix, theKey), ctx); + continue; + } + + } return QueryStatus.SUCCESS; } @@ -1084,13 +1070,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 parms, String prefix, SvcLogicContext ctx) { + private QueryStatus newModelSave(String resource, boolean force, String key, Map params, String prefix, SvcLogicContext ctx) { getLogger().debug("Executing newModelSave for resource : " + resource); - HashMap nameValues = keyToHashMap(key, ctx); + HashMap nameValues = AAIServiceUtils.keyToHashMap(key, ctx); try { ArrayList subResources = new ArrayList(); - Set set = parms.keySet(); + Set set = params.keySet(); Map setters = new HashMap(); Map getters = new HashMap(); @@ -1105,14 +1091,13 @@ public abstract class AAIDeclarations implements AAIClient { for(Annotation annotation : annotations) { Class 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; @@ -1122,17 +1107,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); @@ -1146,11 +1131,11 @@ public abstract class AAIDeclarations implements AAIClient { } else if(type.getName().equals("java.util.List")) { List newValues = new ArrayList(); 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 metadataKeys = new TreeSet(); 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")) { @@ -1204,7 +1189,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 { @@ -1235,7 +1220,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); @@ -1266,35 +1257,46 @@ 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 relData = relationship.getRelationshipData(); -// if(relData == null) { -// relData = new LinkedList(); -// relationship.setRelationshipData(relData); -// } - - 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)) - break; - - RelationshipData relDatum = new RelationshipData(); - relDatum.setRelationshipKey(parms.get(searchRelationshipKey)); - relDatum.setRelationshipValue(parms.get(searchRelationshipValue)); - relData.add(relDatum); - j++; + if(relatedLink != null) { + relationship.setRelatedLink(relatedLink); + } else { +// List relData = relationship.getRelationshipData(); + Map relParams = new HashMap(); + + 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(!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 key1 : relParams.keySet()) { + rlRequest.addRequestProperty(key1, relParams.get(key1)); + } + String path = rlRequest.updatePathDataValues(null); + relationship.setRelatedLink(path); } - i++; } } @@ -1333,14 +1335,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); @@ -1404,10 +1406,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); @@ -1442,6 +1444,8 @@ public abstract class AAIDeclarations implements AAIClient { return retval; } } +// } else { +// boolean response = getExecutor().post(request); } catch(AAIServiceException exc){ ctx.setAttribute(prefix + ".error.message", exc.getMessage()); @@ -1468,13 +1472,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 params, String prefix, SvcLogicContext ctx) throws Exception { Class resourceClass = instance.getClass(); @@ -1496,7 +1493,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); @@ -1531,13 +1533,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; @@ -1551,23 +1552,31 @@ public abstract class AAIDeclarations implements AAIClient { if(relatedLink != null) { relationship.setRelatedLink(relatedLink); } else { - List relData = relationship.getRelationshipData(); - - 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(!params.containsKey(searchRelationshipKey)) - break; +// List relData = relationship.getRelationshipData(); + Map relParams = new HashMap(); - RelationshipData relDatum = new RelationshipData(); - relDatum.setRelationshipKey(params.get(searchRelationshipKey)); - relDatum.setRelationshipValue(params.get(searchRelationshipValue)); - relData.add(relDatum); - j++; - } + 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(!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++; } } @@ -1587,113 +1596,6 @@ public abstract class AAIDeclarations implements AAIClient { return null; } - protected HashMap 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 results = new HashMap(); - - 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 params, SvcLogicContext ctx) throws SvcLogicException { String resource = params.get("resource").toLowerCase(); @@ -1796,7 +1698,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/openecomp/sdnc/sli/aai/AAIRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIRequest.java index 4badf22..8137601 100644 --- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIRequest.java +++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIRequest.java @@ -55,7 +55,7 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; -import org.openecomp.aai.inventory.v10.*; +import org.openecomp.aai.inventory.v11.*; public abstract class AAIRequest { protected static final Logger LOG = LoggerFactory.getLogger(AAIRequest.class); @@ -114,6 +114,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); @@ -145,6 +146,11 @@ public abstract class AAIRequest { * Map containing bitset value of the path to its path mapping */ private static Map bitsetPaths = new LinkedHashMap(); + + + public static Set getResourceNames() { + return tagValues.keySet(); + } public static void setProperties(Properties props, AAIService aaiService) { @@ -231,17 +237,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 uniqueResources = extractUniqueResourceSetFromKeys(requestProperties.stringPropertyNames()); + URL http_req_url = new URL(request_url); -// request_url = processPathData(request_url, requestProperties); + aaiService.LOGwriteFirstTrace(method, http_req_url.toString()); + + return http_req_url; + } + + public String updatePathDataValues(Object resourceVersion) throws UnsupportedEncodingException, MalformedURLException { + String request_url = getRequestPath(); + + Set uniqueResources = extractUniqueResourceSetFromKeys(requestProperties.stringPropertyNames()); for(String resoourceName:uniqueResources) { AAIRequest locRequest = AAIRequest.createRequest(resoourceName, new HashMap()); @@ -254,19 +266,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; } @@ -366,7 +373,7 @@ public abstract class AAIRequest { return AAIService.getObjectMapper(); } - protected static Class getClassFromResource(String resoourceName) throws ClassNotFoundException { + public static Class getClassFromResource(String resoourceName) throws ClassNotFoundException { String className = GenericVnf.class.getName(); String[] split = resoourceName.split("-"); for(int i = 0; i < split.length; i++) { @@ -415,6 +422,19 @@ public abstract class AAIRequest { return query_pairs; } + public static Map splitPath(String path) throws UnsupportedEncodingException { + Map query_pairs = new LinkedHashMap(); + + 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/openecomp/sdnc/sli/aai/AAIService.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIService.java index f316ead..8ecfd8b 100644 --- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIService.java +++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/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; @@ -96,7 +97,7 @@ import com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector; import com.sun.jersey.api.client.config.DefaultClientConfig; import com.sun.jersey.client.urlconnection.HTTPSProperties; -import org.openecomp.aai.inventory.v10.*; +import org.openecomp.aai.inventory.v11.*; public class AAIService extends AAIDeclarations implements AAIClient, SvcLogicResource { @@ -363,7 +364,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())); @@ -677,7 +684,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 { @@ -1753,8 +1760,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 nameValues = keyToHashMap(key, ctx); + + HashMap nameValues = AAIServiceUtils.keyToHashMap(key, ctx); SelfLinkRequest request = new SelfLinkRequest(type); request.processRequestPathValues(nameValues); @@ -1954,12 +1965,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) { @@ -2330,7 +2341,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); @@ -2348,6 +2363,7 @@ public class AAIService extends AAIDeclarations implements AAIClient, SvcLogicRe URL requestUrl = null; String requestId = UUID.randomUUID().toString(); + StringBuilder errorStringBuilder = new StringBuilder(); try { @@ -2429,16 +2445,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); } @@ -2446,7 +2460,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){ @@ -2963,12 +2977,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 nameValues = keyToHashMap(key, ctx); + HashMap nameValues = AAIServiceUtils.keyToHashMap(key, ctx); AAIRequest request = new SelfLinkRequest(type); if(nameValues.containsKey(PathRequest.RESOURCE_PATH.replaceAll("-", "_"))) { @@ -3001,6 +3017,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) { @@ -3126,6 +3157,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); } @@ -3151,6 +3185,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); } @@ -3176,6 +3213,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); } @@ -3201,6 +3241,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); } @@ -3238,15 +3281,16 @@ public class AAIService extends AAIDeclarations implements AAIClient, SvcLogicRe fieldAnnotatedNames.add(primaryId); } - HashMap nameValues = keyToHashMap(key, ctx); + HashMap nameValues = AAIServiceUtils.keyToHashMap(key, ctx); Set 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)); } } } @@ -3255,4 +3299,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 nameValues) { + return !AAIServiceUtils.isValidFormat(resource, nameValues); + } } diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIServiceUtils.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIServiceUtils.java new file mode 100644 index 0000000..e68a282 --- /dev/null +++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIServiceUtils.java @@ -0,0 +1,340 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights + * reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.sdnc.sli.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.openecomp.sdnc.sli.SvcLogicContext; +import org.openecomp.sdnc.sli.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 resourceClass){ + // 1. find class + getLogger().debug(resourceClass.getName()); + AAIDatum instance = null; + + try { + instance = resourceClass.newInstance(); + + Annotation[] annotations = resourceClass.getAnnotations(); + for(Annotation annotation : annotations) { + Class 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 resourceClass){ + // 1. find class + getLogger().debug(resourceClass.getName()); + AAIDatum instance = null; + + try { + instance = resourceClass.newInstance(); + + Annotation[] annotations = resourceClass.getAnnotations(); + for(Annotation annotation : annotations) { + Class 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 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 results = new HashMap(); + + 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 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 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 pathToHashMap(String path) { + HashMap nameValues = new HashMap(); + + String[] split = path.split("/"); + + LinkedList list = new LinkedList( Arrays.asList(split)); + Iterator 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 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 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 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 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/openecomp/sdnc/sli/aai/CloudRegionRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/CloudRegionRequest.java index 5751788..b4eddfa 100644 --- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/CloudRegionRequest.java +++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/CloudRegionRequest.java @@ -34,7 +34,7 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.base.Joiner; -import org.openecomp.aai.inventory.v10.CloudRegion; +import org.openecomp.aai.inventory.v11.CloudRegion; public class CloudRegionRequest extends AAIRequest { diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GenericQueryRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GenericQueryRequest.java index 8756fab..b8f9450 100644 --- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GenericQueryRequest.java +++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GenericQueryRequest.java @@ -31,7 +31,7 @@ import org.openecomp.sdnc.sli.aai.data.AAIDatum; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import org.openecomp.aai.inventory.v10.ResultData; +import org.openecomp.aai.inventory.v11.ResultData; public class GenericQueryRequest extends AAIRequest { diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GenericRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GenericRequest.java index 1da543b..1d51b82 100644 --- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GenericRequest.java +++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GenericRequest.java @@ -24,6 +24,7 @@ package org.openecomp.sdnc.sli.aai; import java.io.UnsupportedEncodingException; import java.lang.annotation.Annotation; import java.lang.reflect.Field; +import java.lang.reflect.Method; import java.net.MalformedURLException; import java.net.URL; import java.util.HashMap; @@ -37,8 +38,8 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.base.Joiner; -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; public class GenericRequest extends AAIRequest { @@ -50,30 +51,31 @@ public class GenericRequest extends AAIRequest { } @Override - public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException { + public String updatePathDataValues(Object resourceVersion) throws UnsupportedEncodingException, MalformedURLException { - String request_url = null; String originalPath = null; String pathSubstitute = null; - - request_url = target_uri + getRequestPath(); - + + String request_url = getRequestPath(); + Map queryParams = new HashMap (); if(resourceVersion != null) { - queryParams.put("resource-version",resourceVersion); + queryParams.put("resource-version", resourceVersion.toString()); } Set uniqueResources = extractUniqueResourceSetFromKeys(requestProperties.stringPropertyNames()); String[] keys = requestProperties.keySet().toArray(new String[0]); for(String key : keys) { - if("cloud-region.cloud-region-id".equals(key)) - continue; - if("entitlement.resource-uuid".equals(key)) - continue; - if("license.resource-uuid".equals(key)) + switch(key) { + case "cloud-region.cloud-region-id": + case "entitlement.resource-uuid": + case "license.resource-uuid": + case "route-target.route-target-role": + case "service-capability.vnf-type": + case "ctag-pool.availability-zone-name": continue; - + } String value = requestProperties.getProperty(key); if(key.contains(".")) { @@ -99,6 +101,27 @@ public class GenericRequest extends AAIRequest { String encoded_owner = encodeQuery(value); String encoded_region = encodeQuery(cloudRegionId); request_url = request_url.replace(token, String.format("%s/%s/%s", splitKey[0], encoded_owner, encoded_region)); + } else if("route-target".equals(splitKey[0])){ + String cloudRegionId = requestProperties.getProperty("route-target.route-target-role"); + aaiService.LOGwriteDateTrace("route-target-role", cloudRegionId); + String token = String.format("%s/{%s}/{route-target-role}", splitKey[0], splitKey[1] ); + String encoded_owner = encodeQuery(value); + String encoded_region = encodeQuery(cloudRegionId); + request_url = request_url.replace(token, String.format("%s/%s/%s", splitKey[0], encoded_owner, encoded_region)); + } else if("service-capability".equals(splitKey[0])){ + String cloudRegionId = requestProperties.getProperty("service-capability.vnf-type"); + aaiService.LOGwriteDateTrace("vnf-type", cloudRegionId); + String token = String.format("%s/{%s}/{vnf-type}", splitKey[0], splitKey[1] ); + String encoded_owner = encodeQuery(value); + String encoded_region = encodeQuery(cloudRegionId); + request_url = request_url.replace(token, String.format("%s/%s/%s", splitKey[0], encoded_owner, encoded_region)); + } else if("ctag-pool".equals(splitKey[0])){ + String cloudRegionId = requestProperties.getProperty("ctag-pool.availability-zone-name"); + aaiService.LOGwriteDateTrace("availability-zone-name", cloudRegionId); + String token = String.format("%s/{%s}/{availability-zone-name}", splitKey[0], splitKey[1] ); + String encoded_owner = encodeQuery(value); + String encoded_region = encodeQuery(cloudRegionId); + request_url = request_url.replace(token, String.format("%s/%s/%s", splitKey[0], encoded_owner, encoded_region)); } else { Class clazz = null; try { @@ -164,111 +187,8 @@ public class GenericRequest extends AAIRequest { String queryString = mapJoiner.join(queryParams); request_url = String.format("%s?%s", request_url, queryString); } - - URL http_req_url = new URL(request_url); - - aaiService.LOGwriteFirstTrace(method, http_req_url.toString()); - - - return http_req_url; - } - - - public URL OriginalgetRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException { - - String request_url = null; - - request_url = target_uri + getRequestPath(); - - Map keyValuepairs = new HashMap (); - Set uniqueResources = extractUniqueResourceSetFromKeys(requestProperties.stringPropertyNames()); - - String[] keys = requestProperties.keySet().toArray(new String[0]); - for(String key : keys) { - if("cloud-region.cloud-region-id".equals(key)) - continue; - if("entitlement.resource-uuid".equals(key)) - continue; - if("license.resource-uuid".equals(key)) - continue; - - - String value = requestProperties.getProperty(key); - if(key.contains(".")) { - String[] splitKey = key.split("\\."); - if("cloud-region".equals(splitKey[0])){ - String cloudRegionId = requestProperties.getProperty("cloud-region.cloud-region-id"); - aaiService.LOGwriteDateTrace("cloud-region-id", cloudRegionId); - String token = String.format("%s/{%s}/{cloud-region-id}", splitKey[0], splitKey[1] ); - String encoded_owner = encodeQuery(value); - String encoded_region = encodeQuery(cloudRegionId); - request_url = request_url.replace(token, String.format("%s/%s/%s", splitKey[0], encoded_owner, encoded_region)); - } else if("entitlement".equals(splitKey[0])){ - String cloudRegionId = requestProperties.getProperty("entitlement.resource-uuid"); - aaiService.LOGwriteDateTrace("resource-uuid", cloudRegionId); - String token = String.format("%s/{%s}/{resource-uuid}", splitKey[0], splitKey[1] ); - String encoded_owner = encodeQuery(value); - String encoded_region = encodeQuery(cloudRegionId); - request_url = request_url.replace(token, String.format("%s/%s/%s", splitKey[0], encoded_owner, encoded_region)); - } else if("license".equals(splitKey[0])){ - String cloudRegionId = requestProperties.getProperty("license.resource-uuid"); - aaiService.LOGwriteDateTrace("resource-uuid", cloudRegionId); - String token = String.format("%s/{%s}/{resource-uuid}", splitKey[0], splitKey[1] ); - String encoded_owner = encodeQuery(value); - String encoded_region = encodeQuery(cloudRegionId); - request_url = request_url.replace(token, String.format("%s/%s/%s", splitKey[0], encoded_owner, encoded_region)); - } else { - Class clazz = null; - try { - clazz = getClassFromResource(splitKey[0]); - } catch (ClassNotFoundException exc) { - LOG.warn("AAIRequest does not support class: " + exc.getMessage()); - return null; - } - - if(clazz != null) { - if(clazz == this.model) { - Field[] fields = this.model.getDeclaredFields(); - Field field = fields[0]; - String fieldName = field.getName(); - XmlElement annotation = field.getAnnotation(XmlElement.class); - String primaryId = annotation.name(); - if("##default".equals(primaryId)) { - primaryId = fieldName; - } - - String token = String.format("%s/{%s}", splitKey[0], primaryId); - - if(splitKey[1].equals(primaryId)) { - String encoded_vnf = encodeQuery(value); - request_url = request_url.replace(token, String.format("%s/%s", splitKey[0], encoded_vnf)); - } else { - String replacement = String.format("%s?%s=%s", splitKey[0], splitKey[1], encodeQuery(value)); - if(request_url.contains(token)) - request_url = request_url.replace(token, replacement); - } - } else { - String token = String.format("%s/{%s}", splitKey[0], splitKey[1]); - String encoded_vnf = encodeQuery(value); - request_url = request_url.replace(token, String.format("%s/%s", splitKey[0], encoded_vnf)); - } - } - - } - aaiService.LOGwriteDateTrace(splitKey[1], value); - } - } - - - 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; } @Override diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GenericVnfRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GenericVnfRequest.java index 9951436..cc70adc 100644 --- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GenericVnfRequest.java +++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GenericVnfRequest.java @@ -31,7 +31,7 @@ import org.openecomp.sdnc.sli.aai.data.AAIDatum; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import org.openecomp.aai.inventory.v10.GenericVnf; +import org.openecomp.aai.inventory.v11.GenericVnf; public class GenericVnfRequest extends AAIRequest { diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/L3InterfaceIpv4AddressListRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/L3InterfaceIpv4AddressListRequest.java index 86ab2ef..e89c89c 100644 --- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/L3InterfaceIpv4AddressListRequest.java +++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/L3InterfaceIpv4AddressListRequest.java @@ -31,7 +31,7 @@ import org.openecomp.sdnc.sli.aai.data.AAIDatum; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import org.openecomp.aai.inventory.v10.L3InterfaceIpv4AddressList; +import org.openecomp.aai.inventory.v11.L3InterfaceIpv4AddressList; public class L3InterfaceIpv4AddressListRequest extends AAIRequest { diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/L3InterfaceIpv6AddressListRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/L3InterfaceIpv6AddressListRequest.java index 3353b80..84ada8a 100644 --- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/L3InterfaceIpv6AddressListRequest.java +++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/L3InterfaceIpv6AddressListRequest.java @@ -31,7 +31,7 @@ import org.openecomp.sdnc.sli.aai.data.AAIDatum; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import org.openecomp.aai.inventory.v10.L3InterfaceIpv6AddressList; +import org.openecomp.aai.inventory.v11.L3InterfaceIpv6AddressList; public class L3InterfaceIpv6AddressListRequest extends AAIRequest { diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/LInterfaceRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/LInterfaceRequest.java index 25ea900..f2a3d5a 100644 --- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/LInterfaceRequest.java +++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/LInterfaceRequest.java @@ -31,7 +31,7 @@ import org.openecomp.sdnc.sli.aai.data.AAIDatum; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import org.openecomp.aai.inventory.v10.LInterface; +import org.openecomp.aai.inventory.v11.LInterface; public class LInterfaceRequest extends AAIRequest { diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/LagInterfacePnfRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/LagInterfacePnfRequest.java index f42aa8f..5880b7c 100644 --- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/LagInterfacePnfRequest.java +++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/LagInterfacePnfRequest.java @@ -33,7 +33,7 @@ import org.slf4j.LoggerFactory; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import org.openecomp.aai.inventory.v10.LagInterface; +import org.openecomp.aai.inventory.v11.LagInterface; public class LagInterfacePnfRequest extends AAIRequest { diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/NamedQueryRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/NamedQueryRequest.java index 2f3a3df..4ee06a9 100644 --- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/NamedQueryRequest.java +++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/NamedQueryRequest.java @@ -42,7 +42,7 @@ import com.fasterxml.jackson.databind.node.ObjectNode; import com.fasterxml.jackson.databind.type.TypeFactory; import com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector; -import org.openecomp.aai.inventory.v10.InventoryResponseItems; +import org.openecomp.aai.inventory.v11.InventoryResponseItems; public class NamedQueryRequest extends AAIRequest { diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/NodesQueryRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/NodesQueryRequest.java index da053f5..626165d 100644 --- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/NodesQueryRequest.java +++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/NodesQueryRequest.java @@ -31,7 +31,7 @@ import org.openecomp.sdnc.sli.aai.data.AAIDatum; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import org.openecomp.aai.inventory.v10.SearchResults; +import org.openecomp.aai.inventory.v11.SearchResults; public class NodesQueryRequest extends AAIRequest { diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PInterfacePnfRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PInterfacePnfRequest.java index addcc99..1250891 100644 --- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PInterfacePnfRequest.java +++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PInterfacePnfRequest.java @@ -33,7 +33,7 @@ import org.slf4j.LoggerFactory; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import org.openecomp.aai.inventory.v10.PInterface; +import org.openecomp.aai.inventory.v11.PInterface; public class PInterfacePnfRequest extends AAIRequest { diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PInterfaceRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PInterfaceRequest.java index 0591d8a..41f2965 100644 --- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PInterfaceRequest.java +++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PInterfaceRequest.java @@ -31,7 +31,7 @@ import org.slf4j.LoggerFactory; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import org.openecomp.aai.inventory.v10.PInterface; +import org.openecomp.aai.inventory.v11.PInterface; public class PInterfaceRequest extends AAIRequest { diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PhysicalLinkRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PhysicalLinkRequest.java index 0d29a72..a8524a0 100644 --- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PhysicalLinkRequest.java +++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PhysicalLinkRequest.java @@ -30,7 +30,7 @@ import org.openecomp.sdnc.sli.aai.data.AAIDatum; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import org.openecomp.aai.inventory.v10.PhysicalLink; +import org.openecomp.aai.inventory.v11.PhysicalLink; public class PhysicalLinkRequest extends AAIRequest { diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/RelationshipRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/RelationshipRequest.java index 497efc7..badb8ea 100644 --- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/RelationshipRequest.java +++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/RelationshipRequest.java @@ -30,7 +30,7 @@ import org.openecomp.sdnc.sli.aai.data.AAIDatum; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import org.openecomp.aai.inventory.v10.RelationshipList; +import org.openecomp.aai.inventory.v11.RelationshipList; public class RelationshipRequest extends AAIRequest { diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/SelfLinkRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/SelfLinkRequest.java index baa2b26..07defd3 100644 --- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/SelfLinkRequest.java +++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/SelfLinkRequest.java @@ -23,6 +23,7 @@ package org.openecomp.sdnc.sli.aai; import java.io.UnsupportedEncodingException; import java.net.MalformedURLException; +import java.net.URI; import java.net.URL; import org.openecomp.sdnc.sli.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/openecomp/sdnc/sli/aai/SubInterfaceRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/SubInterfaceRequest.java index 2db1025..134a169 100644 --- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/SubInterfaceRequest.java +++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/SubInterfaceRequest.java @@ -31,7 +31,7 @@ import org.openecomp.sdnc.sli.aai.data.AAIDatum; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import org.openecomp.aai.inventory.v10.LInterface; +import org.openecomp.aai.inventory.v11.LInterface; public class SubInterfaceRequest extends AAIRequest { diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/SubInterface.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/SubInterface.java index 1c027c9..585fdc1 100644 --- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/SubInterface.java +++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/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/openecomp/sdnc/sli/aai/query/InstanceFilter.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/query/InstanceFilter.java index a6f5d44..0dbd5ac 100644 --- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/query/InstanceFilter.java +++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/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/openecomp/sdnc/sli/aai/query/Results.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/query/Results.java index b6f2278..d756d85 100644 --- a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/query/Results.java +++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/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/resources/aai-path.properties b/aai-service/provider/src/main/resources/aai-path.properties index 44d47f8..5f721bd 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 e6292fa..752f1e3 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"> - + diff --git a/aai-service/provider/src/main/resources/aai_schema_v10.xsd b/aai-service/provider/src/main/resources/aai_schema_v10.xsd deleted file mode 100755 index fed5baf..0000000 --- a/aai-service/provider/src/main/resources/aai_schema_v10.xsd +++ /dev/null @@ -1,6563 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="The specific type of node in the A&AI graph") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="The URL to the specific resource") - - - - - - - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="A keyword provided by A&AI to indicate an attribute.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Value of the attribute.") - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Key part of a key/value pair") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Value part of a key/value pair") - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="A keyword provided by A&AI to indicate type of node.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="URL to the object in A&AI.") - - - - - - - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="OAM network, to be deprecated shortly. Do not use for new purposes. ",nameProps="network-name",indexedProps="cvlan-tag,network-uuid,network-name",dependentOn="cloud-region",container="oam-networks") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="UUID of the network. Unique across a cloud-region") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Name of the network.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="cvlan-id") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for VNF firewall rule so customer cannot send customer traffic over this oam network") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for VNF firewall rule so customer cannot send customer traffic over this oam network") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of OAM networks, to be deprecated shortly. Do not use for new purposes. ") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Digital virtual switch metadata, used by SDN-C to configure VCEs. A&AI needs to receive this data from the PO deployment team and administer it using the provisioningTool.sh into A&AI. ",indexedProps="vcenter-url,switch-name",dependentOn="cloud-region",container="dvs-switches") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="DVS switch name") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="URL used to reach the vcenter") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of digital virtual switch metadata used for vmWare VCEs and VPEs.") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Availability zone, a collection of compute hosts/pservers",indexedProps="availability-zone-name",dependentOn="cloud-region",container="availability-zones") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Name of the availability zone. Unique across a cloud region") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Type of hypervisor. Source of truth should define valid values.") - - - - - - - @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.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Serves a PATCH like function. Does not enforce concurrency control. Clear each usage with AAI team.") - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="APIs that are more action related than REST (e.g., notify, update).") - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="A collection of C tags (vlan tags) grouped for a specific purpose.",indexedProps="availability-zone-name",dependentOn="complex",container="ctag-pools") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="The Target provider edge router") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Name of the availability zone") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Describes what the intended purpose of this pool is.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Comma separated list of ctags") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of physical locations that can house cloud-regions.",indexedProps="identity-url,data-center-code,complex-name,physical-location-id",searchable="physical-location-id,data-center-code,complex-name,street1,street2,postal-code",uniqueProps="physical-location-id",container="complexes",namespace="cloud-infrastructure") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique identifier for physical location, e.g., CLLI") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Data center code which can be an alternate way to identify a complex") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Gamma complex name for LCP instance.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="URL of the keystone identity service") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Type, e.g., central office, data center.") - - - - - - - - - - - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of physical locations that can house cloud-regions.") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Persistent block-level storage.",indexedProps="volume-group-name,vnf-type,heat-stack-id,volume-group-id",searchable="volume-group-id,volume-group-name",dependentOn="cloud-region",container="volume-groups") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique ID of volume-group.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Name of the volume group.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Heat stack id corresponding to this volume-group") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Orchestration status of this volume-group") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="helps relate the volume group to the vf-module whose components will require the volume group") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of persistent block-level storage.") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Ephemeral Block storage volume.",indexedProps="volume-id",dependentOn="vserver",container="volumes") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique ID of block storage volume relative to the vserver.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of ephemeral Block storage volumes.") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="IPv4 Address Range",indexedProps="l3-interface-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id",dependentOn="vlan,l-interface") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="IP address") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Prefix length, 32 for single address") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Inner VLAN tag") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Outer VLAN tag") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Indicator of fixed or floating address") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Neutron network id of the interface that address belongs to") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Neutron id of subnet that address belongs to") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="IPv6 Address Range",indexedProps="l3-interface-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id",dependentOn="vlan,l-interface") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="IP address") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Prefix length, 128 for single address") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Inner VLAN tag") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Outer VLAN tag") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Indicator of fixed or floating address") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Neutron network id of the interface that address belongs to") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Neutron id of subnet that address belongs to") - - - - - - - - - - - - @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") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="String that identifies the interface") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Inner VLAN tag") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Outer VLAN tag") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Captures the numeric part of the speed") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Captures the units corresponding to the speed") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used to describe (the service associated with) the vlan") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Whether customer is going to use this VLAN for backdoor connection to another customer premise device.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="This indicates the customers VPN ID associated with this vlan") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Status of a vnf's vlan interface, on which the customer circuit resides, mastered by SDN-C.") - - - - - - - - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="SR-IOV Virtual Function (not to be confused with virtual network function)",indexedProps="pci-id,vf-vlan-filter,vf-mac-filter,vf-vlan-strip,neutron-network-id",dependentOn="l-interface",container="sriov-vfs") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="PCI ID used to identify the sriov-vf") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="This metadata provides option to specify list of VLAN filters applied on VF to pass the traffic to VM.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="When MAC filters are specified, VF-agent service configures VFs to do MAC level filtering before the traffic is passed to VM.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="When this field is set to true, VF will configured to strip the outer TAG before the traffic is passed to VM.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="This option ensures anti VLAN spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="This option ensures anti MAC spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="This option defines the set of Mirror objects which essentially mirrors the traffic from source to set of collector VNF Ports.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="This option, if set to true, sets the VF in promiscuous mode and allows all broadcast traffic to reach the VM") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="This option, if set to true, sets the VF in promiscuous mode and allows unknown multicast traffic to reach the VM") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="This option, if set to true, sets the VF in promiscuous mode and allows unknown unicast traffic to reach the VM") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="This option, if set to true, instructs to insert outer tag after traffic comes out of VM.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="This option is used to set the link status. Valid values as of 1607 are on, off, and auto.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Neutron network id of the interface") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of SR-IOV Virtual Functions.") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Logical interfaces, e.g., a vnic.",indexedProps="macaddr,interface-id,interface-name,network-name",dependentOn="generic-vnf,newvce,vpe,p-interface,vserver,lag-interface",container="l-interfaces") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Name given to the interface") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="E.g., CUSTOMER, UPLINK, etc.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Questionably placed - v6 ip addr of this interface (is in vr-lan-interface from Mary B.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="ID of interface") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="MAC address for the interface") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Name of the network") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Whether A&AI should be managing this interface of not. Could have value like CUSTOMER") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Human friendly text regarding this interface.") - - - - - - - @org.openecomp.aai.annotations.Metadata(defaultValue="false",description="used to indicate whether or not this port is mirrored.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of logical interfaces.") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Virtual Servers, aka virtual machine or VM.",nameProps="vserver-name",indexedProps="is-closed-loop-disabled,prov-status,vserver-name,vserver-id,in-maint,vserver-name2",searchable="vserver-id,vserver-name,vserver-name2",dependentOn="tenant",container="vservers") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique identifier for this vserver relative to its tenant") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Name of vserver") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Alternative name of vserver") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Trigger for operational monitoring of this resource by Service Assurance systems.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details") - - - - - - - @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.") - - - - - - - @org.openecomp.aai.annotations.Metadata(defaultValue="false",description="Used to indicate whether closed loop function is enabled on this node") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of virtual Servers, aka virtual machines or VMs.") - - - - - - - - - - - - @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") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique id relative to the cloud-region.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Readable name of tenant") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of openstack tenants.") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Openstack flavor.",nameProps="flavor-name",indexedProps="flavor-name,flavor-id",dependentOn="cloud-region",container="flavors") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Flavor id, expected to be unique across cloud-region.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Flavor name") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Number of CPUs") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Amount of memory") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Disk space") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Amount of ephemeral disk space") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="amount of swap space allocation") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="whether flavor is available to all users or private to the tenant it was created in.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Boolean as to whether this flavor is no longer enabled") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of openstack flavors.") - - - - - - - - - - - - @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") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Group id, expected to be unique across cloud-region.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Group type - the type of group this instance refers to") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Group name - name assigned to the group") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Group description - description of the group") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of openstack group assignments") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Openstack snapshot",nameProps="snapshot-name",uniqueProps="snapshot-id",indexedProps="application,snapshot-name,application-vendor,snapshot-id,application-version,prev-snapshot-id",dependentOn="cloud-region",container="snapshots") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Snapshot id, this is the key UUID assoc associated in glance with the snapshots.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Snapshot name") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Operating system architecture") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="The common name of the operating system distribution in lowercase") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="The operating system version as specified by the distributor.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="The application that the image instantiates.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="The vendor of the application.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="The version of the application.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="This field contains the UUID of the previous snapshot (if any).") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of openstack snapshots") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Key/value pairs",indexedProps="metaname",dependentOn="tenant,image,service-instance,connector,model",container="metadata") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true) - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of metadatum (key/value pairs)") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Openstack image.",nameProps="image-name",indexedProps="application,image-name,application-vendor,image-id,application-version",dependentOn="cloud-region",container="images") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Image id, expected to be unique across cloud region") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Image name") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Operating system architecture.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="The common name of the operating system distribution in lowercase") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="The operating system version as specified by the distributor.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="The application that the image instantiates.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="The vendor of the application.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="The version of the application.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collectio of Openstack images.") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of availability zones") - - - - - - - - - - - - @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") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Identifies the vendor and cloud name, e.g., att-aic. First part of composite key should be formatted as vendor-cloudname") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Identifier used by the vendor for the region. Second part of composite key") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Type of the cloud (e.g., openstack)") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Cloud-owner defined type indicator (e.g., dcp, lcp)") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Software version employed at the site. NOTE - THIS FIELD IS NOT KEPT UP TO DATE.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="URL of the keystone identity service") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Zone where the cloud is homed. NOTE - THIS FIELD IS NOT CORRECTLY POPULATED.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="complex name for cloud-region instance. NOTE - THIS FIELD IS NOT CORRECTLY POPULATED.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(maximumDepth="0") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Network profile populated by SDN-GP for SNMP",indexedProps="nm-profile-name",container="network-profiles",namespace="cloud-infrastructure") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique name of network profile.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Encrypted SNMP community string") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of network profiles") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Physical interface (e.g., nic)",indexedProps="interface-name,prov-status",nameProps="prov-status",dependentOn="vpls-pe,pserver,pnf",container="p-interfaces") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Name that identifies the physical interface") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Captures the numeric part of the speed") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Captures the units corresponding to the speed") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Nature of the services and connectivity on this port.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="CLEI or other specification for p-interface hardware.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Role specification for p-interface hardware.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Indicates the physical properties of the interface.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Trigger for operational monitoring of this resource by Service Assurance systems.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of physical interfaces.") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Link aggregate interface",indexedProps="interface-name,interface-id,interface-role",dependentOn="generic-vnf,pserver,vpe,vpls-pe,pnf",container="lag-interfaces") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Name that identifies the link aggregate interface") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Human friendly text regarding this interface.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Captures the numeric part of the speed") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Captures the units corresponding to the speed") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="ID of interface") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Role assigned to this Interface, should use values as defined in ECOMP Yang models.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Trigger for operational monitoring of this resource by Service Assurance systems.") - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of link aggregate interfaces.") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Compute host whose hostname must be unique and must exactly match what is sent as a relationship to a vserver.",nameProps="pserver-name2",indexedProps="hostname,in-maint,pserver-id,pserver-name2,inv-status",searchable="hostname,pserver-name2,pserver-id,ipv4-oam-address",container="pservers",namespace="cloud-infrastructure") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Value from executing hostname on the compute node.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="PTNII name") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Number of cpus") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Disk size, in GBs") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="RAM size, in MBs") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Equipment type. Source of truth should define valid values.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Equipment vendor. Source of truth should define valid values.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Equipment model. Source of truth should define valid values.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Fully-qualified domain name") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used to configure device, also used for troubleshooting and is IP used for traps generated by device.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Serial number, may be queried") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="IPV4 Loopback 0 address") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="IPV6 Loopback 0 address") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="IPV4 AIM address") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="IPV6 AIM address") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="IPV6 OAM address") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="CANOPI's inventory status. Only set with values exactly as defined by CANOPI.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="ID of Pserver") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="internet topology of Pserver") - - - - - - - @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.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="alternative pserver name") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="purpose of pserver") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]") - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of compute hosts.") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Virtual organization of cloud infrastructure elements in a data center context",nameProps="vdc-name",indexedProps="vdc-name,vdc-id",container="virtual-data-centers",namespace="cloud-infrastructure") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique ID of the vdc") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Name of the virtual data center") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Virtual organization of cloud infrastructure elements in a data center context") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Namespace for cloud infrastructure.") - - - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of resource instances used to connect a variety of disparate inventory widgets",indexedProps="resource-instance-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version",container="connectors",namespace="business") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique id of resource instance.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="the ASDC model version uuid for this resource or service model.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="the ASDC data dictionary widget model. This maps directly to the A&AI widget.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="the ASDC data dictionary version of the widget model.This maps directly to the A&AI version of the widget.") - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of resource instances used to connect a variety of disparate inventory widgets") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Represents the specifics of a tunnel cross connect piece of a resource that gets separately allotted",uniqueProps="id",indexedProps="id",dependentOn="allotted-resource",container="tunnel-xconnects") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Allotted Resource id UUID assigned to this instance.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="The WAN uplink bandwidth for WAN1") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="The WAN downlink bandwidth for WAN1") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="The WAN uplink bandwidth for WAN2") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="The WAN downlink bandwidth for WAN2") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Concurrency value") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="This object is used to store the specific tunnel cross connect aspects of an allotted resource") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Represents a slice or partial piece of a resource that gets separately allotted",nameProps="description",uniqueProps="id",indexedProps="id,model-invariant-id,model-version-id,type,role",dependentOn="service-instance",container="allotted-resources") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Allotted Resource id UUID assigned to this instance.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="The descriptive information assigned to this allotted resource instance") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Link back to more information in the controller") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="the ASDC model version uuid for this resource or service model.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Orchestration status of this resource, mastered by MSO") - - - - - - - @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.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Concurrency value") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Generic description of the type of the resource") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Role that this asset will be playing in its context.") - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="This object is used to store slices of services being offered") - - - - - - - - - - - - @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") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Uniquely identifies this instance of a service") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="This field will store a name assigned to the service-instance.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="the ASDC model version uuid for this resource or service model.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="the ASDC data dictionary widget model. This maps directly to the A&AI widget.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="the ASDC data dictionary version of the widget model.This maps directly to the A&AI version of the widget.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Indicates the total bandwidth to be used for this service.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="indicates the upstream bandwidth this service will use on the WAN1 port of the physical device.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="indicates the downstream bandwidth this service will use on the WAN1 port of the physical device.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="indicates the upstream bandwidth this service will use on the WAN2 port of the physical device.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="indicates the downstream bandwidth this service will use on the WAN2 port of the physical device.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="URL customers will use to access the vHN Portal.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="An identifier that customers assign to the location where this service is being used.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Path to the controller object.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Orchestration status of this service.") - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of service instances") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Object that group service instances.",indexedProps="service-type",dependentOn="customer",container="service-subscriptions",crossEntityReference="service-instance,service-type") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Value defined by orchestration to identify this service across ECOMP.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="This property will be deleted from A&AI in the near future. Only stop gap solution.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of objects that group service instances.") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="customer identifiers to provide linkage back to BSS information.",nameProps="subscriber-name",indexedProps="subscriber-name,global-customer-id,subscriber-type",searchable="global-customer-id,subscriber-name",uniqueProps="global-customer-id",container="customers",namespace="business") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Global customer id used across ECOMP to uniquely identify customer.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Subscriber name, an alternate way to retrieve a customer.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Subscriber type, a way to provide VID with only the INFRA customers.",defaultValue="CUST") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of customer identifiers to provide linkage back to BSS information.") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Namespace for business related constructs") - - - - - - - - - - - - - @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") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique ID of this asset") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="The application that the image instantiates.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="The vendor of the application.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="The version of the application.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of image objects that pertain to a VNF that doesn't have associated vservers. This is a kludge.") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Stand-in for service model definitions. Likely to be deprecated in favor of models from ASDC. Does not strictly map to ASDC services.",indexedProps="service-description,service-id",container="services",namespace="service-design-and-creation") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="This gets defined by others to provide a unique ID for the service, we accept what is sent.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Description of the service") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="service version") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of service model definitions. Likely to be deprecated in favor of models from ASDC.") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Early definition of server/resource pairings, likely to be replaced by models. No new use should be made of this.",indexedProps="service-type,vnf-type",container="service-capabilities",namespace="service-design-and-creation") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="This gets defined by others to provide a unique ID for the service, we accept what is sent.") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of service capabilities.") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="This is how we would capture constraints defining allowed sets of elements.",uniqueProps="element-choice-set-uuid",indexedProps="element-choice-set-uuid",allowDirectRead="true",allowDirectWrite="false",container="element-choice-sets") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true") - - - - - - - - - - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="This is how we would capture constraints defining allowed sets of elements.",uniqueProps="constrained-element-set-uuid",indexedProps="constrained-element-set-uuid",allowDirectRead="true",allowDirectWrite="false",container="constrained-element-sets") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true") - - - - - - - - - - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="This is how we would capture constraints defining allowed sets of elements.",uniqueProps="model-constraint-uuid",indexedProps="model-constraint-uuid",allowDirectRead="true",allowDirectWrite="false",container="model-constraints") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true") - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - - - - - - - - - - - @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") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Indicates whether this element was created as part of instantiation from this model") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="How many of this type of element are required/allowed") - - - - - - - - @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") - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Defines how other models combine to make up a higher-level model") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Describes new constraints on this model element that are not part of that model's definition") - - - - - - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Subgraph definition provided by ASDC to describe a specific version of an inventory asset and its connections related to ASDC models",nameProps="model-name",indexedProps="model-version-id,model-name,model-version",uniqueProps="model-version-id",container="model-vers") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique identifier corresponding to one version of a model in ASDC") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Name of the model, which can change from version to version.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Version") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Description") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Subgraph definition provided by ASDC to describe an inventory asset and its connections related to ASDC models, independent of version",nameProps="model-type",indexedProps="model-invariant-id,model-type",uniqueProps="model-invariant-id",container="models",namespace="service-design-and-creation") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique identifier corresponding to the main definition of a model in ASDC") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Type of the model, e.g., service, resource, widget, etc.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of subgraph definitions provided by ASDC to describe the inventory assets and their connections related to ASDC models") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="TBD",uniqueProps="related-lookup-uuid",indexedProps="related-lookup-uuid",allowDirectRead="true",allowDirectWrite="false",container="related-lookups") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true") - - - - - - - - - - - - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="TBD",uniqueProps="property-constraint-uuid",indexedProps="property-constraint-uuid",allowDirectRead="true",allowDirectWrite="false",container="property-constraints") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true") - - - - - - - - - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="TBD",uniqueProps="named-query-element-uuid",indexedProps="named-query-element-uuid",allowDirectRead="true",allowDirectWrite="false",container="named-query-elements") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true") - - - - - - - - - - - - - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="TBD",nameProps="named-query-name",uniqueProps="named-query-uuid",indexedProps="named-query-uuid,named-query-name",container="named-queries",namespace="service-design-and-creation") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true) - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="TBD",nameProps="named-query-name",uniqueProps="named-query-uuid",indexedProps="named-query-uuid,named-query-name",container="named-queries",namespace="service-design-and-creation") - - - - - - - - - - - - - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Namespace for objects managed by ASDC") - - - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Logical links generally connect l-interfaces but are used to express logical connectivity between two points",indexedProps="link-name,model-invariant-id,model-version-id,widget-model-id,widget-model-version,link-id,prov-status,circuit-id,purpose",uniqueProps="link-id",container="logical-links",namespace="network",searchable="link-name") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="e.g., evc-name, or vnf-nameA_interface-nameA_vnf-nameZ_interface-nameZ") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Type of logical link, e.g., evc") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Captures the numeric part of the speed") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Captures the units corresponding to the speed") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="v4, v6, or ds for dual stack (should be att-ip-version)") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="For example, static or BGP") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="the ASDC model version uuid for this resource or service model.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="the ASDC data dictionary widget model. This maps directly to the A&AI widget.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="the ASDC data dictionary version of the widget model.This maps directly to the A&AI version of the widget.") - - - - - - - @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.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Trigger for operational monitoring of this VNF by BAU Service Assurance systems.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Indication of the network use of the logical link.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Alias or alternate name (CLCI or D1 name).") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="UUID of the logical-link, SDNC generates this.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Circuit id") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Reason for this entity, role it is playing") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of logical connections") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(indexedProps="cos",dependentOn="site-pair",container="classes-of-service") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="unique identifier of probe") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="identifier of probe") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="type of probe") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="class-of-service of probe") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(indexedProps="site-pair-id",uniqueProps="site-pair-id",dependentOn="routing-instance",container="site-pairs") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="unique identifier of probe") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Prefix address") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Prefix address") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="ip version, v4, v6") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Hostname of the destination equipment to which SLAs are measured against.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="The type of destinatination equipment. Could be Router, UCPE, etc.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="probe within a set") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(indexedProps="routing-instance-id",uniqueProps="routing-instance-id",dependentOn="site-pair-set",container="routing-instances") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique id of routing instance") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="rpm owner") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="set of probes related to generic-vnf routing instance") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Set of instances for probes used to measure service level agreements",indexedProps="site-pair-set-id",uniqueProps="site-pair-set-id",container="site-pair-sets",namespace="network") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique id of site pair set.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of sets of instances for probes related to generic-vnf") - - - - - - - - - - - - @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") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Number used to identify an RT, globally unique in the network") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Role assigned to this route target, valid values EXPORT/IMPORT/BOTH") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Relationship to other objects") - - - - - - - - - - - - - - - - - - @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") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="VPN ID, globally unique within A&AI") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="VPN Name") - - - - - - - @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") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="the platform associated with the VPN example AVPN, Mobility") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Type of the vpn, should be taken from enumerated/valid values") - - - - - - - @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.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Role assigned to this route target. NOTE - WILL BE RETIRED IN 1802, see child object") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="l3-networks relate to vpn-bindings") - - - - - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="VPLS Provider Edge routers.",indexedProps="prov-status,equipment-name",container="vpls-pes",namespace="network") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true) - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Trigger for operational monitoring of this VNF by BAU Service Assurance systems.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address).") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Client should send valid enumerated value, e.g., VPLS-PE.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Temporary location for stag to get to VCE") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of VPLS Provider Edge routers") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(indexedProps="multicast-configuration-id",uniqueProps="multicast-configuration-id",container="multicast-configurations",namespace="network") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique id of multicast configuration.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="protocol of multicast configuration") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="rp type of multicast configuration") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="multicast configuration of generic-vnf ip-address") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(dependentOn="port-group",indexedProps="cvlan-tag",container="cvlan-tags") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="See mis-na-virtualization-platform.yang") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used to capture the network interfaces of this VCE",nameProps="port-group-name",indexedProps="port-group-id,heat-stack-id,interface-id,interface-name,switch-name",dependentOn="vce",container="port-groups") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique ID of the interface") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Neutron network id of this Interface") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Neutron network name of this Interface") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Role assigned to this Interface, should use values as defined in ECOMP Yang models.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Unique ID for port group in vmware") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Likely to duplicate value of neutron network name") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="DVS or standard switch name (should be non-null for port groups associated with DVS)") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Orchestration status of this VNF, mastered by MSO") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Heat stack id corresponding to this instance, managed by MSO") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Corresponds to the SDN-C catalog id used to configure this VCE") - - - - - - - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Metadata for license group.",indexedProps="group-uuid,resource-uuid",dependentOn="generic-vnf,vce,vpe",container="licenses") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique ID for the license group the resource belongs to, should be uuid.") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique ID of a license resource. ") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Concurrency value") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Licenses to be allocated across resources, keyed by group-uuid and resource-uuid, related to license management") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Metadata for entitlement group.",indexedProps="group-uuid,resource-uuid",dependentOn="generic-vnf,vce,vpe",container="entitlements") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique ID for the entitlement group the resource comes from, should be uuid.") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique ID of an entitlement resource. ") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Concurrency value") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Entitlements, keyed by group-uuid and resource-uuid, related to license management") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Virtual Customer Edge Router, used specifically for Gamma. This object is deprecated.",nameProps="vnf-name",indexedProps="vnf-name,vnf-name2,vnf-type,heat-stack-id,vnf-id,interface-name,regional-resource-zone,vpe-id,prov-status,service-id",searchable="vnf-id,vnf-name,vnf-name2",uniqueProps="vnf-id",container="vces",namespace="network",extendsFrom="vnf") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique id of VNF. This is unique across the graph.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Name of VNF.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Alternate name of VNF.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Unique identifier of service, does not strictly map to ASDC services, SOON TO BE DEPRECATED.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Regional way of organizing pservers, source of truth should define values") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Trigger for operational monitoring of this resource by Service Assurance systems.") - - - - - - - @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.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Network role being played by this VNF") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Orchestration status of this VNF, mastered by MSO") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Heat stack id corresponding to this instance, managed by MSO") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Corresponds to the SDN-C catalog id used to configure this VCE") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Unique ID of VPE connected to this VCE.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Valid v6 IP address for the WAN Link on this router. Implied length of /64.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Address tail-f uses to configure vce, also used for troubleshooting and is IP used for traps generated by VCE.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Loopback0 address") - - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of Virtual Customer Edge Routers, used specifically for Gamma. This object is deprecated.") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Relationship-list must include related to info for complex.",nameProps="vnf-name",indexedProps="vnf-name,vnf-name2,vnf-type,heat-stack-id,vnf-id,regional-resource-zone,prov-status,service-id",searchable="vnf-id,vnf-name,vnf-name2",uniqueProps="vnf-id",container="vpes",namespace="network",extendsFrom="vnf") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique id of VNF. This is unique across the graph.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Name of VNF.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Alternate name of VNF.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Unique identifier of service. Does not map strictly to ASDC services. SOON TO BE DEPRECATED") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Regional way of organizing pservers, source of truth should define values") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Trigger for operational monitoring of this resource by Service Assurance systems.") - - - - - - - @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.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Client should send valid enumerated value") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Orchestration status of this VNF, mastered by MSO") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Heat stack id corresponding to this instance, managed by MSO") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Corresponds to the SDN-C catalog id used to configure this VCE") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address).") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Prefix length for oam-address") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Gateway address") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Loopback0 address") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Temporary location for stag to get to VCE") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="as-number of the VPE") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="details regarding the vpe operation, PLEASE DISCONTINUE USE OF THIS FIELD.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="indicates whether vpe access uses SSH") - - - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Virtual provider edge router. In 1504, A&AI will populate this object through an M&P and tool provided to operations.") - - - - - - - - - - - - @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") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique ID of vnfc.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="function code") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="type") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="prov status of this vnfc") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Orchestration status of this VNF, mastered by APP-C") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Oam V4 vip address of this vnfc") - - - - - - - @org.openecomp.aai.annotations.Metadata(defaultValue="false",description="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)") - - - - - - - @org.openecomp.aai.annotations.Metadata(defaultValue="false",description="used to indicate whether closed loop function is enabled on this node") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Group notation of VNFC") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="virtual network components associated with a vserver from application controller.") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(indexedProps="subnet-id,subnet-name",nameProps="subnet-name",uniqueProps="subnet-id",dependentOn="l3-network",container="subnets") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Subnet ID, should be UUID.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Name associated with the subnet.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Neutron id of this subnet") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="gateway ip address") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="network start address") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="cidr mask") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="ip version") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Orchestration status of this VNF, mastered by MSO") - - - - - - - @org.openecomp.aai.annotations.Metadata(defaultValue="false",description="dhcp enabled") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="the start address reserved for use by dhcp") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="the last address reserved for use by dhcp") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(indexedProps="vlan-id-inner",dependentOn="l3-network",container="ctag-assignments") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="id.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Openstack segmentation assignment.",indexedProps="segmentation-id",dependentOn="l3-network",container="segmentation-assignments") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Route Table Reference id, UUID assigned to this instance.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Concurrency value") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of openstack segmentation assignments") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Generic network definition",nameProps="network-name",indexedProps="heat-stack-id,network-uuid,service-id,network-id,network-name,model-invariant-id,model-version-id,widget-model-id,widget-model-version,contrail-network-fqdn,network-role",searchable="network-id,network-name",uniqueProps="network-id",container="l3-networks",namespace="network") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Network ID, should be uuid. Unique across A&AI.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Name of the network, governed by some naming convention..") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Type of the network - who defines these values?") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Role the network plans - who defines these values?") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Network technology - who defines these values?") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Neutron network id of this Interface") - - - - - - - @org.openecomp.aai.annotations.Metadata(defaultValue="false",description="Set to true if bound to VPN") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Unique identifier of service from ASDC. Does not strictly map to ASDC services. SOON TO BE DEPRECATED") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="network role instance") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Orchestration status of this VNF, mastered by MSO") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Heat stack id corresponding to this instance, managed by MSO") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Corresponds to the SDN-C catalog id used to configure this VCE") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Contrail FQDN for the network") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="the ASDC model version uuid for this resource or service model.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="the ASDC data dictionary widget model. This maps directly to the A&AI widget.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="the ASDC data dictionary version of the widget model.This maps directly to the A&AI version of the widget.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Name associated with the physical network.") - - - - - - - @org.openecomp.aai.annotations.Metadata(defaultValue="false",description="boolean indicatating whether or not network is a provider network.") - - - - - - - @org.openecomp.aai.annotations.Metadata(defaultValue="false",description="boolean indicatating whether or not network is a shared network.") - - - - - - - @org.openecomp.aai.annotations.Metadata(defaultValue="false",description="boolean indicatating whether or not network is an external network.") - - - - - - - @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.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Path to the controller object.") - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Relates to tenant (or is it a child of tenant), complex, service, vpn-binding") - - - - - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(nameProps="network-policy-fqdn",indexedProps="network-policy-id,network-policy-fqdn",searchable="network-policy-id,network-policy-fqdn",uniqueProps="network-policy-id",container="network-policies",namespace="network") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="UUID representing unique key to this instance") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Contrail FQDN for the policy") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="ID for the openStack Heat instance") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="a deployment unit of VNFCs",indexedProps="vf-module-id,vf-module-name,heat-stack-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,contrail-service-instance-fqdn",searchable="vf-module-id,vf-module-name",dependentOn="generic-vnf",container="vf-modules") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique ID of vf-module.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Name of vf-module") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Heat stack id corresponding to this instance.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="orchestration status of this vf-module, mastered by MSO") - - - - - - - @org.openecomp.aai.annotations.Metadata(defaultValue="false",description="used to indicate whether or not this object is base vf module") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="the ASDC model version uuid for this resource or service model.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="the ASDC data dictionary widget model. This maps directly to the A&AI widget.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="the ASDC data dictionary version of the widget model.This maps directly to the A&AI version of the widget.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="the Contrail unique ID for a service-instance") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="the index will track the number of modules of a given type that have been deployed in a VNF, starting with 0, and always choosing the lowest available digit") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Path to the controller object.") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of vf-modules, a deployment unit of VNFCs") - - - - - - - - - - - - @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") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique id of VNF. This is unique across the graph.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Name of VNF.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Alternate name of VNF.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Unique identifier of service, does not necessarily map to ASDC service models. SOON TO BE DEPRECATED") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Regional way of organizing pservers, source of truth should define values") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Trigger for operational monitoring of this resource by Service Assurance systems.") - - - - - - - @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.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Client should send valid enumerated value") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Orchestration status of this VNF, used by MSO.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Heat stack id corresponding to this instance, managed by MSO") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Corresponds to the SDN-C catalog id used to configure this VCE") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="identifier of managed by ATT or customer") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by generic-vnf.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="v4 Loopback0 address") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="v6 Loopback address") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="v6 management address") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="number of vcpus ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only by uCPE") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="units associated with vcpu, used for VNFs with no vservers/flavors, to be used only by uCPE") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="number of GB of memory ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only by uCPE") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="units associated with vmemory, used for VNFs with no vservers/flavors, to be used only by uCPE") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="number of vdisks ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only uCPE") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="units associated with vdisk, used for VNFs with no vservers/flavors, to be used only by uCPE") - - - - - - - @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.") - - - - - - - @org.openecomp.aai.annotations.Metadata(defaultValue="false",description="used to indicate whether closed loop function is enabled on this node") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="details regarding the generic-vnf operation, PLEASE DISCONTINUE USE OF THIS FIELD.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="indicates whether generic-vnf access uses SSH") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="the ASDC model version uuid for this resource or service model.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="the ASDC data dictionary widget model. This maps directly to the A&AI widget.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="the ASDC data dictionary version of the widget model.This maps directly to the A&AI version of the widget.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="as-number of the VNF") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="represents sub zone of the rr plane") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Generic description of the type of the resource") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Role that this asset will be playing in its context.") - - - - - - - @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") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Short code that is used in naming instances of the item being modelled") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Path to the controller object.") - - - - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of VNFs") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="LAG links can connect lag-interfaces",indexedProps="link-name",container="lag-links",namespace="network") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Alphabetical concatenation of lag-interface names") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of link aggregation connections") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="This object fills in the gaps from vce that were incorporated into generic-vnf. This object will be retired with vce.",nameProps="vnf-name",indexedProps="vnf-name,vnf-name2,vnf-type,heat-stack-id,prov-status,vnf-id2",searchable="vnf-id2,vnf-name,vnf-name2",uniqueProps="vnf-id2",container="newvces",namespace="network") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique id of VNF, can't use same attribute name right now until we promote this new object") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Name of VNF.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Alternate name of VNF.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Trigger for operational monitoring of this VNF by BAU Service Assurance systems.") - - - - - - - @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.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="OBSOLETE - do not use") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address).") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Client should send valid enumerated value, e.g., VPE.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="v4 Loopback0 address") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Orchestration status of this VNF, mastered by MSO.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Heat stack id corresponding to this instance, managed by MSO") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Corresponds to the SDN-C catalog id used to configure this VCE") - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="This object fills in the gaps from vce that were incorporated into generic-vnf. This object will be retired with vce.") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="PNF represents a physical network function. typically equipment used in the D1 world. in 1607, this will be populated by SDN-C to represent a premises router that a uCPE connects to. But this can be used to represent any physical device that is not an AIC node or uCPE.",indexedProps="pnf-name,orchestration-status,inv-status",searchable="pnf-name",uniqueProps="pnf-name",container="pnfs",namespace="network") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="unique name of Physical Network Function.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="name of Physical Network Function.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="source of name2") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="id of pnf") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Equipment type. Source of truth should define valid values.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Equipment vendor. Source of truth should define valid values.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Equipment model. Source of truth should define valid values.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="identifier of managed by ATT or customer") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="ipv4-oam-address with new naming convention for IP addresses") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="sw-version is the version of SW for the hosted application on the PNF.") - - - - - - - @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.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="ID of the physical frame (relay rack) where pnf is installed.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Serial number of the device") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="IPV4 Loopback 0 address") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="IPV6 Loopback 0 address") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="IPV4 AIM address") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="IPV6 AIM address") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="IPV6 OAM address") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="CANOPI's inventory status. Only set with values exactly as defined by CANOPI.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Nf Role is the role performed by this instance in the network.") - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of Physical Network Functions.") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of physical connections, typically between p-interfaces",indexedProps="circuit-id,link-name",alternateKeys1="circuit-id",container="physical-links",namespace="network",searchable="link-name,circuit-id") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="e.g., hostnameA_p-connection_nameA_hostnameZ+p_connection-nameZ") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Captures the numeric part of the speed") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Captures the units corresponding to the speed") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Circuit it") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Dual access mode (e.g., primary, secondary") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="To provide information on who manages this circuit. A&AI or 3rd party transport provider") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Name of the service Provider on this link.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of physical connections, typically between p-interfaces") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="vig-server contains information about a vig server used for IPSec-configuration. Populated by SDN-C from 1607",indexedProps="vig-address-type",dependentOn="ipsec-configuration",container="vig-servers") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="indicates whether the VIG is for AVPN or INTERNET") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="v4 IP of the vig server") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="v6 IP of the vig server") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="IPSec configuration node will contain various configuration data for the NMTE VNF. This node will have an edge to the generic-vnf (vnf type = TE). Starting 1607, this data will be populated by SDN-C",indexedProps="ipsec-configuration-id",uniqueProps="ipsec-configuration-id",container="ipsec-configurations",namespace="network") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="UUID of this configuration") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Indicate the type of VIG server like AVPN, INTERNET, BOTH") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Encryption values like 3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="ATT can offer a shared DMZ or a DMZ specific to a customer") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Network address of shared DMZ") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="If the DMZ is a custom DMZ, this field will indicate the customer information") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="can be 1 or 2") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Contains values like md5, sha1, sha256, sha384") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Encyption values like 3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Diffie-Hellman group like DH-GROUP2, DH-GROUP5, DH-GROUP14") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Group name defined in VIG for clients using aggressive mode") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="pre-shared key for the above group name ") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Lifetime for IKEv1 SA") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="md5, sha1, sha256, sha384") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Life time for IPSec SA") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="enable PFS or not") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="user ID for xAuth, sm-user,ucpeHostName,nmteHostName") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Encrypted using the Juniper $9$ algorithm") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="The time between DPD probe") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Maximum number of DPD before claiming the tunnel is down") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Openstack route table reference.",nameProps="route-table-reference-fqdn",uniqueProps="route-table-reference-id",indexedProps="route-table-reference-id,route-table-reference-fqdn",container="route-table-references",namespace="network") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Route Table Reference id, UUID assigned to this instance.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="FQDN entry in the route table.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Concurrency value") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of openstack route table references") - - - - - - - - - - - - @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") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Instance Group ID, UUID assigned to this instance.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Descriptive text to help identify the usage of this instance-group") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Only valid value today is lower case ha for high availability") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Valid values for ha type are [geo-activeactive, geo-activestandby, local-activeactive, local-activestandby]") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Concurrency value") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of openstack route table references") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="A zone is a grouping of assets in a location homing to the same connections into the CBB",nameProps="zone-name",indexedProps="zone-id,design-type,zone-context",uniqueProps="zone-id",container="zones",namespace="network") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Code assigned by AIC to the zone") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="English name associated with the zone") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Design of zone [Medium/Large…]") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Context of zone [production/test]") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Status of a zone.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Concurrency value") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Collection of zones") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Namespace for network inventory resources.") - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Internal map to define some reserved properties of a vertex",uniqueProps="aai-unique-key",indexedProps="aai-unique-key,source-of-truth,aai-node-type,aai-uri") - - - - - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Internal map to define the properties of an edge and interpret the map EdgeRules",edgeInfo="edgeLabel,direction,multiplicityRule,isParent,usesResource,hasDelTarget,SVC-INFRA,SVC-INFRA-REV") - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Allows for legacy POST of old-style and new-style models") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique identifier corresponding to the main definition of a model in ASDC") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique identifier corresponding to one version of a model in ASDC") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Type of the model, e.g., service, resource, widget, etc.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Name of the model, which can change from version to version.") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Invariant unique ID which does not change from version to version") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Version") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Description") - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="QueryParameters for performing a named-query or model query") - - - - - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="InstanceFilters for performing a named-query or model query") - - - - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="SecondaryFilts for performing a named-query or model query") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="ModelAndNamedQuerySearch holds query-parameters and instance-properties for performing a named-query or model query") - - - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Property holder for query properties or instance properties") - - - - - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Inventory item for response list",container="inventory-response-items") - - - - - - - - - - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Container for inventory items in response list",container="response-list") - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Response container for the results of a named-query or model query") - - - - - - - - - - - - - - - - - - - @org.openecomp.aai.annotations.Metadata(description="Abstract vnf class",indexedProps="vnf-id",uniqueProps="vnf-id",inheritors="vce,vpe,generic-vnf",isAbstract="true") - - - - - - - @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique id of VNF. This is unique across the graph.") - - - - - - - diff --git a/aai-service/provider/src/main/resources/aai_schema_v11.xsd b/aai-service/provider/src/main/resources/aai_schema_v11.xsd new file mode 100755 index 0000000..d20e3d0 --- /dev/null +++ b/aai-service/provider/src/main/resources/aai_schema_v11.xsd @@ -0,0 +1,6943 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="The specific type of node in the A&AI graph") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="The URL to the specific resource") + + + + + + + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="A keyword provided by A&AI to indicate an attribute.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Value of the attribute.") + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Key part of a key/value pair") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Value part of a key/value pair") + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="A keyword provided by A&AI to indicate type of node.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="URL to the object in A&AI.") + + + + + + + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="OAM network, to be deprecated shortly. Do not use for new purposes. ",nameProps="network-name",indexedProps="cvlan-tag,network-uuid,network-name",dependentOn="cloud-region",container="oam-networks") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="UUID of the network. Unique across a cloud-region") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Name of the network.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="cvlan-id") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for VNF firewall rule so customer cannot send customer traffic over this oam network") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for VNF firewall rule so customer cannot send customer traffic over this oam network") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of OAM networks, to be deprecated shortly. Do not use for new purposes. ") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Digital virtual switch metadata, used by SDN-C to configure VCEs. A&AI needs to receive this data from the PO deployment team and administer it using the provisioningTool.sh into A&AI. ",indexedProps="vcenter-url,switch-name",dependentOn="cloud-region",container="dvs-switches") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="DVS switch name") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="URL used to reach the vcenter") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of digital virtual switch metadata used for vmWare VCEs and VPEs.") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Availability zone, a collection of compute hosts/pservers",indexedProps="availability-zone-name",dependentOn="cloud-region",container="availability-zones") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Name of the availability zone. Unique across a cloud region") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Type of hypervisor. Source of truth should define valid values.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="State that indicates whether the availability zone should be used, etc. Source of truth should define valid values.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Serves a PATCH like function. Does not enforce concurrency control. Clear each usage with AAI team.") + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="APIs that are more action related than REST (e.g., notify, update).") + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="A collection of C tags (vlan tags) grouped for a specific purpose.",indexedProps="availability-zone-name",dependentOn="complex",container="ctag-pools") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="The Target provider edge router") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Name of the availability zone") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Describes what the intended purpose of this pool is.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Comma separated list of ctags") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of physical locations that can house cloud-regions.",indexedProps="identity-url,data-center-code,complex-name,physical-location-id",searchable="physical-location-id,data-center-code,complex-name,street1,street2,postal-code",uniqueProps="physical-location-id",container="complexes",namespace="cloud-infrastructure") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique identifier for physical location, e.g., CLLI") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Data center code which can be an alternate way to identify a complex") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Gamma complex name for LCP instance.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="URL of the keystone identity service") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Type, e.g., central office, data center.") + + + + + + + + + + + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of physical locations that can house cloud-regions.") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Persistent block-level storage.",indexedProps="volume-group-name,vnf-type,heat-stack-id,volume-group-id",searchable="volume-group-id,volume-group-name",dependentOn="cloud-region",container="volume-groups") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique ID of volume-group.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Name of the volume group.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Heat stack id corresponding to this volume-group") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Orchestration status of this volume-group") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="helps relate the volume group to the vf-module whose components will require the volume group") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of persistent block-level storage.") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Ephemeral Block storage volume.",indexedProps="volume-id",dependentOn="vserver",container="volumes") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique ID of block storage volume relative to the vserver.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of ephemeral Block storage volumes.") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="IPv4 Address Range",indexedProps="l3-interface-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id",dependentOn="vlan,l-interface") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="IP address") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Prefix length, 32 for single address") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Inner VLAN tag") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Outer VLAN tag") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Indicator of fixed or floating address") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Neutron network id of the interface that address belongs to") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Neutron id of subnet that address belongs to") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="IPv6 Address Range",indexedProps="l3-interface-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id",dependentOn="vlan,l-interface") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="IP address") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Prefix length, 128 for single address") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Inner VLAN tag") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Outer VLAN tag") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Indicator of fixed or floating address") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Neutron network id of the interface that address belongs to") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Neutron id of subnet that address belongs to") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Definition of vlan",indexedProps="vlan-interface,vlan-id-inner,vpn-key",dependentOn="l-interface",container="vlans") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="String that identifies the interface") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Inner VLAN tag") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Outer VLAN tag") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Captures the numeric part of the speed") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Captures the units corresponding to the speed") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used to describe (the service associated with) the vlan") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Whether customer is going to use this VLAN for backdoor connection to another customer premise device.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="This indicates the customers VPN ID associated with this vlan") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Status of a vnf's vlan interface, on which the customer circuit resides, mastered by SDN-C.") + + + + + + + @org.openecomp.aai.annotations.Metadata(defaultValue="false",description="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Prov Status of the VLAN configuration related to a logical interface. Valid values [PREPROV/NVTPROV/PROV].") + + + + + + + @org.openecomp.aai.annotations.Metadata(defaultValue="false",description="Flag indicating the interface uses the IP Unnumbered configuration.") + + + + + + + + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="SR-IOV Virtual Function (not to be confused with virtual network function)",indexedProps="pci-id,vf-vlan-filter,vf-mac-filter,vf-vlan-strip,neutron-network-id",dependentOn="l-interface",container="sriov-vfs") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="PCI ID used to identify the sriov-vf") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="This metadata provides option to specify list of VLAN filters applied on VF to pass the traffic to VM.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="When MAC filters are specified, VF-agent service configures VFs to do MAC level filtering before the traffic is passed to VM.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="When this field is set to true, VF will configured to strip the outer TAG before the traffic is passed to VM.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="This option ensures anti VLAN spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="This option ensures anti MAC spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="This option defines the set of Mirror objects which essentially mirrors the traffic from source to set of collector VNF Ports.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="This option, if set to true, sets the VF in promiscuous mode and allows all broadcast traffic to reach the VM") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="This option, if set to true, sets the VF in promiscuous mode and allows unknown multicast traffic to reach the VM") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="This option, if set to true, sets the VF in promiscuous mode and allows unknown unicast traffic to reach the VM") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="This option, if set to true, instructs to insert outer tag after traffic comes out of VM.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="This option is used to set the link status. Valid values as of 1607 are on, off, and auto.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Neutron network id of the interface") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of SR-IOV Virtual Functions.") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Logical interfaces, e.g., a vnic.",indexedProps="macaddr,interface-id,interface-name,network-name",dependentOn="generic-vnf,newvce,vpe,p-interface,vserver,lag-interface",container="l-interfaces") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Name given to the interface") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="E.g., CUSTOMER, UPLINK, etc.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Questionably placed - v6 ip addr of this interface (is in vr-lan-interface from Mary B.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="ID of interface") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="MAC address for the interface") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Name of the network") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Whether A&AI should be managing this interface of not. Could have value like CUSTOMER") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Human friendly text regarding this interface.") + + + + + + + @org.openecomp.aai.annotations.Metadata(defaultValue="false",description="boolean indicatating whether or not port is a mirrored.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + @org.openecomp.aai.annotations.Metadata(defaultValue="false",description="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Prov Status of the logical interface. Valid values [PREPROV/NVTPROV/PROV].") + + + + + + + @org.openecomp.aai.annotations.Metadata(defaultValue="false",description="Flag indicating the interface uses the IP Unnumbered configuration.") + + + + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of logical interfaces.") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Virtual Servers, aka virtual machine or VM.",nameProps="vserver-name",indexedProps="is-closed-loop-disabled,prov-status,vserver-name,vserver-id,in-maint,vserver-name2",searchable="vserver-id,vserver-name,vserver-name2",dependentOn="tenant",container="vservers") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique identifier for this vserver relative to its tenant") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Name of vserver") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Alternative name of vserver") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Trigger for operational monitoring of this resource by Service Assurance systems.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details") + + + + + + + @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.") + + + + + + + @org.openecomp.aai.annotations.Metadata(defaultValue="false",description="Used to indicate whether closed loop function is enabled on this node") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of virtual Servers, aka virtual machines or VMs.") + + + + + + + + + + + + @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") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique id relative to the cloud-region.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Readable name of tenant") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="This field will store the tenant context.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of openstack tenants.") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Openstack flavor.",nameProps="flavor-name",indexedProps="flavor-name,flavor-id",dependentOn="cloud-region",container="flavors") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Flavor id, expected to be unique across cloud-region.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Flavor name") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Number of CPUs") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Amount of memory") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Disk space") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Amount of ephemeral disk space") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="amount of swap space allocation") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="whether flavor is available to all users or private to the tenant it was created in.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Boolean as to whether this flavor is no longer enabled") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of openstack flavors.") + + + + + + + + + + + + @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") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Group id, expected to be unique across cloud-region.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Group type - the type of group this instance refers to") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Group name - name assigned to the group") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Group description - description of the group") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of openstack group assignments") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Openstack snapshot",nameProps="snapshot-name",uniqueProps="snapshot-id",indexedProps="application,snapshot-name,application-vendor,snapshot-id,application-version,prev-snapshot-id",dependentOn="cloud-region",container="snapshots") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Snapshot id, this is the key UUID assoc associated in glance with the snapshots.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Snapshot name") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Operating system architecture") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="The common name of the operating system distribution in lowercase") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="The operating system version as specified by the distributor.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="The application that the image instantiates.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="The vendor of the application.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="The version of the application.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="This field contains the UUID of the previous snapshot (if any).") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of openstack snapshots") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Key/value pairs",indexedProps="metaname",dependentOn="tenant,image,service-instance,connector,model",container="metadata") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true) + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of metadatum (key/value pairs)") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Openstack image.",nameProps="image-name",indexedProps="application,image-name,application-vendor,image-id,application-version",dependentOn="cloud-region",container="images") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Image id, expected to be unique across cloud region") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Image name") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Operating system architecture.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="The common name of the operating system distribution in lowercase") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="The operating system version as specified by the distributor.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="The application that the image instantiates.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="The vendor of the application.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="The version of the application.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collectio of Openstack images.") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of availability zones") + + + + + + + + + + + + @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") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Identifies the vendor and cloud name, e.g., att-aic. First part of composite key should be formatted as vendor-cloudname") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Identifier used by the vendor for the region. Second part of composite key") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Type of the cloud (e.g., openstack)") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Cloud-owner defined type indicator (e.g., dcp, lcp)") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Software version employed at the site. NOTE - THIS FIELD IS NOT KEPT UP TO DATE.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="URL of the keystone identity service") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Zone where the cloud is homed. NOTE - THIS FIELD IS NOT CORRECTLY POPULATED.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="complex name for cloud-region instance. NOTE - THIS FIELD IS NOT CORRECTLY POPULATED.") + + + + + + + @org.openecomp.aai.annotations.Metadata(defaultValue="false",description="Whether the cloud region supports (true) or does not support (false) SR-IOV automation.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(maximumDepth="0") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Network profile populated by SDN-GP for SNMP",indexedProps="nm-profile-name",container="network-profiles",namespace="cloud-infrastructure") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique name of network profile.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Encrypted SNMP community string") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of network profiles") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="SR-IOV Physical Function",indexedProps="pf-pci-id",dependentOn="p-interface",container="sriov-pfs") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Identifier for the sriov-pf") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of SR-IOV Physical Functions.") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Physical interface (e.g., nic)",indexedProps="interface-name,prov-status",nameProps="prov-status",dependentOn="vpls-pe,pserver,pnf",container="p-interfaces") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Name that identifies the physical interface") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Captures the numeric part of the speed") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Captures the units corresponding to the speed") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Nature of the services and connectivity on this port.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="CLEI or other specification for p-interface hardware.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Role specification for p-interface hardware.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Indicates the physical properties of the interface.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Trigger for operational monitoring of this resource by Service Assurance systems.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + @org.openecomp.aai.annotations.Metadata(defaultValue="false",description="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="inventory status") + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of physical interfaces.") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Link aggregate interface",indexedProps="interface-name,interface-id,interface-role",dependentOn="generic-vnf,pserver,vpe,vpls-pe,pnf",container="lag-interfaces") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Name that identifies the link aggregate interface") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Human friendly text regarding this interface.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Captures the numeric part of the speed") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Captures the units corresponding to the speed") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="ID of interface") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Role assigned to this Interface, should use values as defined in ECOMP Yang models.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Trigger for operational monitoring of this resource by Service Assurance systems.") + + + + + + + @org.openecomp.aai.annotations.Metadata(defaultValue="false",description="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)") + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of link aggregate interfaces.") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Compute host whose hostname must be unique and must exactly match what is sent as a relationship to a vserver.",nameProps="pserver-name2",indexedProps="hostname,in-maint,pserver-id,pserver-name2,inv-status",searchable="hostname,pserver-name2,pserver-id,ipv4-oam-address",container="pservers",namespace="cloud-infrastructure") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Value from executing hostname on the compute node.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="PTNII name") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Number of cpus") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Disk size, in GBs") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="RAM size, in MBs") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Equipment type. Source of truth should define valid values.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Equipment vendor. Source of truth should define valid values.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Equipment model. Source of truth should define valid values.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Fully-qualified domain name") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used to configure device, also used for troubleshooting and is IP used for traps generated by device.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Serial number, may be queried") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="IPV4 Loopback 0 address") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="IPV6 Loopback 0 address") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="IPV4 AIM address") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="IPV6 AIM address") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="IPV6 OAM address") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="CANOPI's inventory status. Only set with values exactly as defined by CANOPI.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="ID of Pserver") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="internet topology of Pserver") + + + + + + + @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.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="alternative pserver name") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="purpose of pserver") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Indicates who owns and or manages the device.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="The host profile that defines the configuration of the pserver.") + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of compute hosts.") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Virtual organization of cloud infrastructure elements in a data center context",nameProps="vdc-name",indexedProps="vdc-name,vdc-id",container="virtual-data-centers",namespace="cloud-infrastructure") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique ID of the vdc") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Name of the virtual data center") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Virtual organization of cloud infrastructure elements in a data center context") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Namespace for cloud infrastructure.") + + + + + + + + + + + + + + + + @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") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true) + + + + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + + + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of resource instances used to connect a variety of disparate inventory widgets",indexedProps="resource-instance-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version",container="connectors",namespace="business") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique id of resource instance.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + @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") + + + + + + + @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") + + + + + + + @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") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="the ASDC data dictionary widget model. This maps directly to the A&AI widget.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="the ASDC data dictionary version of the widget model.This maps directly to the A&AI version of the widget.") + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of resource instances used to connect a variety of disparate inventory widgets") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Represents the specifics of a tunnel cross connect piece of a resource that gets separately allotted",uniqueProps="id",indexedProps="id",dependentOn="allotted-resource",container="tunnel-xconnects") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Allotted Resource id UUID assigned to this instance.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="The WAN uplink bandwidth for WAN1") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="The WAN downlink bandwidth for WAN1") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="The WAN uplink bandwidth for WAN2") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="The WAN downlink bandwidth for WAN2") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Concurrency value") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="This object is used to store the specific tunnel cross connect aspects of an allotted resource") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Represents a slice or partial piece of a resource that gets separately allotted",nameProps="description",uniqueProps="id",indexedProps="id,model-invariant-id,model-version-id,type,role",dependentOn="service-instance",container="allotted-resources") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Allotted Resource id UUID assigned to this instance.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="The descriptive information assigned to this allotted resource instance") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Link back to more information in the controller") + + + + + + + @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") + + + + + + + @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") + + + + + + + @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") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Concurrency value") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Orchestration status") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Generic description of the type of allotted resource.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="role in the network that this resource will be providing.") + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="This object is used to store slices of services being offered") + + + + + + + + + + + + @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") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Uniquely identifies this instance of a service") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="This field will store a name assigned to the service-instance.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="String capturing type of service.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="String capturing the service role.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="This field will store the environment context assigned to the service-instance.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="This field will store the workload context assigned to the service-instance.") + + + + + + + @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") + + + + + + + @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") + + + + + + + @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") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="the ASDC data dictionary widget model. This maps directly to the A&AI widget.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="the ASDC data dictionary version of the widget model.This maps directly to the A&AI version of the widget.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Indicates the total bandwidth to be used for this service.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="indicates the upstream bandwidth this service will use on the WAN1 port of the physical device.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="indicates the downstream bandwidth this service will use on the WAN1 port of the physical device.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="indicates the upstream bandwidth this service will use on the WAN2 port of the physical device.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="indicates the downstream bandwidth this service will use on the WAN2 port of the physical device.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="URL customers will use to access the vHN Portal.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="An identifier that customers assign to the location where this service is being used.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Path to the controller object.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Orchestration status of this service.") + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of service instances") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Object that group service instances.",indexedProps="service-type",dependentOn="customer",container="service-subscriptions",crossEntityReference="service-instance,service-type") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Value defined by orchestration to identify this service across ECOMP.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="This property will be deleted from A&AI in the near future. Only stop gap solution.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of objects that group service instances.") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="customer identifiers to provide linkage back to BSS information.",nameProps="subscriber-name",indexedProps="subscriber-name,global-customer-id,subscriber-type",searchable="global-customer-id,subscriber-name",uniqueProps="global-customer-id",container="customers",namespace="business") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Global customer id used across ECOMP to uniquely identify customer.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Subscriber name, an alternate way to retrieve a customer.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Subscriber type, a way to provide VID with only the INFRA customers.",defaultValue="CUST") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of customer identifiers to provide linkage back to BSS information.") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Namespace for business related constructs") + + + + + + + + + + + + + @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") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique ID of this asset") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="The application that the image instantiates.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="The vendor of the application.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="The version of the application.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of image objects that pertain to a VNF that doesn't have associated vservers. This is a kludge.") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Stand-in for service model definitions. Likely to be deprecated in favor of models from ASDC. Does not strictly map to ASDC services.",indexedProps="service-description,service-id",container="services",namespace="service-design-and-creation") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="This gets defined by others to provide a unique ID for the service, we accept what is sent.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Description of the service") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="service version") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of service model definitions. Likely to be deprecated in favor of models from ASDC.") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Early definition of server/resource pairings, likely to be replaced by models. No new use should be made of this.",indexedProps="service-type,vnf-type",container="service-capabilities",namespace="service-design-and-creation") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="This gets defined by others to provide a unique ID for the service, we accept what is sent.") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of service capabilities.") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="This is how we would capture constraints defining allowed sets of elements.",uniqueProps="element-choice-set-uuid",indexedProps="element-choice-set-uuid",allowDirectRead="true",allowDirectWrite="false",container="element-choice-sets") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true") + + + + + + + + + + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="This is how we would capture constraints defining allowed sets of elements.",uniqueProps="constrained-element-set-uuid",indexedProps="constrained-element-set-uuid",allowDirectRead="true",allowDirectWrite="false",container="constrained-element-sets") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true") + + + + + + + + + + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="This is how we would capture constraints defining allowed sets of elements.",uniqueProps="model-constraint-uuid",indexedProps="model-constraint-uuid",allowDirectRead="true",allowDirectWrite="false",container="model-constraints") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true") + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + + + + + + + + @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") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Indicates whether this element was created as part of instantiation from this model") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="How many of this type of element are required/allowed") + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Defines how other models combine to make up a higher-level model") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Describes new constraints on this model element that are not part of that model's definition") + + + + + + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Subgraph definition provided by ASDC to describe a specific version of an inventory asset and its connections related to ASDC models",nameProps="model-name",indexedProps="model-version-id,model-name,model-version",uniqueProps="model-version-id",container="model-vers") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique identifier corresponding to one version of a model in ASDC") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Name of the model, which can change from version to version.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Version") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Description") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Subgraph definition provided by ASDC to describe an inventory asset and its connections related to ASDC models, independent of version",nameProps="model-type",indexedProps="model-invariant-id,model-type",uniqueProps="model-invariant-id",container="models",namespace="service-design-and-creation") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique identifier corresponding to the main definition of a model in ASDC") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Type of the model, e.g., service, resource, widget, etc.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of subgraph definitions provided by ASDC to describe the inventory assets and their connections related to ASDC models") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="TBD",uniqueProps="related-lookup-uuid",indexedProps="related-lookup-uuid",allowDirectRead="true",allowDirectWrite="false",container="related-lookups") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true") + + + + + + + + + + + + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="TBD",uniqueProps="property-constraint-uuid",indexedProps="property-constraint-uuid",allowDirectRead="true",allowDirectWrite="false",container="property-constraints") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true") + + + + + + + + + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="TBD",uniqueProps="named-query-element-uuid",indexedProps="named-query-element-uuid",allowDirectRead="true",allowDirectWrite="false",container="named-query-elements") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true") + + + + + + + + + + + + + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="TBD",nameProps="named-query-name",uniqueProps="named-query-uuid",indexedProps="named-query-uuid,named-query-name",container="named-queries",namespace="service-design-and-creation") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true) + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="TBD",nameProps="named-query-name",uniqueProps="named-query-uuid",indexedProps="named-query-uuid,named-query-name",container="named-queries",namespace="service-design-and-creation") + + + + + + + + + + + + + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Namespace for objects managed by ASDC") + + + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Logical links generally connect l-interfaces but are used to express logical connectivity between two points",indexedProps="link-name,model-invariant-id,model-version-id,widget-model-id,widget-model-version,link-id,prov-status,circuit-id,purpose",uniqueProps="link-id",container="logical-links",namespace="network",searchable="link-name") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="e.g., evc-name, or vnf-nameA_interface-nameA_vnf-nameZ_interface-nameZ") + + + + + + + @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.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Type of logical link, e.g., evc") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Captures the numeric part of the speed") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Captures the units corresponding to the speed") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="v4, v6, or ds for dual stack (should be att-ip-version)") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="For example, static or BGP") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + @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") + + + + + + + @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") + + + + + + + @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") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="the ASDC data dictionary widget model. This maps directly to the A&AI widget.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="the ASDC data dictionary version of the widget model.This maps directly to the A&AI version of the widget.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Indication of operational status of the logical link.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Trigger for operational monitoring of this VNF by BAU Service Assurance systems.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Indication of the network use of the logical link.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Alias or alternate name (CLCI or D1 name).") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="UUID of the logical-link, SDNC generates this.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Circuit id") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Reason for this entity, role it is playing") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of logical connections") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(indexedProps="cos",dependentOn="site-pair",container="classes-of-service") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="unique identifier of probe") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="identifier of probe") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="type of probe") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="class-of-service of probe") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(indexedProps="site-pair-id",uniqueProps="site-pair-id",dependentOn="routing-instance",container="site-pairs") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="unique identifier of probe") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Prefix address") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Prefix address") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="ip version, v4, v6") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Hostname of the destination equipment to which SLAs are measured against.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="The type of destinatination equipment. Could be Router, UCPE, etc.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="probe within a set") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(indexedProps="routing-instance-id",uniqueProps="routing-instance-id",dependentOn="site-pair-set",container="routing-instances") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique id of routing instance") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="rpm owner") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="set of probes related to generic-vnf routing instance") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Set of instances for probes used to measure service level agreements",indexedProps="site-pair-set-id",uniqueProps="site-pair-set-id",container="site-pair-sets",namespace="network") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique id of site pair set.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of sets of instances for probes related to generic-vnf") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Route target information",container="route-targets",dependentOn="vpn-binding",canBeLinked="true") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Number used to identify an RT, globally unique in the network") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Role assigned to this route target") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of route target information") + + + + + + + + + + + + @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") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="VPN ID, globally unique within A&AI") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="VPN Name") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="the platform associated with the VPN example AVPN, Mobility") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Type of the vpn, should be taken from enumerated/valid values") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="region of customer vpn") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="id for this customer vpn") + + + + + + + @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.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="l3-networks relate to vpn-bindings") + + + + + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="VPLS Provider Edge routers.",indexedProps="prov-status,equipment-name",container="vpls-pes",namespace="network") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true) + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Trigger for operational monitoring of this VNF by BAU Service Assurance systems.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address).") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Client should send valid enumerated value, e.g., VPLS-PE.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Temporary location for stag to get to VCE") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of VPLS Provider Edge routers") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(indexedProps="multicast-configuration-id",uniqueProps="multicast-configuration-id",container="multicast-configurations",namespace="network") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique id of multicast configuration.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="protocol of multicast configuration") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="rp type of multicast configuration") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="multicast configuration of generic-vnf ip-address") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(dependentOn="port-group",indexedProps="cvlan-tag",container="cvlan-tags") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="See mis-na-virtualization-platform.yang") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used to capture the network interfaces of this VCE",nameProps="port-group-name",indexedProps="port-group-id,heat-stack-id,interface-id,interface-name,switch-name",dependentOn="vce",container="port-groups") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique ID of the interface") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Neutron network id of this Interface") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Neutron network name of this Interface") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Role assigned to this Interface, should use values as defined in ECOMP Yang models.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Unique ID for port group in vmware") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Likely to duplicate value of neutron network name") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="DVS or standard switch name (should be non-null for port groups associated with DVS)") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Orchestration status of this VNF, mastered by MSO") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Heat stack id corresponding to this instance, managed by MSO") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Corresponds to the SDN-C catalog id used to configure this VCE") + + + + + + + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Metadata for license group.",indexedProps="group-uuid,resource-uuid",dependentOn="generic-vnf,vce,vpe",container="licenses") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique ID for the license group the resource belongs to, should be uuid.") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique ID of a license resource. ") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Concurrency value") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Licenses to be allocated across resources, keyed by group-uuid and resource-uuid, related to license management") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Metadata for entitlement group.",indexedProps="group-uuid,resource-uuid",dependentOn="generic-vnf,vce,vpe",container="entitlements") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique ID for the entitlement group the resource comes from, should be uuid.") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique ID of an entitlement resource. ") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Concurrency value") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Entitlements, keyed by group-uuid and resource-uuid, related to license management") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Virtual Customer Edge Router, used specifically for Gamma. This object is deprecated.",nameProps="vnf-name",indexedProps="vnf-name,vnf-name2,vnf-type,heat-stack-id,vnf-id,interface-name,regional-resource-zone,vpe-id,prov-status,service-id",searchable="vnf-id,vnf-name,vnf-name2",uniqueProps="vnf-id",container="vces",namespace="network",extendsFrom="vnf") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique id of VNF. This is unique across the graph.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Name of VNF.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Alternate name of VNF.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Unique identifier of service, does not strictly map to ASDC services, SOON TO BE DEPRECATED.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Regional way of organizing pservers, source of truth should define values") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Trigger for operational monitoring of this resource by Service Assurance systems.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="OBSOLETE - do not use") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Network role being played by this VNF") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Orchestration status of this VNF, mastered by MSO") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Heat stack id corresponding to this instance, managed by MSO") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Corresponds to the SDN-C catalog id used to configure this VCE") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Unique ID of VPE connected to this VCE.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Valid v6 IP address for the WAN Link on this router. Implied length of /64.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Address tail-f uses to configure vce, also used for troubleshooting and is IP used for traps generated by VCE.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Loopback0 address") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="OBSOLETE - see child relationships") + + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of Virtual Customer Edge Routers, used specifically for Gamma. This object is deprecated.") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Relationship-list must include related to info for complex.",nameProps="vnf-name",indexedProps="vnf-name,vnf-name2,vnf-type,heat-stack-id,vnf-id,regional-resource-zone,prov-status,service-id",searchable="vnf-id,vnf-name,vnf-name2",uniqueProps="vnf-id",container="vpes",namespace="network",extendsFrom="vnf") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique id of VNF. This is unique across the graph.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Name of VNF.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Alternate name of VNF.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Unique identifier of service. Does not map strictly to ASDC services. SOON TO BE DEPRECATED") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Regional way of organizing pservers, source of truth should define values") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Trigger for operational monitoring of this resource by Service Assurance systems.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="OBSOLETE - do not use. See child relationships.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Client should send valid enumerated value") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Orchestration status of this VNF, mastered by MSO") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Heat stack id corresponding to this instance, managed by MSO") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Corresponds to the SDN-C catalog id used to configure this VCE") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address).") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Prefix length for oam-address") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Gateway address") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Loopback0 address") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Temporary location for stag to get to VCE") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="as-number of the VPE") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="details regarding the vpe operation, PLEASE DISCONTINUE USE OF THIS FIELD.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="indicates whether vpe access uses SSH") + + + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Virtual provider edge router. In 1504, A&AI will populate this object through an M&P and tool provided to operations.") + + + + + + + + + + + + @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") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique ID of vnfc.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Short code that is used in naming instances of the item being modeled") + + + + + + + @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") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="prov status of this vnfc") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Orchestration status of this VNF, mastered by APP-C") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Oam V4 vip address of this vnfc") + + + + + + + @org.openecomp.aai.annotations.Metadata(defaultValue="false",description="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)") + + + + + + + @org.openecomp.aai.annotations.Metadata(defaultValue="false",description="used to indicate whether closed loop function is enabled on this node") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Group notation of VNFC") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",visibility="deployment",requires="model-version-id") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment",requires="model-invariant-id") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="virtual network components associated with a vserver from application controller.") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(indexedProps="subnet-id,subnet-name",nameProps="subnet-name",uniqueProps="subnet-id",dependentOn="l3-network",container="subnets") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Subnet ID, should be UUID.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Name associated with the subnet.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Neutron id of this subnet") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="gateway ip address") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="network start address") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="cidr mask") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="ip version") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Orchestration status of this VNF, mastered by MSO") + + + + + + + @org.openecomp.aai.annotations.Metadata(defaultValue="false",description="dhcp enabled") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="the start address reserved for use by dhcp") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="the last address reserved for use by dhcp") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="role of the subnet, referenced when assigning IPs") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(indexedProps="vlan-id-inner",dependentOn="l3-network",container="ctag-assignments") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="id.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Openstack segmentation assignment.",indexedProps="segmentation-id",dependentOn="l3-network",container="segmentation-assignments") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Route Table Reference id, UUID assigned to this instance.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Concurrency value") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of openstack segmentation assignments") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Generic network definition",nameProps="network-name",indexedProps="heat-stack-id,network-uuid,service-id,network-id,network-name,model-invariant-id,model-version-id,widget-model-id,widget-model-version,contrail-network-fqdn,network-role",searchable="network-id,network-name",uniqueProps="network-id",container="l3-networks",namespace="network") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Network ID, should be uuid. Unique across A&AI.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Name of the network, governed by some naming convention..") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Type of the network - who defines these values?") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Role the network plans - who defines these values?") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Network technology - who defines these values?") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Neutron network id of this Interface") + + + + + + + @org.openecomp.aai.annotations.Metadata(defaultValue="false",description="Set to true if bound to VPN") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Unique identifier of service from ASDC. Does not strictly map to ASDC services. SOON TO BE DEPRECATED") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="network role instance") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Orchestration status of this VNF, mastered by MSO") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Heat stack id corresponding to this instance, managed by MSO") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Corresponds to the SDN-C catalog id used to configure this VCE") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Contrail FQDN for the network") + + + + + + + @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") + + + + + + + @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") + + + + + + + @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") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="the ASDC data dictionary widget model. This maps directly to the A&AI widget.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="the ASDC data dictionary version of the widget model.This maps directly to the A&AI version of the widget.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Name associated with the physical network.") + + + + + + + @org.openecomp.aai.annotations.Metadata(defaultValue="false",description="boolean indicatating whether or not network is a provider network.") + + + + + + + @org.openecomp.aai.annotations.Metadata(defaultValue="false",description="boolean indicatating whether or not network is a shared network.") + + + + + + + @org.openecomp.aai.annotations.Metadata(defaultValue="false",description="boolean indicatating whether or not network is an external network.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Path to the controller object.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational.") + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Relates to tenant (or is it a child of tenant), complex, service, vpn-binding") + + + + + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(nameProps="network-policy-fqdn",indexedProps="network-policy-id,network-policy-fqdn",searchable="network-policy-id,network-policy-fqdn",uniqueProps="network-policy-id",container="network-policies",namespace="network") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="UUID representing unique key to this instance") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Contrail FQDN for the policy") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="ID for the openStack Heat instance") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="a deployment unit of VNFCs",indexedProps="vf-module-id,vf-module-name,heat-stack-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,contrail-service-instance-fqdn",searchable="vf-module-id,vf-module-name",dependentOn="generic-vnf",container="vf-modules") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique ID of vf-module.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Name of vf-module") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Heat stack id corresponding to this instance.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="orchestration status of this vf-module, mastered by MSO") + + + + + + + @org.openecomp.aai.annotations.Metadata(defaultValue="false",description="used to indicate whether or not this object is base vf module") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + @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") + + + + + + + @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") + + + + + + + @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") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="the ASDC data dictionary widget model. This maps directly to the A&AI widget.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="the ASDC data dictionary version of the widget model.This maps directly to the A&AI version of the widget.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="the Contrail unique ID for a service-instance") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="the index will track the number of modules of a given type that have been deployed in a VNF, starting with 0, and always choosing the lowest available digit") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Path to the controller object.") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of vf-modules, a deployment unit of VNFCs") + + + + + + + + + + + + @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") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique id of VNF. This is unique across the graph.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Name of VNF.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Alternate name of VNF.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Unique identifier of service, does not necessarily map to ASDC service models. SOON TO BE DEPRECATED") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Regional way of organizing pservers, source of truth should define values") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Trigger for operational monitoring of this resource by Service Assurance systems.",suggestibleOnSearch="true") + + + + + + + @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.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="OBSOLETE - do not use") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Client should send valid enumerated value") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Orchestration status of this VNF, used by MSO.",suggestibleOnSearch="true") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Heat stack id corresponding to this instance, managed by MSO") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Corresponds to the SDN-C catalog id used to configure this VCE") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="identifier of managed by ONAP or customer") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by generic-vnf.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="v4 Loopback0 address") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="v6 Loopback address") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="v6 management address") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="number of vcpus ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only by uCPE") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="units associated with vcpu, used for VNFs with no vservers/flavors, to be used only by uCPE") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="number of GB of memory ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only by uCPE") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="units associated with vmemory, used for VNFs with no vservers/flavors, to be used only by uCPE") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="number of vdisks ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only uCPE") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="units associated with vdisk, used for VNFs with no vservers/flavors, to be used only by uCPE") + + + + + + + @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.") + + + + + + + @org.openecomp.aai.annotations.Metadata(defaultValue="false",description="used to indicate whether closed loop function is enabled on this node") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="details regarding the generic-vnf operation, PLEASE DISCONTINUE USE OF THIS FIELD.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="indicates whether generic-vnf access uses SSH") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="UUID of the Entitlement group used for licensing VNFs, OBSOLETE - See child relationships.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="UUID of the specific entitlement resource. OBSOLETE - See child relationships.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="UUID of the license assignment group. OBSOLETE - See child relationships.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="UUID of the actual license resource. OBSOLETE - See child relationships.") + + + + + + + @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") + + + + + + + @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") + + + + + + + @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") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="the ASDC data dictionary widget model. This maps directly to the A&AI widget.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="the ASDC data dictionary version of the widget model.This maps directly to the A&AI version of the widget.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="as-number of the VNF") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="represents sub zone of the rr plane") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Generic description of the type of NF",suggestibleOnSearch="true") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="English description of Network function that the specific VNF deployment is providing") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="role in the network that this model will be providing",suggestibleOnSearch="true") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="string assigned to this model used for naming purposes") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Path to the controller object.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Gateway address") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Prefix length for oam-address") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Temporary location for S-TAG to get to VCE") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Network Management profile of this VNF") + + + + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of VNFs") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="LAG links can connect lag-interfaces",indexedProps="link-name",container="lag-links",namespace="network") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Alphabetical concatenation of lag-interface names") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of link aggregation connections") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="This object fills in the gaps from vce that were incorporated into generic-vnf. This object will be retired with vce.",nameProps="vnf-name",indexedProps="vnf-name,vnf-name2,vnf-type,heat-stack-id,prov-status,vnf-id2",searchable="vnf-id2,vnf-name,vnf-name2",uniqueProps="vnf-id2",container="newvces",namespace="network") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique id of VNF, can't use same attribute name right now until we promote this new object") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Name of VNF.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Alternate name of VNF.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="String capturing type of vnf, that was intended to identify the ASDC resource. This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Trigger for operational monitoring of this VNF by BAU Service Assurance systems.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="OBSOLETE - do not use") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address).") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Client should send valid enumerated value, e.g., VPE.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="v4 Loopback0 address") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Orchestration status of this VNF, mastered by MSO.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Heat stack id corresponding to this instance, managed by MSO") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Corresponds to the SDN-C catalog id used to configure this VCE") + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="This object fills in the gaps from vce that were incorporated into generic-vnf. This object will be retired with vce.") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="PNF represents a physical network function. typically equipment used in the D1 world. in 1607, this will be populated by SDN-C to represent a premises router that a uCPE connects to. But this can be used to represent any physical device that is not an AIC node or uCPE.",indexedProps="pnf-name,orchestration-status,inv-status",searchable="pnf-name",uniqueProps="pnf-name",container="pnfs",namespace="network") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="unique name of Physical Network Function.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="name of Physical Network Function.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="source of name2") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="id of pnf") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Equipment type. Source of truth should define valid values.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Equipment vendor. Source of truth should define valid values.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Equipment model. Source of truth should define valid values.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="identifier of managed by ONAP or customer") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="ipv4-oam-address with new naming convention for IP addresses") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="sw-version is the version of SW for the hosted application on the PNF.") + + + + + + + @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.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="ID of the physical frame (relay rack) where pnf is installed.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Serial number of the device") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="IPV4 Loopback 0 address") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="IPV6 Loopback 0 address") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="IPV4 AIM address") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="IPV6 AIM address") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="IPV6 OAM address") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="CANOPI's inventory status. Only set with values exactly as defined by CANOPI.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Nf Role is the role performed by this instance in the network.") + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of Physical Network Functions.") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of physical connections, typically between p-interfaces",indexedProps="circuit-id,link-name",alternateKeys1="circuit-id",container="physical-links",namespace="network",searchable="link-name,circuit-id") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="e.g., hostnameA_p-connection_nameA_hostnameZ+p_connection-nameZ") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Captures the numeric part of the speed") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Captures the units corresponding to the speed") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Circuit it") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Dual access mode (e.g., primary, secondary") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="To provide information on who manages this circuit. A&AI or 3rd party transport provider") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Name of the service Provider on this link.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of physical connections, typically between p-interfaces") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="vig-server contains information about a vig server used for IPSec-configuration. Populated by SDN-C from 1607",indexedProps="vig-address-type",dependentOn="ipsec-configuration",container="vig-servers") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="indicates whether the VIG is for AVPN or INTERNET") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="v4 IP of the vig server") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="v6 IP of the vig server") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="IPSec configuration node will contain various configuration data for the NMTE VNF. This node will have an edge to the generic-vnf (vnf type = TE). Starting 1607, this data will be populated by SDN-C",indexedProps="ipsec-configuration-id",uniqueProps="ipsec-configuration-id",container="ipsec-configurations",namespace="network") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="UUID of this configuration") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Indicate the type of VIG server like AVPN, INTERNET, BOTH") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Encryption values like 3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="ONAP can offer a shared DMZ or a DMZ specific to a customer") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Network address of shared DMZ") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="If the DMZ is a custom DMZ, this field will indicate the customer information") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="can be 1 or 2") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Contains values like md5, sha1, sha256, sha384") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Encyption values like 3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Diffie-Hellman group like DH-GROUP2, DH-GROUP5, DH-GROUP14") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Group name defined in VIG for clients using aggressive mode") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="pre-shared key for the above group name ") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Lifetime for IKEv1 SA") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="md5, sha1, sha256, sha384") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Life time for IPSec SA") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="enable PFS or not") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="user ID for xAuth, sm-user,ucpeHostName,nmteHostName") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Encrypted using the Juniper $9$ algorithm") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="The time between DPD probe") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Maximum number of DPD before claiming the tunnel is down") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Openstack route table reference.",nameProps="route-table-reference-fqdn",uniqueProps="route-table-reference-id",indexedProps="route-table-reference-id,route-table-reference-fqdn",container="route-table-references",namespace="network") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Route Table Reference id, UUID assigned to this instance.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="FQDN entry in the route table.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Concurrency value") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of openstack route table references") + + + + + + + + + + + + @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") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="role of the instance group.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="ASDC model id for this resource or service model.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="ASDC model version uid for this resource model.") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Instance Group ID, UUID assigned to this instance.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Descriptive text to help identify the usage of this instance-group") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Only valid value today is lower case ha for high availability") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Valid values for ha type are [geo-activeactive, geo-activestandby, local-activeactive, local-activestandby]") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Concurrency value") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of openstack route table references") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="A zone is a grouping of assets in a location homing to the same connections into the CBB",nameProps="zone-name",indexedProps="zone-id,design-type,zone-context",uniqueProps="zone-id",container="zones",namespace="network") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Code assigned by AIC to the zone") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="English name associated with the zone") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Design of zone [Medium/Large…]") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Context of zone [production/test]") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Status of a zone.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Concurrency value") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Collection of zones") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Namespace for network inventory resources.") + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Internal map to define some reserved properties of a vertex",uniqueProps="aai-unique-key",indexedProps="aai-unique-key,source-of-truth,aai-node-type,aai-uri") + + + + + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Internal map to define the properties of an edge and interpret the map EdgeRules",edgeInfo="edgeLabel,direction,multiplicityRule,isParent,usesResource,hasDelTarget,SVC-INFRA,SVC-INFRA-REV") + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Allows for legacy POST of old-style and new-style models") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique identifier corresponding to the main definition of a model in ASDC") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique identifier corresponding to one version of a model in ASDC") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Type of the model, e.g., service, resource, widget, etc.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Name of the model, which can change from version to version.") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Invariant unique ID which does not change from version to version") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Version") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Description") + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency. Must be empty on create, valid on update and delete.") + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="QueryParameters for performing a named-query or model query") + + + + + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="InstanceFilters for performing a named-query or model query") + + + + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="SecondaryFilts for performing a named-query or model query") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="ModelAndNamedQuerySearch holds query-parameters and instance-properties for performing a named-query or model query") + + + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Property holder for query properties or instance properties") + + + + + + + + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Extra properties for inventory item for response list") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Inventory item for response list",container="inventory-response-items") + + + + + + + + + + + + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Container for inventory items in response list",container="response-list") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Response container for the results of a named-query or model query") + + + + + + + + + + + + @org.openecomp.aai.annotations.Metadata(description="Abstract vnf class",indexedProps="vnf-id",uniqueProps="vnf-id",inheritors="vce,vpe,generic-vnf",isAbstract="true") + + + + + + + @org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique id of VNF. This is unique across the graph.") + + + + + + + diff --git a/aai-service/provider/src/test/java/org/openecomp/sdnc/sli/aai/r1607/R1607AutoGeneratedTest.java b/aai-service/provider/src/test/java/org/openecomp/sdnc/sli/aai/r1607/R1607AutoGeneratedTest.java index f8d1921..6496256 100644 --- a/aai-service/provider/src/test/java/org/openecomp/sdnc/sli/aai/r1607/R1607AutoGeneratedTest.java +++ b/aai-service/provider/src/test/java/org/openecomp/sdnc/sli/aai/r1607/R1607AutoGeneratedTest.java @@ -49,8 +49,8 @@ import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.FixMethodOrder; import org.junit.runners.MethodSorters; -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.openecomp.sdnc.sli.SvcLogicContext; import org.openecomp.sdnc.sli.SvcLogicResource.QueryStatus; import org.openecomp.sdnc.sli.aai.AAIClient; diff --git a/aai-service/provider/src/test/resources/aaiclient.properties b/aai-service/provider/src/test/resources/aaiclient.properties index 9506bfc..a4e2f22 100644 --- a/aai-service/provider/src/test/resources/aaiclient.properties +++ b/aai-service/provider/src/test/resources/aaiclient.properties @@ -32,201 +32,58 @@ org.openecomp.sdnc.sli.aai.ssl.key=/opt/bvc/tls-client/keystore.client.jks org.openecomp.sdnc.sli.aai.ssl.key.psswd={keystore-password} org.openecomp.sdnc.sli.aai.host.certificate.ignore=true -org.openecomp.sdnc.sli.aai.client.name=SDNC -org.openecomp.sdnc.sli.aai.client.psswd=SDNC +org.openecomp.sdnc.sli.aai.client.name=ONAP +org.openecomp.sdnc.sli.aai.client.psswd=ONAP -org.openecomp.sdnc.sli.aai.application=openECOMP +org.openecomp.sdnc.sli.aai.application=ONAP # # Configuration file for A&AI Client # org.openecomp.sdnc.sli.aai.uri=https://localhost:8443 +connection.timeout=60000 +read.timeout=60000 # query -org.openecomp.sdnc.sli.aai.path.query=/aai/v10/search/sdn-zone-query -org.openecomp.sdnc.sli.aai.query.nodes=/aai/v10/search/nodes-query?search-node-type={node-type}&filter={entity-identifier}:EQUALS:{entity-name} -org.openecomp.sdnc.sli.aai.query.generic=/aai/v10/search/generic-query?key={identifier}:{value}&start-node-type={start-node-type}&include=complex&depth=3 +org.openecomp.sdnc.sli.aai.path.query=/aai/v11/search/sdn-zone-query +org.openecomp.sdnc.sli.aai.query.nodes=/aai/v11/search/nodes-query?search-node-type={node-type}&filter={entity-identifier}:EQUALS:{entity-name} +org.openecomp.sdnc.sli.aai.query.generic=/aai/v11/search/generic-query?key={identifier}:{value}&start-node-type={start-node-type}&include=complex&depth=3 # named query org.openecomp.sdnc.sli.aai.query.named=/aai/search/named-query - #update -org.openecomp.sdnc.sli.aai.update=/aai/v10/actions/update - -# vce -org.openecomp.sdnc.sli.aai.path.vce =/aai/v10/network/vces/vce/ -org.openecomp.sdnc.sli.aai.path.vces=/aai/v10/network/vces/ - -# customer -org.openecomp.sdnc.sli.aai.path.customer=/aai/v10/business/customers/customer/{customer-id} - -# service subscription -org.openecomp.sdnc.sli.aai.path.service.subscription=/aai/v10/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type} - -# service instance -org.openecomp.sdnc.sli.aai.path.svcinst=/aai/v10/business/customers/customer/{customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances -org.openecomp.sdnc.sli.aai.path.svcinst.query=/aai/v10/search/generic-query?key=service-instance.service-instance-id:{svc-instance-id}&start-node-type=service-instance&include=service-instance -org.openecomp.sdnc.sli.aai.path.service.instance=/aai/v10/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances/service-instance/{service-instance-id} - -# tenant -org.openecomp.sdnc.sli.aai.path.tenant=/aai/v10/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id} -org.openecomp.sdnc.sli.aai.path.tenant.query=/aai/v10/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant?tenant-name={tenant-name} - -# vservers -org.openecomp.sdnc.sli.aai.path.vservers=/aai/v10/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/ -org.openecomp.sdnc.sli.aai.path.vserver=/aai/v10/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id} - -# vpls-pe -org.openecomp.sdnc.sli.aai.path.vpls.pes=/aai/v10/network/vpls-pes/ -org.openecomp.sdnc.sli.aai.path.vpls.pe =/aai/v10/network/vpls-pes/vpls-pe/ - -# ctag-pool -org.openecomp.sdnc.sli.aai.path.ctag.pools=/aai/v10/cloud-infrastructure/complexes/complex/{physical-location-id}/ctag-pools -org.openecomp.sdnc.sli.aai.path.ctag.pool=/aai/v10/cloud-infrastructure/complexes/complex/{physical-location-id}/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name} - -# -#-------------- 1510 ---------------------- -# - -# pservers -org.openecomp.sdnc.sli.aai.path.pservers=/aai/v10/cloud-infrastructure/pservers -org.openecomp.sdnc.sli.aai.path.pserver=/aai/v10/cloud-infrastructure/pservers/pserver/{hostname} - -# generic-vnf -#org.openecomp.sdnc.sli.aai.path.generic.vnfs=/aai/v10/network/generic-vnfs -#org.openecomp.sdnc.sli.aai.path.generic.vnf=/aai/v10/network/generic-vnfs/generic-vnf/{vnf-id} - -# dvs-switch -org.openecomp.sdnc.sli.aai.path.dvsswitches=/aai/v10/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/dvs-switches -org.openecomp.sdnc.sli.aai.path.dvsswitch=/aai/v10/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/dvs-switches/dvs-switch/{switch-name} +org.openecomp.sdnc.sli.aai.update=/aai/v11/actions/update -# L3 Networks -org.openecomp.sdnc.sli.aai.path.l3networks=/aai/v10/network/l3-networks -org.openecomp.sdnc.sli.aai.path.l3network=/aai/v10/network/l3-networks/l3-network/{network-id} -org.openecomp.sdnc.sli.aai.path.l3network.query.name=/aai/v10/network/l3-networks/l3-network?network-name={network-name} +# UBB Notify +org.openecomp.sdnc.sli.aai.path.notify=/aai/v11/actions/notify +org.openecomp.sdnc.sli.aai.notify.selflink.fqdn=<%= @ubbUri %>/restconf/config/L3SDN-API:services/layer3-service-list/{service-instance-id} +org.openecomp.sdnc.sli.aai.notify.selflink.avpn=<%= @ubbUri %>/restconf/config/L3AVPN-EVC-API:services/service-list/{service-instance-id}/service-data/avpn-logicalchannel-information # P-Interfaces -org.openecomp.sdnc.sli.aai.path.pserver.pinterfaces=/aai/v10/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces -org.openecomp.sdnc.sli.aai.path.pserver.pinterface=/aai/v10/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name} - -# Physical Link -org.openecomp.sdnc.sli.aai.path.physical.links=/aai/v10/network/physical-links -org.openecomp.sdnc.sli.aai.path.physical.link=/aai/v10/network/physical-links/physical-link/{link-name} - -# VPN Bindings -org.openecomp.sdnc.sli.aai.path.vpn.bindings=/aai/v10/network/vpn-bindings/ -org.openecomp.sdnc.sli.aai.path.vpn.binding=/aai/v10/network/vpn-bindings/vpn-binding/{vpn-id} - -# VNF IMAGES -org.openecomp.sdnc.sli.aai.path.vnf.images=/aai/v10/service-design-and-creation/vnf-images -org.openecomp.sdnc.sli.aai.path.vnf.image=/aai/v10/service-design-and-creation/vnf-images/vnf-image/{att-uuid} -org.openecomp.sdnc.sli.aai.path.vnf.image.query=/aai/v10/service-design-and-creation/vnf-images/vnf-image?application={application_model}&application-vendor={application_vendor} - -# UBB Notify -org.openecomp.sdnc.sli.aai.path.notify=/aai/v10/actions/notify -org.openecomp.sdnc.sli.aai.notify.selflink.fqdn=https://sdncodl.it.us.aic.cip.att.com:8443/restconf/config/L3SDN-API:services/layer3-service-list/{service-instance-id} -org.openecomp.sdnc.sli.aai.notify.selflink.avpn=https://sdncodl-conexus.it.us.02.aic.cip.att.com:8543/restconf/config/L3AVPN-EVC-API:services/service-list/{service-instance-id}/service-data/avpn-logicalchannel-information +org.openecomp.sdnc.sli.aai.path.pserver.pinterfaces=/aai/v11/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces +org.openecomp.sdnc.sli.aai.path.pserver.pinterface=/aai/v11/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name} # Service -org.openecomp.sdnc.sli.aai.path.service=/aai/v10/service-design-and-creation/services/service/{service-id} -org.openecomp.sdnc.sli.aai.path.services=/aai/v10/service-design-and-creation/services - - -# -#-------------- 1604 ---------------------- -# - -# VNFC -org.openecomp.sdnc.sli.aai.path.vnfc=/aai/v10/network/vnfcs/vnfc/{vnfc-name} +org.openecomp.sdnc.sli.aai.path.service=/aai/v11/service-design-and-creation/services/service/{service-id} +org.openecomp.sdnc.sli.aai.path.services=/aai/v11/service-design-and-creation/services -# site-pair -org.openecomp.sdnc.sli.aai.path.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} - -# routing-instance -org.openecomp.sdnc.sli.aai.path.routing.instance=/aai/v10/network/site-pair-sets/site-pair-set/{site-pair-set-id}/routing-instances/routing-instance/{routing-instance-id} +# service instance +org.openecomp.sdnc.sli.aai.path.svcinst=/aai/v11/business/customers/customer/{customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances +org.openecomp.sdnc.sli.aai.path.svcinst.query=/aai/v11/search/generic-query?key=service-instance.service-instance-id:{svc-instance-id}&start-node-type=service-instance&include=service-instance +org.openecomp.sdnc.sli.aai.path.service.instance=/aai/v11/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances/service-instance/{service-instance-id} # site-pair-set -org.openecomp.sdnc.sli.aai.path.site.pair.set=/aai/v10/network/site-pair-sets/site-pair-set/{site-pair-set-id} - -# license key resource -org.openecomp.sdnc.sli.aai.path.license.acquire=/aai/v10/actions/assignment/license-management/assignment-group-uuid/{assignment-group-uuid} -org.openecomp.sdnc.sli.aai.path.license=/aai/v10/license-management/license-key-resources/license-key-resource/{att-uuid} - -# logical-link -org.openecomp.sdnc.sli.aai.path.logical.link =/aai/v10/network/logical-links/logical-link/{link-name} - -# virtual-data-center -org.openecomp.sdnc.sli.aai.path.virtual.data.center=/aai/v10/cloud-infrastructure/virtual-data-centers/virtual-data-center/{vdc-id} - -# wan-connector -org.openecomp.sdnc.sli.aai.path.wan.connector=/aai/v10/business/connectors/connector/{resource-instance-id} - -# l-interface -org.openecomp.sdnc.sli.aai.path.lag.interface.l.interface=/aai/v10/cloud-infrastructure/pservers/pserver/{hostname}/lag-interfaces/lag-interface/{lag-interface.interface-name}/l-interfaces/l-interface/{interface-name} -org.openecomp.sdnc.sli.aai.path.p.interface.l.interface=/aai/v10/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces/p-interface/{p-interface.interface-name}/l-interfaces/l-interface/{interface-name} - -# l-interface pnf -org.openecomp.sdnc.sli.aai.path.lag.interface.l.interface.pnf=/aai/v10/network/pnfs/pnf/{pnf-name}/lag-interfaces/lag-interface/{lag-interface.interface-name}/l-interfaces/l-interface/{interface-name} -org.openecomp.sdnc.sli.aai.path.p.interface.l.interface.pnf=/aai/v10/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{p-interface.interface-name}/l-interfaces/l-interface/{interface-name} - -# subinterface -org.openecomp.sdnc.sli.aai.path.pnf.lag.interface.subinterface=/aai/v10/network/pnfs/pnf/{pnf-name}/lag-interfaces/lag-interface/{lag-interface.interface-name}/l-interfaces/l-interface/{interface-name} -org.openecomp.sdnc.sli.aai.path.pnf.p.interface.l.interface=/aai/v10/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{p-interface.interface-name}/l-interfaces/l-interface/{interface-name} - -# l3-interface-ipv4-address-list -org.openecomp.sdnc.sli.aai.path.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} -org.openecomp.sdnc.sli.aai.path.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} - -# l3-interface-ipv6-address-list -org.openecomp.sdnc.sli.aai.path.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} -org.openecomp.sdnc.sli.aai.path.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} +org.openecomp.sdnc.sli.aai.path.site.pair.set=/aai/v11/network/site-pair-sets/site-pair-set/{site-pair-set-id} -# ipsec-configuration -org.openecomp.sdnc.sli.aai.path.ipsec.configuration=/aai/v10/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id} +# VNF IMAGES QUERY +org.openecomp.sdnc.sli.aai.path.vnf.image.query=/aai/v11/service-design-and-creation/vnf-images/vnf-image?application={application_model}&application-vendor={application_vendor} -# vig server -org.openecomp.sdnc.sli.aai.path.vig.server=/aai/v10/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id}/vig-servers/vig-server/{vig-address-type} - -# l3-network -org.openecomp.sdnc.sli.aai.path.l3.network=/aai/v10/network/l3-networks/l3-network/{network-id} - -# subnet -org.openecomp.sdnc.sli.aai.path.subnet=/aai/v10/network/l3-networks/l3-network/{network-id}/subnets/subnet/{subnet-id} - -# multicast-configuration -org.openecomp.sdnc.sli.aai.path.multicast.configuration=/aai/v10/network/multicast-configurations/multicast-configuration/{multicast-configuration-id} - -# org.openecomp.sdnc.sli.aai.path.l.interface.ipv4.address.list -org.openecomp.sdnc.sli.aai.path.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} - -# org.openecomp.sdnc.sli.aai.path.l.interface.vlan.ipv4.address.list -org.openecomp.sdnc.sli.aai.path.l3-interface.vlan.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} - -# org.openecomp.sdnc.sli.aai.path.l.interface.ipv6.address.list -org.openecomp.sdnc.sli.aai.path.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} - -# volume.group -org.openecomp.sdnc.sli.aai.path.volume.group=/aai/v10/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/volume-groups/volume-group/{volume-group-id} - -#cloud region -org.openecomp.sdnc.sli.aai.path.cloud.region=/aai/v10/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id} - -# vf-module -org.openecomp.sdnc.sli.aai.path.vf.module=/aai/v10/network/generic-vnfs/generic-vnf/{vnf-id}/vf-modules/vf-module/{vf-module-id} - -# network-policy -org.openecomp.sdnc.sli.aai.path.network.policy=/aai/v10/network/network-policies/network-policy/{network-policy-id} - -# pnf -org.openecomp.sdnc.sli.aai.path.pnf=/aai/v10/network/pnfs/pnf/{pnf-name} - -# oam-network -org.openecomp.sdnc.sli.aai.path.oam.network=/aai/v10/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/oam-networks/oam-network/{network-uuid} +# vservers +org.openecomp.sdnc.sli.aai.path.vservers=/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/ +org.openecomp.sdnc.sli.aai.path.vserver=/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id} -# route-table-reference -org.openecomp.sdnc.sli.aai.path.route.table.reference=/aai/v10/network/route-table-references/route-table-reference/{route-table-reference-id} # # Formatting -- cgit 1.2.3-korg