Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: change sub-components to relationship-list

...

VPN

Notes:

See Figure 2 above.

Update existing class of objects.

<java-type name="VpnBinding"> <xml-root-element name="vpn-binding"/> <java-attributes> <xml-element name="access-provider-id" type="java.lang.String"/> <xml-element name="access-client-id" type="java.lang.String"/> <xml-element name="access-topology-id" type="java.lang.String"/> <xml-element name="access-node-id" type="java.lang.String"/> <xml-element name="access-ltp-id" type="java.lang.String"/> <xml-element name="src-access-node-id" type="java.lang.String"/> <xml-element name="src-access-ltp-id" type="java.lang.String"/> <xml-element name="dst-access-node-id" type="java.lang.String"/> <xml-element name="dst-access-ltp-id" type="java.lang.String"/> </java-attributes> </java-type>

Reference IdCCVPN Use Case ReferenceAAI Schema ReferenceAAI Proposed Schema
AAI-1353-1

aai_schema_v13.xsd

  • "network"
  • "business"

Update existing entry points to graph for new proposed elements:

Code Block
languagexml
titleMockup Schema (OXM)
collapsetrue
<java-type name="Network">
 <xml-root-element name="network"/>
 <java-attributes>
  <xml-element name="connectivities"
   type="inventory.aai.onap.org.v14.Connectivities"/>
  <xml-element name="port-configs"
   type="inventory.aai.onap.org.v14.PortConfigs"/>
  <xml-element name="network-resources"
   type="inventory.aai.onap.org.v14.NetworkResources"/>
  <xml-element name="site-resources"
   type="inventory.aai.onap.org.v14.SiteResources"/>
  <xml-element name="ext-aai-networks"
   type="inventory.aai.onap.org.v14.ExtAaiNetworks"/>
  <xml-element name="sdwan-vpns"
   type="inventory.aai.onap.org.v14.SdwanVpns"/>
  <xml-element name="devices"
   type="inventory.aai.onap.org.v14.Devices"/>
 </java-attributes>
</java-type>

<java-type name="Business">
 <xml-root-element name="business"/>
 <java-attributes>
  <xml-element name="sp-partners"
   type="inventory.aai.onap.org.v14.SpPartners"/>
 </java-attributes>
</java-type>
Code Block
languagexml
titleMockup Schema (XSD)
collapsetrue
<xs:element name="network">
 <xs:complexType>
   <xs:sequence>
    <xs:element ref="tns:connectivities"
     minOccurs="0" maxOccurs="unbounded"/>
    <xs:element ref="tns:port-configs"
     minOccurs="0" maxOccurs="unbounded"/>
    <xs:element ref="tns:network-resources"
     minOccurs="0" maxOccurs="unbounded"/>
    <xs:element ref="tns:site-resources"
     minOccurs="0" maxOccurs="unbounded"/>
    <xs:element ref="tns:ext-aai-networks"
     minOccurs="0" maxOccurs="unbounded"/>
    <xs:element ref="tns:devices"
     minOccurs="0" maxOccurs="unbounded"/>
    <xs:element ref="tns:sdwan-vpns"
     minOccurs="0" maxOccurs="unbounded"/>
   </xs:sequence>
 </xs:complexType>
</xs:element>

<xs:element name="business">
 <xs:complexType>
   <xs:sequence>
    <xs:element ref="tns:sp-partners"
     minOccurs="0" maxOccurs="unbounded"/>
   </xs:sequence>
 </xs:complexType>
</xs:element>
AAI-1353-2

SOTN Infra

Closed Loop

Site Service Instance

Notes:

See Figure 2 above.

Use existing class of objects.

Closed loop scenario:

  • SO will create “service-instance” object in AAI
  • SO will store “customer-request” string on service-instance object in AAI
  • When Closed Loop call recreates the “service-instance”, it will query “service-instance” information first, to get the “customer-request”

aai_schema_v13.xsd

  • "service-instance"
  • "service-instances"

add properties to existing object:

Code Block
languagexml
titleMockup Schema (OXM)
collapsetrue
<java-type name="ServiceInstance">
 <xml-root-element name="service-instance"/>
 <java-attributes>
  <xml-element name="customer-requests" type="java.lang.String"/>
 </java-attributes>
</java-type>

Code Block
languagexml
titleMockup Schema (XSD)
collapsetrue
<xs:element name="service-instance">
 <xs:complexType>
   <xs:sequence>
    <xs:element name="customer-requests" type="xs:string">
   </xs:sequence>
 </xs:complexType>
</xs:element>

Code Block
languagejs
titleMockup API
collapsetrue
URL: https://<AAI host>:<AAI port>/aai/v14/business
 /customers/customer/{global-customer-id}
 /service-subscriptions/service-subscription/{service-type}
 /service-instances/service-instance/{service-instance-id}
Method: PUT
Request Body:
{
    service-instance-id: "{service-instance-id}",
    service-instance-name: "instance name",
    service-type: "some type",
    service-role: "some role",
    resource-version: "some version",
    model-invariant-id: "model id",
    model-version-id: "model version",
    customer-requests: "request parameters"
}
AAI-1353-3

SOTN Connectivity

Notes:

See Figure 2 above.

Proposal for specific new class of "connectivity" objects.

aai_schema_v13.xsd

  • "service-instance"
  • "vpn-bindings"

new element "connectivity", with 10-12 properties and 1-2 relationships and new element "connectivities":

Code Block
languagexml
titleMockup Schema (OXM)
collapsetrue
<java-type name="Connectivity">
 <xml-root-element name="connectivity"/>
 <java-attributes>
  <xml-element name="connectivity-id" type="java.lang.String"/>
  <xml-element name="bandwidth-profile-name" type="java.lang.String"/>
  <xml-element name="vpn-type" type="java.lang.String"/>
  <xml-element name="CIR" type="java.lang.String"/>
  <xml-element name="EIR" type="java.lang.String"/>
  <xml-element name="CBS" type="java.lang.String"/>
  <xml-element name="EBS" type="java.lang.String"/>
  <xml-element name="color-aware" type="java.lang.String"/>
  <xml-element name="coupling-flag" type="java.lang.String"/>
  <xml-element name="etht-svc-name" type="java.lang.String"/>
  <xml-element name="access-provider-id" type="java.lang.String"/>
  <xml-element name="access-client-id" type="java.lang.String"/>
  <xml-element name="access-topology-id" type="java.lang.String"/>
  <xml-element name="access-node-id" type="java.lang.String"/>
  <xml-element name="access-ltp-id" type="java.lang.String"/>
  <xml-element name="connectivity-selflink" type="java.lang.String"/>
  <xml-element name="cvlan-tag-entry" 
   type="inventoryjava.aai.onap.org.v14.CvlanTagEntrylang.String"/>
  <xml-element name="servicerelationship-instancelist" 
   type="inventory.aai.onap.org.v14.ServiceInstanceRelationshipList"/>
  <xml-element name="vpn-bindings" 
   type="inventory.aai.onap.org.v14.VpnBindings"/>
 </java-attributes>
</java-type>

