Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Section


Column

References

...


Column

Attention to

...

...


Diagrams

Section


Column

Figure 1: Figure 1 - CCVPN model based on Beijiing releaseImage Added

Figure 3: Figure 3 - Site-Service diagramImage Added

Figure 5: Figure 5 - Cross-Domain ONAP diagramImage Added

Figure 7: Figure 7 - Intra-Domain p-interface linkImage Added

Figure 9: Figure 9 - Cross-Domain p-interface link primary 3rd partyImage Added


Column

Figure 2: Figure 2 - SOTN Connectivity diagramImage Added

Figure 4: Figure 4 - Topology diagramImage Added

Figure 6: Figure 6 - Cross-domain link diagramImage Added

Figure 8: Figure 8 - Cross-Domain p-interface link peerImage Added

Figure 10: Figure 10 - SDWAN vpn diagramImage Added



Proposal

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

aai_schema_v13.xsd

  • "network"
  • "business"

Update existing "network" and "business" 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="lan-port-configs"
   type="inventory.aai.onap.org.v14.LanPortConfigs"/>
  <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="sdwan-vpns"
   type="inventory.aai.onap.org.v14.SdwanVpns"/>
  <xml-element name="devices"
   type="inventory.aai.onap.org.v14.Devices"/>
  <xml-element name="wan-port-configs"
   type="inventory.aai.onap.org.v14.WanPortConfigs"/>
  <xml-element name="ext-aai-networks"
   type="inventory.aai.onap.org.v14.ExtAaiNetworks"/>
 </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>


AAI-1353-
1
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 "service-instance" object:

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


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",
    input-parameters: "request parameters"
}


AAI-1353-
2
3

SOTN Connectivity

Notes:

See Figure 2 above.

Proposal for specific new class of "connectivity" objects.

aai_schema_v13.xsd

  • "
