AAI-1484 Add device schema for CCVPN usecase 89/60689/11
authorKeong Lim <keong.lim@huawei.com>
Wed, 15 Aug 2018 07:47:50 +0000 (17:47 +1000)
committerKeong Lim <keong.lim@huawei.com>
Mon, 10 Sep 2018 16:27:12 +0000 (02:27 +1000)
Issue-ID: AAI-1484
Add device element to network namespace.
Add CCVPN EdgeRules for device to service-instance and generic-vnf.

Change-Id: Iad4033dc5bba72cf0773cccbe19429cf965df0c5
Signed-off-by: Keong Lim <keong.lim@huawei.com>
aai-schema/src/main/resources/onap/aai_schema/aai_schema_v14.xsd
aai-schema/src/main/resources/onap/dbedgerules/v14/DbEdgeRules_ccvpn_v14.json
aai-schema/src/main/resources/onap/oxm/v14/aai_oxm_v14.xml

index 4e4874d..5527423 100644 (file)
@@ -9020,6 +9020,128 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
       </xs:sequence>
     </xs:complexType>
   </xs:element>
+  <xs:element name="device">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Instance of a device",indexedProps="device-id,device-name,esn,vendor,class,type,version,system-ip,operational-status",nameProps="device-name",searchable="device-id",uniqueProps="device-id",container="devices",namespace="network")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="device-id" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Uniquely identifies this device by id")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="esn" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the esn of this device.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="device-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the name of this device.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the description of this device.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vendor" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the vendor of this device.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="class" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the class of this device.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the type of this device.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the version of this device.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="system-ip" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the system-ip of this device.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the link to get more information for this object.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="operational-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the operational-status for this object.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the model-customization-id for this object.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",visibility="deployment",requires="model-version-id",dbAlias="model-invariant-id-local")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-version-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="devices">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of devices")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:device" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
   <xs:element name="network">
     <xs:complexType>
       <xs:annotation>
@@ -9055,6 +9177,7 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
         <xs:element ref="tns:network-resources" minOccurs="0"/>
         <xs:element ref="tns:site-resources" minOccurs="0"/>
         <xs:element ref="tns:sdwan-vpns" minOccurs="0"/>
+        <xs:element ref="tns:devices" minOccurs="0"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
index 0049b99..c461193 100644 (file)
                "prevent-delete": "NONE",
                "default": "true",
                "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "device",
+               "to": "service-instance",
+               "label": "org.onap.relationships.inventory.PartOf",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "device",
+               "to": "generic-vnf",
+               "label": "org.onap.relationships.inventory.Uses",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
        }
   ]
 }
index 5e80c6e..f72756e 100644 (file)
                                <xml-element java-attribute="networkResources" name="network-resources" type="inventory.aai.onap.org.v14.NetworkResources" />
                                <xml-element java-attribute="siteResources" name="site-resources" type="inventory.aai.onap.org.v14.SiteResources" />
                                <xml-element java-attribute="sdwanVpns" name="sdwan-vpns" type="inventory.aai.onap.org.v14.SdwanVpns" />
+                               <xml-element java-attribute="devices" name="devices" type="inventory.aai.onap.org.v14.Devices" />
             </java-attributes>
         </java-type>
         <java-type name="Configurations">
                        </xml-properties>
                </java-type>
 
+               <java-type name="Devices">
+                       <xml-root-element name="devices" />
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of devices" />
+                       </xml-properties>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="device" name="device" type="inventory.aai.onap.org.v14.Device" />
+                       </java-attributes>
+               </java-type>
+               <java-type name="Device">
+                       <xml-root-element name="device" />
+                       <java-attributes>
+                               <xml-element java-attribute="deviceId" name="device-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Uniquely identifies this device by id" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="esn" name="esn" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the esn of this device." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="deviceName" name="device-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the name of this device." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="description" name="description" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the description of this device." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vendor" name="vendor" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the vendor of this device." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="class" name="class" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the class of this device." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="type" name="type" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the type of this device." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="version" name="version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the version of this device." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="systemIp" name="system-ip" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the system-ip of this device." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the link to get more information for this object." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the operational-status for this object." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the model-customization-id for this object." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
+                                               <xml-property name="visibility" value="deployment" />
+                                               <xml-property name="requires" value="model-version-id" />
+                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
+                                               <xml-property name="visibility" value="deployment" />
+                                               <xml-property name="requires" value="model-invariant-id" />
+                                               <xml-property name="dbAlias" value="model-version-id-local" />
+                                               <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Instance of a device" />
+                               <xml-property name="indexedProps" value="device-id,device-name,esn,vendor,class,type,version,system-ip,operational-status" />
+                               <xml-property name="nameProps" value="device-name" />
+                               <xml-property name="searchable" value="device-id" />
+                               <xml-property name="uniqueProps" value="device-id" />
+                               <xml-property name="container" value="devices" />
+                               <xml-property name="namespace" value="network" />
+                       </xml-properties>
+               </java-type>
+
        </java-types>
 </xml-bindings>