<java-type name="Connectivities">
 <xml-root-element name="connectivities"/>
 <java-attributes>
  <xml-element name="connectivity" container-type="java.lang.ArrayList"
   type="inventory.aai.onap.org.v14.Connectivity"/>
 </java-attributes>
</java-type>

Code Block
languagexml
titleMockup Schema (XSD)
collapsetrue
<xs:element name="connectivity">
 <xs:complexType>
   <xs:sequence>
    <xs:element name="connectivity-id" type="xs:string" minOccurs="1">
    <xs:element name="bandwidth-profile-name" type="xs:string">
    <xs:element name="vpn-type" type="xs:string">
    <xs:element name="CIR" type="xs:string">
    <xs:element name="EIR" type="xs:string">
    <xs:element name="CBS" type="xs:string">
    <xs:element name="EBS" type="xs:string">
    <xs:element name="color-aware" type="xs:string">
    <xs:element name="coupling-flag" type="xs:string">
    <xs:element name="etht-svc-name" type="xs:string">
    <xs:element name="access-provider-id" type="xs:string">
    <xs:element name="access-client-id" type="xs:string">
    <xs:element name="access-topology-id" type="xs:string">
    <xs:element name="access-node-id" type="xs:string">
    <xs:element name="access-ltp-id" type="xs:string">
    <xs:element name="connectivity-selflink" type="xs:string">
    <xs:element refname="tns:cvlan-tag-entry"
     minOccurstype="0" maxOccurs="1"/xs:string">
    <xs:element ref="tns:servicerelationship-instancelist"
     minOccurs="0" maxOccurs="1"/>
   </xs:sequence>
 </xs:complexType>
</xs:element>

<xs:element ref="tns:vpn-bindings"
     minOccurs="1" maxOccurs="unbounded"/>
   </xs:sequence>
 </xs:complexType>
</xs:element>

<xs:element name="connectivities">
 <xs:name="connectivities">
 <xs:complexType>
   <xs:sequence>
    <xs:element ref="tns:connectivity"
     minOccurs="0" maxOccurs="unbounded"/>
   </xs:sequence>
 </xs:complexType>
</xs:element>
Code Block
languagejs
titleMockup API
collapsetrue
URL: https://<AAI host>:<AAI port>/aai/v14/network
 /connectivities/connectivity/{connectivityId}
Method: PUT
Request Body:
{
    "connectivity-id": "{connectivityId}",
    "bandwidth-profile-name": "a name",
    "vpn-type": "a type",
    "CIR": "cir value",
    "EIR": "eir value",
    "CBS": "cbs value",
    "EBS": "ebs value",
    "color-aware": "color value",
    "coupling-flag": "flag value",
    "etht-svc-name": "some name",
    "access-provider-id": "provider id",
    "access-client-id": "client id",
    "access-topology-id": "topology id",
    "access-node-id": "node id",
    "access-ltp-id": "ltp id",
    "connectivity-selflink": "some link",
    "cvlan-tag-entry": { "some tag",
        "cvlanrelationship-taglist" : "cvlanTag"{
    },
    "service-instancerelationship" : {[
         "service-instance-id" : "instance id"{

    },
    "vpn-bindings": {
        "vpnrelated-bindingto" : [
"service-instance",
                 {"related-link": "url of service-instance",
                "vpnrelationship-iddata": "vpn[
 id 1"
            },
        "relationship-key": "service-instance.service-instance-id",
    {
                "vpnrelationship-idvalue": "vpnsome id 2"
                }]
        ]
    }
}
,
            {
                "related-to": "vpn-binding",
                "related-link": "url of vpn-binding",
                "relationship-data": [
                    "relationship-key": "vpn-binding.vpn-id",
                    "relationship-value": "some id"
                ]
            }
        ]
    }
}
AAI-1353-4

VPN

Notes:

See Figure 2 above.

Update existing class of objects.


aai_schema_v13.xsd

  • "vpn-binding"
  • "vpn-bindings"

add properties to existing object:

AAI-1353-4

aai_schema_v13.xsd

  • "vpn-binding"
  • "vpn-bindings"

add properties to existing object:

Code Block
languagexml
titleMockup Schema (OXM)
collapsetrue
Code Block
languagexml
titleMockup Schema (XSDOXM)
collapsetrue
<xs:<java-type name="VpnBinding">
 <xml-root-element name="vpn-binding"/>
 <xs:complexType><java-attributes>
   <xs:sequence>
    <xs:<xml-element name="access-provider-id" type="xs:string"java.lang.String"/>
    <xs:<xml-element name="access-client-id" type="xs:string"java.lang.String"/>
    <xs:<xml-element name="access-topology-id" type="xs:string"java.lang.String"/>
    <xs:<xml-element name="src-access-node-id" type="xs:string"java.lang.String"/>
    <xs:<xml-element name="src-access-ltp-id" type="xs:string"java.lang.String"/>
    <xs:<xml-element name="dstsrc-access-node-id" type="xs:string"java.lang.String"/>
  <xml-element  <xs:name="src-access-ltp-id" type="java.lang.String"/>
  <xml-element name="dst-access-ltpnode-id" type="xs:string"java.lang.String"/>
   </xs:sequence><xml-element name="dst-access-ltp-id" type="java.lang.String"/>
 </xs:complexType>java-attributes>
</xs:element>java-type>

Code Block
languagejsxml
titleMockup APISchema (XSD)
collapsetrue
URL<xs: https://<AAI host>:<AAI port>/aai/v14/network
 /vpn-bindings/vpn-binding/vpnId
Method: PUT
Request Body:
{
    "vpn-id": "vpnId",
    "vpn-name": "vpn name",
    "element name="vpn-binding">
 <xs:complexType>
   <xs:sequence>
    <xs:element name="access-provider-id": "provider id",type="xs:string">
    <xs:element name="access-client-id": "client id",
type="xs:string">
    <xs:element name="access-topology-id": "topology id",
type="xs:string">
    <xs:element name="src-access-node-id": "src node id",type="xs:string">
    <xs:element name="src-access-ltp-id": "src ltp id",type="xs:string">
    <xs:element name="dst-access-node-id": "dst node id",type="xs:string">
    <xs:element name="dst-access-ltp-id" type="xs:string">
  "dst ltp id"
}

 </xs:sequence>
 </xs:complexType>
</xs:element>

Code Block
languagejs
titleMockup API
collapsetrue
URL: https://<AAI host>:<AAI port>/aai/v14/network
 /vpn-bindings/vpn-binding/vpnId
Method: PUT
Request Body:
{
    "vpn-id": "vpnId",
    "vpn-name": "vpn name",
    "access-provider-id": "provider id",
    "access-client-id": "client id",
    "access-topology-id": "topology id",
    "src-access-node-id": "src node id",
    "src-access-ltp-id": "src ltp id",
    "dst-access-node-id": "dst node id",
    "dst-access-ltp-id": "dst ltp id"
}

AAI-1353-5

SP Partner

Notes:

See Figure 2 above.

Proposal for specific new class of "sp-partner" objects.


aai_schema_v13.xsd

  • "service-instances"

new element "sp-partner" and new element "sp-partners":

AAI-1353-5

SP Partner