extra-properties"
  • "relationship-list"
  • "vpn-bindings"
  • new element "connectivity", with 10-12 properties and 1-2 relationships
    • service-instance"
    • "vpn-bindings"

    new element "connectivity" 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" type="java.lang.String"/>
      <xml-element name="operational-status" type="java.lang.String"/>
      <xml-element name="model-customization-id" type="java.lang.String"/>
      <xml-element name="model-version-id" type="java.lang.String"/>
      <xml-element name="model-invariant-id" type="java.lang.String"/>
      <xml-element name="relationship-list" 
       type="inventory.aai.onap.org.v14.RelationshipList"/>
     </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
    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": "some tag",
        "operational-status": "some status",
        "model-customization-id": "some customization",
        "model-version-id": "some version",
        "model-invariant-id": "some invariant",
        "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"
                    ]
                },
                {
                    "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 "vpn-binding" object:

    Code Block
    languagexml
    titleMockup Schema
    <xs:element name="connectivity"> <xs:complexType> <xs:sequence> <xs:element ref="tns:extra-properties" minOccurs="0
    (OXM)
    collapsetrue
    <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"/>
      <xml-element 
    <xs:element ref="tns:relationship-list" minOccurs="0"/> <xs:element ref="tns:vpn-bindings" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element>
    name="operational-status" type="java.lang.String"/>
      <xml-element name="model-customization-id" type="java.lang.String"/>
      <xml-element name="model-version-id" type="java.lang.String"/>
      <xml-element name="model-invariant-id" type="java.lang.String"/>
     </java-attributes>
    </java-type>
    
    


    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",
        "operational-status": "some status",
        "model-customization-id": "some customization",
        "model-version-id": "some version",
        "model-invariant-id": "some invariant"
    }
    
    


    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="sp-partner-id" type="java.lang.String"/>
      <xml-element name="url" type="java.lang.String"/>
      <xml-element name="callsource" type="java.lang.String"/>
      <xml-element name="relationship-list" 
       type="inventory.aai.onap.org.v14.RelationshipList"/>
     </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
    languagejs
    titleMockup API
    collapsetrue
    URL: https://<AAI host>:<AAI port>/aai/v14/business
     /sp-partners/sp-partner/partnerId
    Method: PUT
    Request Body:
    {
        "sp-partner-id": "partnerId",
        "url": "partner url",
        "callsource": "some source",
        "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"

    add properties to existing "allotted-resource" object:

    Code Block
    languagexml
    titleMockup Schema (OXM)
    collapsetrue
    <java-type name="AllottedResource">
     <xml-root-element name="allotted-resource"/>
     <java-attributes>
      <xml-element name="allotted-resource-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"/>
      <xml-element name="vpn-name" type="java.lang.String"/>
     </java-attributes>
    </java-type>
    
    


    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:
    {
        "allotted-resource-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": "some tag",
        "vpn-name": "some name"
    }
    


    AAI-1353-7

    LAN port config

    Notes:

    See Figure 3 above.

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

    tbcAAI-1353-3VPN

    aai_schema_v13.xsd

    • "vpn-binding"
    tbcAAI-1353-4SP Partner


    aai_schema_v13.xsd

    • "service-instances"

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

    Code Block
    languagexml
    titleMockup Schema (OXM)
    collapsetrue
    <java-type name="LanPortConfig">
     <xml-root-element name="lan-port-config"/>
     <java-attributes>
      <xml-element name="lan-port-config-id" type="java.lang.String"/>
      <xml-element name="lan-port-config-name" type="java.lang.String"/>
      <xml-element name="description" type="java.lang.String"/>
      <xml-element name="device-id" type="java.lang.String"/>
      <xml-element name="port-id" type="java.lang.String"/>
      <xml-element name="ip-address" type="java.lang.String"/>
      <xml-element name="vlan-tag" type="java.lang.String"/>
      <xml-element name="input-bandwidth" type="java.lang.String"/>
      <xml-element name="output-bandwidth" type="java.lang.String"/>
      <xml-element name="dhcp-services" 
       type="inventory.aai.onap.org.v14.DhcpServices"/>
      <xml-element name="relationship-list" 
       type="inventory.aai.onap.org.v14.RelationshipList"/>
     </java-attributes>
    </java-type>
    
    <java-type name="LanPortConfigs">
     <xml-root-element name="lan-port-configs"/>
     <java-attributes>
      <xml-element name="lan-port-config" container-type="java.lang.ArrayList"
       type="inventory.aai.onap.org.v14.LanPortConfigs"/>
     </java-attributes>
    </java-type>


    Code Block
    languagejs
    titleMockup API
    collapsetrue
    URL: https://<AAI host>:<AAI port>/aai/v14/network
     /lan-port-configs/lan-port-config/id
    Method: PUT
    Request Body:
    {
        "lan-port-config-id": "id",
        "lan-port-config-name": "some name",
        "description": "some description",
        "device-id": "some device",
        "port-id": "some port",
        "ip-address": "some address",
        "vlan-tag": "some tag",
        "input-bandwidth": "some input",
        "output-bandwidth": "some output",
        "dhcp-services": {
            "dhcp-service": [
                {
                    "service-enable": "some enable",
                    "dhcp-service-type": "some service",
                    "lease-time": "some time",
                    "domain-name": "some domain",
                    "dns": "some dns",
                    "ntp-primary": "some ntp",
                    "ntp-secondary": "some secondary",
                    "nbns": "some nbns",
                    "server-ip-address": "some server"
                }
            ]
        },
        "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-7bdhcp-service

    new element "dhcp-service

    -provider

    " and new element "dhcp-service

    -providers

    s", as sub-component of "lan-port-config":

    Code Block
    languagexml
    titleMockup Schema
    <xs:element name="service-provider">
     <xs:complexType>
       <xs:sequence>
        <xs:element name="id" type="xs:string">
        <xs:element name="url" type="xs:string">
        <xs:element ref="tns:relationship-list" minOccurs="0"/>
       </xs:sequence>
     </xs:complexType>
    </xs:element>
    
    <xs:element name="service-providers">
     <xs:complexType>
       <xs:sequence>
        <xs:element ref="service-provider" minOccurs="0"/>
       </xs:sequence>
     </xs:complexType>
    </xs:element>
    (OXM)
    collapsetrue
    <java-type name="DhcpService">
     <xml-root-element name="dhcp-service"/>
     <java-attributes>
      <xml-element name="service-enable" type="java.lang.String"/>
      <xml-element name="dhcp-service-type" type="java.lang.String"/>
      <xml-element name="lease-time" type="java.lang.String"/>
      <xml-element name="domain-name" type="java.lang.String"/>
      <xml-element name="dns" type="java.lang.String"/>
      <xml-element name="ntp-primary" type="java.lang.String"/>
      <xml-element name="ntp-secondary" type="java.lang.String"/>
      <xml-element name="nbns" type="java.lang.String"/>
      <xml-element name="server-ip-address" type="java.lang.String"/>
      <xml-element name="relationship-list" 
       type="inventory.aai.onap.org.v14.RelationshipList"/>
     </java-attributes>
    </java-type>
    
    <java-type name="DhcpServices">
     <xml-root-element name="dhcp-services"/>
     <java-attributes>
      <xml-element name="dhcp-service" container-type="java.lang.ArrayList"
       type="inventory.aai.onap.org.v14.DhcpService"/>
     </java-attributes>
    </java-type>


    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="SiteResource">
     <xml-root-element name="site-resource"/>
     <java-attributes>
      <xml-element name="site-resource-id" type="java.lang.String"/>
      <xml-element name="site-resource-name" type="java.lang.String"/>
      <xml-element name="description" type="java.lang.String"/>
      <xml-element name="type" type="java.lang.String"/>
      <xml-element name="role" type="java.lang.String"/>
      <xml-element name="generated-site-id" type="java.lang.String"/>
      <xml-element name="selflink" type="java.lang.String"/>
      <xml-element name="operational-status" type="java.lang.String"/>
      <xml-element name="model-customization-id" type="java.lang.String"/>
      <xml-element name="model-version-id" type="java.lang.String"/>
      <xml-element name="model-invariant-id" type="java.lang.String"/>
      <xml-element name="relationship-list" 
       type="inventory.aai.onap.org.v14.RelationshipList"/>
     </java-attributes>
    </java-type>
    
    <java-type name="SiteResources">
     <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>


    Code Block
    languagejs
    titleMockup API
    collapsetrue
    URL: https://<AAI host>:<AAI port>/aai/v14/network
     /site-resources/site-resource/{id}
    Method: PUT
    Request Body:
    {
        "site-resource-id": "{id}",
        "site-resource-name": "some name",
        "description": "some description",
        "type": "some type",
        "role": "some role",
        "generated-site-id": "some id",
        "selflink": "some URL",
        "operational-status": "some status",
        "model-customization-id": "some customization",
        "model-version-id": "some version",
        "model-invariant-id": "some invariant",
        "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"
                    ]
                },
                {
                    "related-to": "complex",
                    "related-link": "url of complex",
                    "relationship-data": [
                        "relationship-key": "complex.physical-location-id",
                        "relationship-value": "some id"
                    ]
                }
            ]
        }
    }
    
    


    AAI-1353-9

    physical location

    Notes:

    See Figure 3 above.

    aai_schema_v13.xsd

    • "complex"

    use existing element "complex" to represent "physical location".


    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="selflink" 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
    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",
        "selflink": "some URL",
        "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 "p-interface" 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="operational-status" 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
     /pnfs/pnf/{pnfName}
     /p-interfaces/p-interface/{tp-id}
    Method: PUT
    Request Body:
    {
        "interface-name": "{tp-id}",
        "network-ref": "some network",
        "transparent": "some value",
        "operational-status": "some oper",
        "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"
                    ]
                }
            ]
        }
    }
    


    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


    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>
    
    <java-type name="ExtAaiNetwork">
      <xml-root-element name="ext-aai-network" />
      <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="esr-system-info"
          type="inventory.aai.onap.org.v14.EsrSystemInfo" />
        <xml-element name="logical-links"
          type="inventory.aai.onap.org.v14.LogicalLinks" />
        <xml-element name="vpn-bindings"
          type="inventory.aai.onap.org.v14.VpnBindings" />
        <xml-element name="pnfs"
          type="inventory.aai.onap.org.v14.Pnfs" />
    
        <xml-element name="connectivities"
          type="inventory.aai.onap.org.v14.Connectivities" />
        <xml-element name="lan-port-configs"
          type="inventory.aai.onap.org.v14.LanPortConfigs" />
        <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="sdwan-vpns"
         type="inventory.aai.onap.org.v14.SdwanVpns"/>
        <xml-element name="devices"
         type="inventory.aai.onap.org.v14.Devices"/>
        <xml-element name="wan-port-configs"
          type="inventory.aai.onap.org.v14.WanPortConfigs" />
      </java-attributes>
    </java-type>
    
    


    Code Block
    languagejs
    titleMockup API
    collapsetrue
    URL: https://<AAI host>:<AAI port>/aai/v14/network
     /ext-aai-networks/ext-aai-network/{aaiId}
     /p-interfaces/p-interface/{tp-id}
    Method: PUT
    Request Body:
    {
        "aai-id-name": "{aaiId}",
        "schema-version": "some version",
        "esr-system-info": {
            "esr-system-info-id": "some id",
            "system-name": "some name"
        }
    }
    


    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">
     <xml-root-element name="sdwan-vpn"/>
     <java-attributes>
      <xml-element name="sdwan-vpn-id" type="java.lang.String"/>
      <xml-element name="sdwan-vpn-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="tenant-id" type="java.lang.String"/>
      <xml-element name="vpn-id" type="java.lang.String"/>
      <xml-element name="selflink" type="java.lang.String"/>
      <xml-element name="operational-status" type="java.lang.String"/>
      <xml-element name="model-customization-id" type="java.lang.String"/>
      <xml-element name="model-version-id" type="java.lang.String"/>
      <xml-element name="model-invariant-id" type="java.lang.String"/>
      <xml-element name="relationship-list" 
       type="inventory.aai.onap.org.v14.RelationshipList"/>
     </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
    languagejs
    titleMockup API
    collapsetrue
    URL: https://<AAI host>:<AAI port>/aai/v14/network
     /sdwan-vpns/sdwan-vpn/{id}
    Method: PUT
    Request Body:
    {
        "sdwan-vpn-id": "{id}",
        "sdwan-vpn-name": "a name",
        "vxlan-id": "an id",
        "topology": "topology value",
        "tenant-id": "tenant value",
        "vpn-id": "vpn value",
        "selflink": "some URL",
        "operational-status": "some status",
        "model-customization-id": "some customization",
        "model-version-id": "some version",
        "model-invariant-id": "some invariant",
        "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":

    Code Block
    languagexml
    titleMockup Schema (OXM)
    collapsetrue
    <java-type name="Device">
     <xml-root-element name="device"/>
     <java-attributes>
      <xml-element name="device-id" type="java.lang.String"/>
      <xml-element name="esn" type="java.lang.String"/>
      <xml-element name="device-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"/>
      <xml-element name="selflink" type="java.lang.String"/>
      <xml-element name="operational-status" type="java.lang.String"/>
      <xml-element name="model-customization-id" type="java.lang.String"/>
      <xml-element name="model-version-id" type="java.lang.String"/>
      <xml-element name="model-invariant-id" type="java.lang.String"/>
      <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
    languagejs
    titleMockup API
    collapsetrue
    URL: https://<AAI host>:<AAI port>/aai/v14/network
     /devices/device/{id}
    Method: PUT
    Request Body:
    {
        "device-id": "{id}",
        "esn": "an esn",
        "device-name": "a name",
        "description": "a description",
        "vendor": "vendor value",
        "class": "a class",
        "type": "a type",
        "version": "version value",
        "system-ip": "ip value",
        "selflink": "some URL",
        "operational-status": "some status",
        "model-customization-id": "some customization",
        "model-version-id": "some version",
        "model-invariant-id": "some invariant",
        "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-15

    SDWAN Port

    Notes:

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


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

    Code Block
    languagexml
    titleMockup Schema (OXM)
    collapsetrue
    <java-type name="WanPortConfig">
     <xml-root-element name="wan-port-config"/>
     <java-attributes>
      <xml-element name="wan-port-config-id" type="java.lang.String"/>
      <xml-element name="wan-port-config-name" type="java.lang.String"/>
      <xml-element name="device-id" type="java.lang.String"/>
      <xml-element name="vlan-id" type="java.lang.String"/>
      <xml-element name="ip-address" type="java.lang.String"/>
      <xml-element name="provider-ip-address" type="java.lang.String"/>
      <xml-element name="input-bandwidth" type="java.lang.String"/>
      <xml-element name="output-bandwidth" type="java.lang.String"/>
      <xml-element name="description" type="java.lang.String"/>
      <xml-element name="port-type" type="java.lang.String"/>
      <xml-element name="port-number" type="java.lang.String"/>
      <xml-element name="transport-network-name" type="java.lang.String"/>
      <xml-element name="device-port-id" type="java.lang.String"/>
      <xml-element name="wan-port-id" type="java.lang.String"/>
      <xml-element name="selflink" type="java.lang.String"/>
      <xml-element name="operational-status" type="java.lang.String"/>
      <xml-element name="model-customization-id" type="java.lang.String"/>
      <xml-element name="model-version-id" type="java.lang.String"/>
      <xml-element name="model-invariant-id" type="java.lang.String"/>
      <xml-element name="relationship-list" 
       type="inventory.aai.onap.org.v14.RelationshipList"/>
     </java-attributes>
    </java-type>
    
    <java-type name="WanPortConfigs">
     <xml-root-element name="wan-port-configs"/>
     <java-attributes>
      <xml-element name="wan-port-config" container-type="java.lang.ArrayList"
       type="inventory.aai.onap.org.v14.WanPortConfig"/>
     </java-attributes>
    </java-type>
    
    


    Code Block
    languagejs
    titleMockup API
    collapsetrue
    URL: https://<AAI host>:<AAI port>/aai/v14/network
     /wan-port-configs/wan-port-config/{id}
    Method: PUT
    Request Body:
    {
        "wan-port-config-id": "{id}",
        "wan-port-config-name": "a name",
        "device-id": "id value",
        "vlan-id": "vlan value",
        "ip-address": "ip value",
        "provider-ip-address": "provider ip value",
        "input-bandwidth": "bandwidth value",
        "output-bandwidth": "bandwidth value",
        "description": "a description",
        "port-type": "type value",
        "port-number": "number value",
        "transport-network-name": "name value",
        "device-port-id": "id value",
        "wan-port-id": "id value",
        "selflink": "some URL",
        "operational-status": "some status",
        "model-customization-id": "some customization",
        "model-version-id": "some version",
        "model-invariant-id": "some invariant",
        "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-16pnf

    aai_schema_v13.xsd

    • "pnf"

    add properties to existing "pnf" object:

    Code Block
    languagexml
    titleMockup Schema (OXM)
    collapsetrue
    <java-type name="Pnf">
     <xml-root-element name="pnf"/>
     <java-attributes>
      <xml-element name="admin-status" type="java.lang.String"/>
      <xml-element name="operational-status" type="java.lang.String"/>
      <xml-element name="model-customization-id" type="java.lang.String"/>
      <xml-element name="model-version-id" type="java.lang.String"/>
      <xml-element name="model-invariant-id" type="java.lang.String"/>
     </java-attributes>
    </java-type>
    
    


    Code Block
    languagejs
    titleMockup API
    collapsetrue
    URL: https://<AAI host>:<AAI port>/aai/v14/network
     /pnfs/pnf/{pnfName}
    Method: PUT
    Request Body:
    {
        "interface-name": "{tp-id}",
        "admin-status": "some admin",
        "operational-status": "some status",
        "model-customization-id": "some customization",
        "model-version-id": "some version",
        "model-invariant-id": "some invariant",
    }
    
    tbcAAI-1353-5SDWAN-servicetbcAAI-1353-6Site-ServicetbcAAI-1353-7Topologytbc