Notes:

See Figure 2 above.

Proposal for specific new class of "sp-partner" objects.

aai_schema_v13.xsd

  • "service-instances"

new element "sp-partner" and new element "sp-partners":

Code Block
languagexml
titleMockup Schema (OXM)
collapsetrue
<java-type name="SpPartner">
 <xml-root-element name="sp-partner"/>
 <java-attributes>
  <xml-element name="id" type="java.lang.String"/>
  <xml-element name="url" type="java.lang.String"/>
  <xml-element name="service-instance" 
   type="inventory.aai.onap.org.v14.ServiceInstance"/>
 </java-attributes>
</java-type>


<java-type name="SpPartners">
 <xml-root-element name="sp-partners"/>
 <java-attributes>
  <xml-element name="sp-partner"
   type="inventory.aai.onap.org.v14.SpPartner"/>
 </java-attributes>
</java-type>
Code Block
languagexml
titleMockup Schema (XSDOXM)
collapsetrue
<xs:<java-type name="SpPartner">
 <xml-root-element name="sp-partner"/>
 <xs:complexType><java-attributes>
   <xs:sequence>
    <xs:<xml-element name="id" type="xs:string"java.lang.String"/>
    <xs:<xml-element name="url" type="xs:string"java.lang.String"/>
    <xs:<xml-element refname="tns:servicerelationship-instancelist" 
     minOccurstype="0" maxOccurs="1"inventory.aai.onap.org.v14.RelationshipList"/>
   </xs:sequence>
 </xs:complexType>
</xs:element>

<xs:java-attributes>
</java-type>


<java-type name="SpPartners">
 <xml-root-element name="sp-partners"/>
 <xs:complexType><java-attributes>
   <xs:sequence>
    <xs:<xml-element refname="tns:sp-partner"
     minOccurs="0" maxOccurs="unboundedtype="inventory.aai.onap.org.v14.SpPartner"/>
   </xs:sequence>
 </xs:complexType>
</xs:element>java-attributes>
</java-type>
Code Block
languagejsxml
titleMockup APISchema (XSD)
collapsetrue
URL<xs: https://<AAI host>:<AAI port>/aai/v14/business
 /sp-partners/sp-partner/partnerId
Method: PUT
Request Body:
{
    "id": "partnerId",element name="sp-partner">
 <xs:complexType>
   <xs:sequence>
    <xs:element name="id" type="xs:string">
    "url"<xs:element name="partner url",
    "service-instance": { type="xs:string">
    <xs:element ref="tns:relationship-list"
        "service-instance-id" : "instance id"minOccurs="0" maxOccurs="1"/>
    }
}

AAI-1353-6

SOTN Attachment

Notes:

See Figure 3 above.

Update existing class of objects.

aai_schema_v13.xsd

  • "allotted-resource"
  • "allotted-resources"

add properties to existing object:

Code Block
languagexml
titleMockup Schema (OXM)
collapsetrue
<java-type name="AllottedResource"> <xml-root-element name="allotted-resource"/> <java-attributes> <xml-element name="name" type="java.lang.String
</xs:sequence>
 </xs:complexType>
</xs:element>

<xs:element name="sp-partners">
 <xs:complexType>
   <xs:sequence>
    <xs:element ref="tns:sp-partner"
     minOccurs="0" maxOccurs="unbounded"/>
   </xs:sequence>
 </xs:complexType>
</xs:element>
Code Block
languagejs
titleMockup API
collapsetrue
URL: https://<AAI host>:<AAI port>/aai/v14/business
 /sp-partners/sp-partner/partnerId
Method: PUT
Request Body:
{
    "id": "partnerId",
    "url": "partner url",
    "relationship-list": {
        "relationship" : [
            {
                "related-to": "service-instance",
                "related-link": "url of service-instance",
                "relationship-data": [
                    "relationship-key": "service-instance.service-instance-id",
                    "relationship-value": "some id"
                ]
            }
        ]
    }
}

AAI-1353-6

SOTN Attachment

Notes:

See Figure 3 above.

Update existing class of objects.


aai_schema_v13.xsd

  • "allotted-resource"
  • "allotted-resources"
<xml-element name="access-provider-id" type="java.lang.String"/> <xml-element name="access-client-id" type="java.lang.String"/> <xml-element name="access-topology-id" type="java.lang.String"/> <xml-element name="access-node-id" type="java.lang.String"/> <xml-element name="access-ltp-id" type="java.lang.String"/> <xml-element name="cvlan-tag-entry" type="inventory.aai.onap.org.v14.CvlanTagEntry"/> </java-attributes> </java-type>
Code Block
languagexml
titleMockup Schema (XSD)
collapsetrue
<xs:element name="allotted-resource">
 <xs:complexType>
   <xs:sequence>
    <xs:element name="name" type="xs:string">
    <xs:element name="access-provider-id" type="xs:string">
    <xs:element name="access-client-id" type="xs:string">
    <xs:element name="access-topology-id" type="xs:string">
    <xs:element name="access-node-id" type="xs:string">
    <xs:element name="access-ltp-id" type="xs:string">
    <xs:element ref="tns:cvlan-tag-entry"
     minOccurs="0" maxOccurs="1"/>
   </xs:sequence>
 </xs:complexType>
</xs:element>

Code Block
languagejs
titleMockup API
collapsetrue
URL: https://<AAI host>:<AAI port>/aai/v14/business
 /customers/customer/{global-customer-id}
 /service-subscriptions/service-subscription/{service-type}
 /service-instances/service-instance/{service-instance-id}
 /allotted-resources/allotted-resource/{id}
Method: PUT
Request Body:
{
    "name": "some name",
    "access-provider-id": "provider id",
    "access-client-id": "client id",
    "access-topology-id": "topology id",
    "access-node-id": "node id",
    "access-ltp-id": "ltp id",
    "cvlan-tag-entry": {
        "cvlan-tag" : "cvlanTag"
    }
}
AAI-1353-7

LAN port config

WAN port config

Notes:

See Figure 3 above.

Proposal for specific new class of "port-config" objects.

aai_schema_v13.xsd

  • "service-instances"

new element "port-config" and new element "port-configs":

add properties to existing object:

Code Block
languagexml
titleMockup Schema (OXM)
collapsetrue
<java-type name="AllottedResource">
 <xml-root-element name="allotted-resource"/>
 <java-attributes>
  <xml-element name="name" type="java.lang.String"/>
  <xml-element name="access-provider-id" type="java.lang.String"/>
  <xml-element name="access-client-id" type="java.lang.String"/>
  <xml-element name="access-topology-id" type="java.lang.String"/>
  <xml-element name="access-node-id" type="java.lang.String"/>
  <xml-element name="access-ltp-id" type="java.lang.String"/>
  <xml-element name="cvlan" type="java.lang.String"/>
 </java-attributes>
</java-type>


Code Block
languagexml
titleMockup Schema (
OXM
XSD)
collapsetrue
<java-type
<xs:element name="
PortConfig
allotted-resource">
 <xs:complexType>
<xml-root-
   <xs:sequence>
    <xs:element name="
port-config"/
name" type="xs:string">
  
<java-attributes>
  
<xml-
<xs:element name="access-provider-id" type="
java.lang.String"/
xs:string">
  
<xml-
  <xs:element name="
config
access-client-
type
id" type="
java.lang.String"/
xs:string">
  
<xml-
  <xs:element name="
service
access-topology-
instance
id"
 type="
inventory.aai.onap.org.v14.ServiceInstance"/> </java-attributes> </java-type> <java-type name="PortConfigs"> <xml-root-
xs:string">
    <xs:element name="access-node-id" type="xs:string">
    <xs:element name="
port-configs"/> <java-attributes> <xml-
access-ltp-id" type="xs:string">
    <xs:element name="
port-config
cvlan" 
container-
type="
java.lang.ArrayList"
xs:string">
   
type="inventory.aai.onap.org.v14.PortConfigs"/>
</xs:sequence>
 </
java-attributes>
xs:complexType>
</
java-type>
xs:element>

Code Block
language
xml
js
titleMockup
Schema (XSD)
API
collapsetrue
<xs:element name="port-config"> <xs:complexType> <xs:sequence>
URL: https://<AAI host>:<AAI port>/aai/v14/business
 /customers/customer/{global-customer-id}
 /service-subscriptions/service-subscription/{service-type}
 /service-instances/service-instance/{service-instance-id}
 /allotted-resources/allotted-resource/{id}
Method: PUT
Request Body:
{
    
<xs:element name="port
"name": "some name",
    "access-provider-id": 
type="xs:string">
"provider id",
   
<xs:element
 
name=
"
config
access-client-
type
id": 
type="xs:string">
"client id",
    
<xs:element ref="tns:service-instance"
"access-topology-id": "topology id",
    
minOccurs="0" maxOccurs="1"/>
"access-node-id": "node id",
   
</xs:sequence> </xs:complexType> </xs:element> <xs:element name="port-configs"> <xs:complexType> <xs:sequence> <xs:element ref="tns:port-config" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element>
 "access-ltp-id": "ltp id",
    "cvlan": "some tag"
}
AAI-1353-7

LAN port config

WAN port config

Notes:

See Figure 3 above.

Proposal for specific new class of "port-config" objects.


aai_schema_v13.xsd

  • "service-instances"

new element "port-config" and new element "port-configs":

Code Block
languagexml
titleMockup Schema (OXM)
collapsetrue
<java-type name="PortConfig">
 <xml-root-element name="port-config"/>
 <java-attributes>
  <xml-element name="id" type="java.lang.String"/>
  <xml-element name="config-type" type="java.lang.String"/>
  <xml-element name="relationship-list" 
   type="inventory.aai.onap.org.v14.RelationshipList"/>
 </java-attributes>
</java-type>


Code Block
languagejs
titleMockup API
collapsetrue
URL: https://<AAI host>:<AAI port>/aai/v14/network
 /port-configs/port-config/portId
Method: PUT
Request Body:
{
    "port-id": "portId",
    "config-type": "lan or wan",
    "service-instance": {
        "service-instance-id" : "instance id"
    }
}

AAI-1353-8

site-resource

Notes:

See Figure 3 above.

new element "site-resource" and new element "site-resources":

Code Block
languagexml
titleMockup Schema (OXM)
collapsetrue
<java-type name="SiteResourcePortConfigs">
 <xml-root-element name="siteport-resourceconfigs"/>
 <java-attributes>
  <xml-element name="idport-config" container-type="java.lang.StringArrayList"/>
  <xml-element name="name"  type="java.lang.Stringinventory.aai.onap.org.v14.PortConfigs"/>
  <xml-</java-attributes>
</java-type>


Code Block
languagexml
titleMockup Schema (XSD)
collapsetrue
<xs:element name="description" type="java.lang.String"/>
  <xml-port-config">
 <xs:complexType>
   <xs:sequence>
    <xs:element name="typeport-id" type="java.lang.String"/xs:string">
  <xml-  <xs:element name="roleconfig-type" type="java.lang.String"/xs:string">
    <xml-<xs:element nameref="ptns:relationship-locationlist"
     type="inventory.aai.onap.org.v14.PLocationminOccurs="0" maxOccurs="1"/>
   </java-attributes>xs:sequence>
 </xs:complexType>
</java-type>xs:element>

<java-type<xs:element name="SiteResourcesport-configs">
 <xml-root-element name="site-resources"/>
 <java-attributes>
  <xml-element name="site-resource" container-type="java.lang.ArrayList"
   type="inventory.aai.onap.org.v14.SiteResource"/>
 </java-attributes>
</java-type><xs:complexType>
   <xs:sequence>
    <xs:element ref="tns:port-config"
     minOccurs="0" maxOccurs="unbounded"/>
   </xs:sequence>
 </xs:complexType>
</xs:element>
Code Block
languagexmljs
titleMockup Schema (XSD)API
collapsetrue
<xsURL:element name="site-resource">
 <xs:complexType>
   <xs:sequence> https://<AAI host>:<AAI port>/aai/v14/network
 /port-configs/port-config/portId
Method: PUT
Request Body:
{
    <xs:element name=""port-id": type="xs:stringportId">,
    <xs"config-type":element name="name" type="xs:string">
"lan or wan",
    "relationship-list": {
       <xs:element name="descriptionrelationship" type="xs:string">
: [
         <xs:element name="type" type="xs:string">   {
    <xs:element name="role" type="xs:string">
            <xs"related-to":element ref="tns:pservice-locationinstance",
      minOccurs="1"/>
         </xs:sequence>
 </xs:complexType>
</xs:element>

<xs:element name="site-resources">
 <xs:complexType>
   <xs:sequence>
    <xs:element ref="tns:site-resource"
 "related-link": "url of service-instance",
                "relationship-data": [
                    minOccurs="0relationship-key": maxOccurs="unbounded"/>"service-instance.service-instance-id",
   </xs:sequence>
 </xs:complexType>
</xs:element>
Code Block
languagejs
titleMockup API
collapsetrue
URL: https://<AAI host>:<AAI port>/aai/v14/network
 /site-resources/site-resource/{id}
Method: PUT
Request Body:
{
    "id": "{id}",
                 "namerelationship-value": "some nameid",
       "description": "some description",
       "type": "some type",]
    "role": "some role",
       "p-location": { }
        "emails": "some email",]
        "address": "some address",
        "postcode": "some postcode",
        "latitude": "some latitude",
        "longitude": "some longitude"
    }
}


AAI-1353-98

psite-locationresource

Notes:

See Figure 3 above.


new element "psite-locationresource" and new element "p-locations ", as sub-component of "site-resourceresources":

Code Block
languagexml
titleMockup Schema (OXM)
collapsetrue
<java-type name="PLocationSiteResource">
 <xml-root-element name="psite-locationresource"/>
 <java-attributes>
  <xml-element name="emailsid" type="java.lang.String"/>
  <xml-element name="postcodename" type="java.lang.String"/>
  <xml-element name="addressdescription" type="java.lang.String"/>
  <xml-element name="latitudetype" type="java.lang.String"/>
  <xml-element name="longituderole" type="java.lang.String"/>
  <xml-element name="relationship-list" 
   type="inventory.aai.onap.org.v14.RelationshipList"/>
  <xml-element name="p-location"
   type="inventory.aai.onap.org.v14.PLocation"/>
 </java-attributes>
</java-type>

<java-type name="PLocationsSiteResources">
 <xml-root-element name="psite-locationsresources"/>
 <java-attributes>
  <xml-element name="psite-locationresource" container-type="java.lang.ArrayList"
   type="inventory.aai.onap.org.v14.PLocationSiteResource"/>
 </java-attributes>
</java-type>
Code Block
languagexml
titleMockup Schema (XSD)
collapsetrue
<xs:element name="psite-locationresource">
 <xs:complexType>
   <xs:sequence>
    <xs:element name="emailsid" type="xs:string">
    <xs:element name="postcodename" type="xs:string">
    <xs:element name="addressdescription" type="xs:string">
    <xs:element name="latitudetype" type="xs:string">
    <xs:element name="longituderole" type="xs:string">
    <xs:element ref="tns:relationship-list"
     minOccurs="0" maxOccurs="1"/>
    <xs:element ref="tns:p-location"
     minOccurs="1"/>
   </xs:sequence>
 </xs:complexType>
</xs:element>

<xs:element name="psite-locationsresources">
 <xs:complexType>
   <xs:sequence>
    <xs:element ref="tns:psite-locationresource"
     minOccurs="0" maxOccurs="unbounded"/>
   </xs:sequence>
 </xs:complexType>
</xs:element>
AAI-1353-10
Code Block
languagejs
titleMockup API
collapsetrue
URL: https://<AAI host>:<AAI port>/aai/v14/network
 /site-resources/site-resource/{id}
Method: PUT
Request Body:
{
    "id": "{id}",
    "name": "some name",
    "description": "some description",
    "type": "some type",
    "role": "some role",
    "relationship-list": {
        "relationship" : [
            {
                "related-to": "service-instance",
                "related-link": "url of service-instance",
                "relationship-data": [
                    "relationship-key": "service-instance.service-instance-id",
                    "relationship-value": "some id"
                ]
            }
        ]
    },
    "p-location": {
        "emails": "some email",
        "address": "some address",
        "postcode": "some postcode",
        "latitude": "some latitude",
        "longitude": "some longitude"
    }
}

AAI-1353-9

p-location

Notes:

See Figure 3 above.


new element "p-location" and new element "p-locations", as sub-component of "site-resource":

Code Block
languagexml
titleMockup Schema (OXM)
collapsetrue
<java-type name="PLocation">
 <xml-root-element name="p-location"/>
 <java-attributes>
  <xml-element name="emails" type="java.lang.String"/>
  <xml-element name="postcode" type="java.lang.String"/>
  <xml-element name="address" type="java.lang.String"/>
  <xml-element name="latitude" type="java.lang.String"/>
  <xml-element name="longitude" type="java.lang.String"/>
 </java-attributes>
</java-type>

<java-type name="PLocations">
 <xml-root-element name="p-locations"/>
 <java-attributes>
  <xml-element name="p-location" container-type="java.lang.ArrayList"
   type="inventory.aai.onap.org.v14.PLocation"/>
 </java-attributes>
</java-type>
Code Block
languagexml
titleMockup Schema (XSD)
collapsetrue
<xs:element name="p-location">
 <xs:complexType>
   <xs:sequence>
    <xs:element name="emails" type="xs:string">
    <xs:element name="postcode" type="xs:string">
    <xs:element name="address" type="xs:string">
    <xs:element name="latitude" type="xs:string">
    <xs:element name="longitude" type="xs:string">
   </xs:sequence>
 </xs:complexType>
</xs:element>

<xs:element name="p-locations">
 <xs:complexType>
   <xs:sequence>
    <xs:element ref="tns:p-location"
     minOccurs="0" maxOccurs="unbounded"/>
   </xs:sequence>
 </xs:complexType>
</xs:element>
AAI-1353-10

topo-network

Notes:

See Figure 4 above.

Proposal for specific new class of "network-resource" objects.


aai_schema_v13.xsd

  • "pnfs"
  • "p-interfaces"
  • "vpn-bindings"

new element "network-resource" and new element "network-resources":

Code Block
languagexml
titleMockup Schema (OXM)
collapsetrue
<java-type name="networkResource">
 <xml-root-element name="network-resource"/>
 <java-attributes>
  <xml-element name="network-id" type="java.lang.String"/>
  <xml-element name="provider-id" type="java.lang.String"/>
  <xml-element name="client-id" type="java.lang.String"/>
  <xml-element name="te-topo-id" type="java.lang.String"/>
  <xml-element name="pnfs"
   type="inventory.aai.onap.org.v14.Pnfs"/>
  <xml-element name="relationship-list" 
   type="inventory.aai.onap.org.v14.RelationshipList"/>
 </java-attributes>
</java-type>


<java-type name="networkResources">
 <xml-root-element name="network-resources"/>
 <java-attributes>
  <xml-element name="network-resource" container-type="java.lang.ArrayList"
   type="inventory.aai.onap.org.v14.NetworkResource"/>
 </java-attributes>
</java-type>
Code Block
languagexml
titleMockup Schema (XSD)
collapsetrue
<xs:element name="network-resource">
 <xs:complexType>
   <xs:sequence>
    <xs:element name="network-id" type="xs:string">
    <xs:element name="provider-id" type="xs:string">
    <xs:element name="client-id" type="xs:string">
    <xs:element name="te-topo-id" type="xs:string">
    <xs:element ref="tns:pnfs"
     minOccurs="0" maxOccurs="1"/>
    <xs:element ref="tns:relationship-list"
     minOccurs="0" maxOccurs="1"/>
   </xs:sequence>
 </xs:complexType>
</xs:element>

<xs:element name="network-resources">
 <xs:complexType>
   <xs:sequence>
    <xs:element ref="tns:network-resource"
     minOccurs="0" maxOccurs="unbounded"/>
   </xs:sequence>
 </xs:complexType>
</xs:element>
Code Block
languagejs
titleMockup API
collapsetrue
URL: https://<AAI host>:<AAI port>/aai/v14/network
 /network-resources/network-resource/{networkId}
Method: PUT
Request Body:
{
    "network-id": "{networkId}",
    "provider-id": "some provider",
    "client-id": "some client",
    "te-topo-id": "some topo",
    "pnfs": {
        "pnf" : [
            {
                "pnf-name": "name 1"
            },
            {
                "pnf-name": "name 2"
            }
        ]
    },
    "relationship-list": {
        "relationship" : [
            {
                "related-to": "vpn-binding",
                "related-link": "url of vpn-binding",
                "relationship-data": [
                    "relationship-key": "vpn-binding.vpn-id",
                    "relationship-value": "some id"
                ]
            }
        ]
    }
}

AAI-1353-11

termination-point

Notes:

See Figure 4 above.

Update existing class of objects.


aai_schema_v13.xsd

  • "p-interface"
  • "vpn-bindings"

add properties to existing object:

Code Block
languagexml
titleMockup Schema (OXM)
collapsetrue
<java-type name="PInterface">
 <xml-root-element name="p-interface"/>
 <java-attributes>
  <xml-element name="network-ref" type="java.lang.String"/>
  <xml-element name="transparent" type="java.lang.String"/>
  <xml-element name="relationship-list" 
   type="inventory.aai.onap.org.v14.RelationshipList"/>
 </java-attributes>
</java-type>

Code Block
languagexml
titleMockup Schema (XSD)
collapsetrue
<xs:element name="p-interface">
 <xs:complexType>
   <xs:sequence>
    <xs:element name="network-ref" type="xs:string">
    <xs:element name="transparent" type="xs:string">
    <xs:element ref="tns:relationship-list"
     minOccurs="0" maxOccurs="1"/>
   </xs:sequence>
 </xs:complexType>
</xs:element>

Code Block
languagejs
titleMockup API
collapsetrue
URL: https://<AAI host>:<AAI port>/aai/v14/network
 /pnfs/pnf/{pnfName}
 /p-interfaces/p-interface/{tp-id}
Method: PUT
Request Body:
{
    "interface-name": "{tp-id}",
    "network-ref": "some network",
    "transparent": "some value",
    "speed-value": "eth bandwidth",
    "relationship-list": {
        "relationship" : [
            {
                "related-to": "vpn-binding",
                "related-link": "url of vpn-binding",
                "relationship-data": [
                    "relationship-key": "vpn-binding.vpn-id",
                    "relationship-value": "some id"
    

topo-network

Notes:

See Figure 4 above.

Proposal for specific new class of "network-resource" objects.

aai_schema_v13.xsd

  • "pnfs"
  • "p-interfaces"
  • "vpn-bindings"

new element "network-resource" and new element "network-resources":

Code Block
languagexml
titleMockup Schema (OXM)
collapsetrue
<java-type name="networkResource">
 <xml-root-element name="network-resource"/>
 <java-attributes>
  <xml-element name="network-id" type="java.lang.String"/>
  <xml-element name="provider-id" type="java.lang.String"/>
  <xml-element name="client-id" type="java.lang.String"/>
  <xml-element name="te-topo-id" type="java.lang.String"/>
  <xml-element name="pnfs"
   type="inventory.aai.onap.org.v14.Pnfs"/>
  <xml-element name="vpn-bindings"
   type="inventory.aai.onap.org.v14.VpnBindings"/>
 </java-attributes>
</java-type>


<java-type name="networkResources">
 <xml-root-element name="network-resources"/>
 <java-attributes>
  <xml-element name="network-resource" container-type="java.lang.ArrayList"
   type="inventory.aai.onap.org.v14.NetworkResource"/>
 </java-attributes>
</java-type>
Code Block
languagexml
titleMockup Schema (XSD)
collapsetrue
<xs:element name="network-resource">
 <xs:complexType>
   <xs:sequence>
    <xs:element name="network-id" type="xs:string">
    <xs:element name="provider-id" type="xs:string">
    <xs:element name="client-id" type="xs:string">
    <xs:element name="te-topo-id" type="xs:string">
    <xs:element ref="tns:pnfs"
     minOccurs="1" maxOccurs="unbounded"/>
    <xs:element ref="tns:vpn-bindings"
     minOccurs="1" maxOccurs="unbounded"/>
   </xs:sequence>
 </xs:complexType>
</xs:element>

<xs:element name="network-resources">
 <xs:complexType>
   <xs:sequence>
    <xs:element ref="tns:network-resource"
     minOccurs="0" maxOccurs="unbounded"/>
   </xs:sequence>
 </xs:complexType>
</xs:element>
Code Block
languagejs
titleMockup API
collapsetrue
URL: https://<AAI host>:<AAI port>/aai/v14/network
 /network-resources/network-resource/{networkId}
Method: PUT
Request Body:
{
    "network-id": "{networkId}",
    "provider-id": "some provider",
    "client-id": "some client",
    "te-topo-id": "some topo",
    "pnfs": {
        "pnf" : [
            {
                "pnf-name": "name 1"
            },
            {
                "pnf-name": "name 2"
            }
        ]
    },
    "vpn-bindings": {
        "vpn-binding" : [
            {
                "vpn-id": "vpn id 1"
            },]
            {}
        ]
    }
}
AAI-1353-12

cross-domain link

Notes:

See Figures 5, 6, 7, 8 and 9 above.

Record information in AAI that crosses between ONAP Domain 1 and ONAP Domain 2


Update existing entry points to graph for new proposed elements "external-aai-list" and "external-aai":

Code Block
languagexml
titleMockup Schema (OXM)
collapsetrue
<java-type name="ExtAaiNetworks">
    "vpn-id": "vpn id 2"<xml-root-element name="ext-aai-networks" />
    <java-attributes>
        }<xml-element name="ext-aai-network"
        ]
    }
}

AAI-1353-11

termination-point

Notes:

See Figure 4 above.

Update existing class of objects.

aai_schema_v13.xsd

  • "p-interface"
  • "vpn-bindings"

add properties to existing object:

Code Block
languagexml
titleMockup Schema (OXM)
collapsetrue
type="inventory.aai.onap.org.v14.ExtAaiNetwork" />
    </java-attributes>
</java-type>

<java-type name="PInterfaceExtAaiNetwork">
  <xml-root-element name="pext-aai-interfacenetwork" />
 <java-attributes>
  <java-attributes>
    <xml-element name="aai-id" type="java.lang.String"
      required="true" xml-key="true">
    <xml-element name="schema-version" type="java.lang.String">
    <xml-element name="networkesr-system-ref"info"
      type="java.lang.String"inventory.aai.onap.org.v14.EsrSystemInfo" />
    <xml-element name="transparentlogical-links"
      type="java.lang.String"inventory.aai.onap.org.v14.LogicalLinks" />
    <xml-element name="vpn-bindings"
      type="inventory.aai.onap.org.v14.VpnBindings" />
 </java-attributes>
</java-type>

Code Block
languagexml
titleMockup Schema (XSD)
collapsetrue
<xs:    <xml-element name="pnfs"
      type="inventory.aai.onap.org.v14.Pnfs" />

    <xml-element name="p-interfaceconnectivities">
   <xs:complexType>
   <xs:sequence>type="inventory.aai.onap.org.v14.Connectivities" />
    <xs:<xml-element name="networkport-refconfigs"
      type="xs:string"inventory.aai.onap.org.v14.PortConfigs" />
    <xs:<xml-element name="transparentnetwork-resources" type="xs:string">

     <xs:element ref="tns:vpn-bindings"type="inventory.aai.onap.org.v14.NetworkResources" />
    <xml-element minOccursname="0" maxOccurs="unbounded"/>site-resources"
   </xs:sequence>
 </xs:complexType>
</xs:element>

Code Block
languagejs
titleMockup API
collapsetrue
URL: https://<AAI host>:<AAI port>/aai/v14/network
 /pnfs/pnf/{pnfName}
 /p-interfaces/p-interface/{tp-id}
Method: PUT
Request Body:
{ type="inventory.aai.onap.org.v14.SiteResources" />
    "interface<xml-element name=": "{tp-id}",sdwan-vpns"
    "network-ref": "some network", type="inventory.aai.onap.org.v14.SdwanVpns"/>
    "transparent": "some value",<xml-element name="devices"
    "speed-value": "eth bandwidth",
    "vpn-bindings": {
        "vpn-binding" : [
            {
                "vpn-id": "vpn id 1"
            },
            {
                "vpn-id": "vpn id 2"
            }
        ]
    }
}
AAI-1353-12

cross-domain link

Notes:

See Figures 5, 6, 7, 8 and 9 above.

Record information in AAI that crosses between ONAP Domain 1 and ONAP Domain 2

Update existing entry points to graph for new proposed elements "external-aai-list" and "external-aai":

Code Block
languagexml
titleMockup Schema (OXM)
collapsetrue
<java-type name="ExtAaiNetworks"> <xml-root-element name="ext-aai-networks" /> <java-attributes> <xml-element name="ext-aai-network" type="inventory.aai.onap.org.v14.ExtAaiNetwork" /> </java-attributes> </java
 type="inventory.aai.onap.org.v14.Devices"/>
  </java-attributes>
</java-type>

Code Block
languagexml
titleMockup Schema (XSD)
collapsetrue
<xs:element name="ext-aai-networks">
 <xs:complexType>
   <xs:sequence>
    <xs:element ref="tns:ext-aai-network"
     minOccurs="0" maxOccurs="unbounded"/>
   </xs:sequence>
 </xs:complexType>
</xs:element>

<xs:element name="ext-aai-network">
 <xs:complexType>
   <xs:sequence>
    <xs:element name="aai-id" type="xs:string">
    <xs:element name="schema-version" type="xs:string">
    <xs:element ref="tns:esr-system-info"/>
    <xs:element ref="tns:logical-links"/>
    <xs:element ref="tns:vpn-bindings"/>
    <xs:element ref="tns:pnfs"/>

    <xs:element ref="tns:connectivities"/>
    <xs:element ref="tns:port-configs"/>
    <xs:element ref="tns:network-resources"/>
    <xs:element ref="tns:site-resources"/>
    <xs:element ref="tns:sdwan-vpns"/>
    <xs:element ref="tns:devices"/>
   </xs:sequence>
 </xs:complexType>
</xs:element>
AAI-1353-13

SDWAN VPN

Notes:

See Figure 10 above.

Proposal for specific new class of "sdwan-vpn" objects.

aai_schema_v13.xsd

  • "service-instance"

new element "sdwan-vpn" and new element "sdwan-vpns":

Code Block
languagexml
titleMockup Schema (OXM)
collapsetrue
<java-type name="SdwanVpn">
-type> <java-type name="ExtAaiNetwork">
 <xml-root-element name="
ext
sdwan-
aai-network
vpn"
/>
 
<java-attributes>
  
<xml-element name="
aai-
id" type="java.lang.String"/>
  
required
<xml-element name="
true
name" 
xml-key
type="
true
java.lang.String"/>
  <xml-element name="
schema
vxlan-
version
id" type="java.lang.String"/>
  <xml-element name="
esr-system-info-list"
topology" type="
inventory
java.
aai.onap.org.v14.EsrSystemInfoList"
lang.String"/>
  <xml-element name="
logical
relationship-
links
list" 
   type="inventory.aai.onap.org.v14.
LogicalLinks
RelationshipList"
/>
 
<xml-element
</java-attributes>
</java-type>

<java-type name="
vpn-bindings
SdwanVpns">
 
type="inventory.aai.onap.org.v14.VpnBindings"
<xml-root-element name="sdwan-vpns"/>
 
<java-attributes>
  <xml-element name="sdwan-vpn" container-type="
pnfs
java.lang.ArrayList"
   
type="inventory.aai.onap.org.v14.
Pnfs
SdwanVpn"
/>
<xml-
 </java-attributes>
</java-type>

Code Block
languagexml
titleMockup Schema (XSD)
collapsetrue
<xs:element name="
connectivities
sdwan-vpn">
 <xs:complexType>
   
type="inventory.aai.onap.org.v14.Connectivities" />
<xs:sequence>
    
<xml-
<xs:element name="
port-configs
id"
type="inventory.aai.onap.org.v14.PortConfigs" /
 type="xs:string" minOccurs="1">
    
<xml-
<xs:element name="
network-resources
name"
 
type="
inventory.aai.onap.org.v14.NetworkResources" /
xs:string">
    
<xml-
<xs:element name="
site
vxlan-
resources
id"
 
type="
inventory.aai.onap.org.v14.SiteResources" /
xs:string">
    
<xml-
<xs:element name="
sdwan-vpns"
topology" type="
inventory.aai.onap.org.v14.SdwanVpns"/
xs:string">
    
<xml-
<xs:element 
name
ref="
devices
tns:relationship-list"
     minOccurs="0" 
type
maxOccurs="
inventory.aai.onap.org.v14.Devices
1"/>
   </
java-attributes>
xs:sequence>
 </xs:complexType>
</
java-type> Code Block
languagexml
titleMockup Schema (XSD)
collapsetrue
xs:element>

<xs:element name="
ext
sdwan-
aai-networks
vpns">
 <xs:complexType>
   <xs:sequence>
    <xs:element ref="tns:
ext
sdwan-
aai-network
vpn"
     minOccurs="0" maxOccurs="unbounded"/>
   </xs:sequence>
 </xs:complexType>
</xs:element>
<xs:element name="ext-aai-network"> <xs:complexType> <xs:sequence> <xs:element name="aai-id" type="xs:string"> <xs:element name="schema-version" type="xs:string"> <xs:element ref="tns:esr-system-info-list"/> <xs:element ref="tns:logical-links"/> <xs:element ref="tns:vpn-bindings"/> <xs:element ref="tns:pnfs"/> <xs:element ref="tns:connectivities"/> <xs:element ref="tns:port-configs"/> <xs:element ref="tns:network-resources"/> <xs:element ref="tns:site-resources"/> <xs:element ref="tns:sdwan-vpns"/> <xs:element ref="tns:devices"/> </xs:sequence> </xs:complexType> </xs:element> AAI-1353-13

SDWAN VPN

Notes:

See Figure 10 above.

Proposal for specific new class of "sdwan-vpn" objects.

aai_schema_v13.xsd

  • "service-instance"

new element "sdwan-vpn" and new element "sdwan-vpns":

Code Block
languagexml
titleMockup Schema (OXM)
collapsetrue
Code Block
languagejs
titleMockup API
collapsetrue
URL: https://<AAI host>:<AAI port>/aai/v14/network
 /sdwan-vpns/sdwan-vpn/{id}
Method: PUT
Request Body:
{
    "id": "{id}",
    "name": "a name",
    "vxlan-id": "an id",
    "topology": "topology value",
    "relationship-list": {
        "relationship" : [
            {
                "related-to": "service-instance",
                "related-link": "url of service-instance",
                "relationship-data": [
                    "relationship-key": "service-instance.service-instance-id",
                    "relationship-value": "some id"
                ]
            }
        ]
    }
}
AAI-1353-14

SDWAN Device

Notes:

Proposal for specific new class of "device" objects.



new element "device" and new element "devices":

<java-type name="SdwanVpn"> <xml-root-element name="sdwan-vpn"/> <java-attributes> <xml-element name="id" type="java.lang.String"/> <xml-element name="name" type="java.lang.String"/> <xml-element name="vxlan-id" type="java.lang.String"/> <xml-element name="topology" type="java.lang.String"/> <xml-element name="service-instance" type="inventory.aai.onap.org.v14.ServiceInstance"/> </java-attributes> </java-type> <java-type name="SdwanVpns"> <xml-root-element name="sdwan-vpns"/> <java-attributes> <xml-element name="sdwan-vpn" container-type="java.lang.ArrayList" type="inventory.aai.onap.org.v14.SdwanVpn"/> </java-attributes> </java-type>

Code Block
languagexml
titleMockup Schema (
XSD
OXM)
collapsetrue
<xs:element
<java-type name="
sdwan-vpn
Device">
 
<xs:complexType> <xs:sequence> <xs:
<xml-root-element name="device"/>
 <java-attributes>
  <xml-element name="id" type=
"xs:string" minOccurs="1"
"java.lang.String"/>
  <xml-element name="esn" type="java.lang.String"/>
  
<xs:
<xml-element name="name" type="
xs:string"
java.lang.String"/>
  
<xs:
<xml-element name="
vxlan-id
description" type="
xs:string"
java.lang.String"/>
  
<xs:
<xml-element name="
topology
vendor" type="
xs:string"
java.lang.String"/>
  <xml-element 
<xs:element ref="tns:service-instance" minOccurs="0" maxOccurs="1
name="class" type="java.lang.String"/>
  <xml-element name="type" type="java.lang.String"/>
  
</xs:sequence> </xs:complexType> </xs:element> <xs:
<xml-element name="
sdwan-vpns
version"
> <xs:complexType> <xs:sequence> <xs:element ref="tns:sdwan-vpn" minOccurs="0" maxOccurs="unbounded
 type="java.lang.String"/>
  <xml-element name="system-ip" type="java.lang.String"/>
  
</xs:sequence> </xs:complexType> </xs:element>
<xml-element name="relationship-list" 
   type="inventory.aai.onap.org.v14.RelationshipList"/>
 </java-attributes>
</java-type>

<java-type name="Devices">
 <xml-root-element name="devices"/>
 <java-attributes>
  <xml-element name="device" container-type="java.lang.ArrayList"
   type="inventory.aai.onap.org.v14.Device"/>
 </java-attributes>
</java-type>

Code Block
languagexml
titleMockup Schema (XSD)
collapsetrue
<xs:element name="device">
 <xs:complexType>
   <xs:sequence>
    <xs:element name="id" type="xs:string" minOccurs="1">
    <xs:element name="esn" type="xs:string">
    <xs:element name="name" type="xs:string">
    <xs:element name="description" type="xs:string">
    <xs:element name="vendor" type="xs:string">
    <xs:element name="class" type="xs:string">
    <xs:element name="type" type="xs:string">
    <xs:element name="version" type="xs:string">
    <xs:element name="system-ip" type="xs:string">
    <xs:element ref="tns:relationship-list"
     minOccurs="0" maxOccurs="1"/>
   </xs:sequence>
 </xs:complexType>
</xs:element>

<xs:element name="devices">
 <xs:complexType>
   <xs:sequence>
    <xs:element ref="tns:device"
     minOccurs="0" maxOccurs="unbounded"/>
   </xs:sequence>
 </xs:complexType>
</xs:element>
Code Block
languagejs
titleMockup API
collapsetrue
URL: https://<AAI host>:<AAI port>/aai/v14/network
 /devices/device/{id}
Method: PUT
Request Body:
{
    "id": "{id}",
    "esn": "an esn",
    "name": "a name",
    "description": "a description",
    "vendor": "vendor value",
    "class": "a class",
    "type": "a type",
    "version": "version value",
    "system-ip": "ip value",
    "relationship-list": {
        "relationship" : [
            {
                "related-to": "service-instance",
                "related-link": "url of service-instance",
                "relationship-data": [
                    "relationship-key": "service-instance.service-instance-id",
                    "relationship-value": "some id"
                ]
            }
        ]
    }
Code Block
languagejs
titleMockup API
collapsetrue
URL: https://<AAI host>:<AAI port>/aai/v14/network
 /sdwan-vpns/sdwan-vpn/{id}
Method: PUT
Request Body:
{
    "id": "{id}",
    "name": "a name",
    "vxlan-id": "an id",
    "topology": "topology value",
    "service-instance": {
        "service-instance-id" : "instance id"
    }
}
AAI-1353-14

SDWAN Device

Notes:

Proposal for specific new class of "device" objects.

new element "device" and new element "devices":

Code Block
languagexml
titleMockup Schema (OXM)
collapsetrue
<java-type name="Device">
 <xml-root-element name="device"/>
 <java-attributes>
  <xml-element name="id" type="java.lang.String"/>
  <xml-element name="esn" type="java.lang.String"/>
  <xml-element name="name" type="java.lang.String"/>
  <xml-element name="description" type="java.lang.String"/>
  <xml-element name="vendor" type="java.lang.String"/>
  <xml-element name="class" type="java.lang.String"/>
  <xml-element name="type" type="java.lang.String"/>
  <xml-element name="version" type="java.lang.String"/>
  <xml-element name="system-ip" type="java.lang.String"/>
 </java-attributes>
</java-type>

<java-type name="Devices">
 <xml-root-element name="devices"/>
 <java-attributes>
  <xml-element name="device" container-type="java.lang.ArrayList"
   type="inventory.aai.onap.org.v14.Device"/>
 </java-attributes>
</java-type>

Code Block
languagexml
titleMockup Schema (XSD)
collapsetrue
<xs:element name="device">
 <xs:complexType>
   <xs:sequence>
    <xs:element name="id" type="xs:string" minOccurs="1">
    <xs:element name="esn" type="xs:string">
    <xs:element name="name" type="xs:string">
    <xs:element name="description" type="xs:string">
    <xs:element name="vendor" type="xs:string">
    <xs:element name="class" type="xs:string">
    <xs:element name="type" type="xs:string">
    <xs:element name="version" type="xs:string">
    <xs:element name="system-ip" type="xs:string">
   </xs:sequence>
 </xs:complexType>
</xs:element>

<xs:element name="devices">
 <xs:complexType>
   <xs:sequence>
    <xs:element ref="tns:device"
     minOccurs="0" maxOccurs="unbounded"/>
   </xs:sequence>
 </xs:complexType>
</xs:element>
Code Block
languagejs
titleMockup API
collapsetrue
URL: https://<AAI host>:<AAI port>/aai/v14/network
 /devices/device/{id}
Method: PUT
Request Body:
{
    "id": "{id}",
    "esn": "an esn",
    "name": "a name",
    "description": "a description",
    "vendor": "vendor value",
    "class": "a class",
    "type": "a type",
    "version": "version value",
    "system-ip": "ip value"
}