aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeong Lim <keong.lim@huawei.com>2018-08-15 17:47:50 +1000
committerKeong Lim <keong.lim@huawei.com>2018-09-11 02:27:12 +1000
commit71e2c2eb7b17aaa35ba3a5c5688d6fed9c231bdf (patch)
tree3362ab25a6d6319ddd2a9edef9b2818d8313704f
parent53c1870ce87bd3e1f8a2caa1f0078d2993bbaee2 (diff)
AAI-1484 Add device schema for CCVPN usecase
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>
-rw-r--r--aai-schema/src/main/resources/onap/aai_schema/aai_schema_v14.xsd123
-rw-r--r--aai-schema/src/main/resources/onap/dbedgerules/v14/DbEdgeRules_ccvpn_v14.json24
-rw-r--r--aai-schema/src/main/resources/onap/oxm/v14/aai_oxm_v14.xml103
3 files changed, 250 insertions, 0 deletions
diff --git a/aai-schema/src/main/resources/onap/aai_schema/aai_schema_v14.xsd b/aai-schema/src/main/resources/onap/aai_schema/aai_schema_v14.xsd
index 4e4874d8..55274239 100644
--- a/aai-schema/src/main/resources/onap/aai_schema/aai_schema_v14.xsd
+++ b/aai-schema/src/main/resources/onap/aai_schema/aai_schema_v14.xsd
@@ -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>
diff --git a/aai-schema/src/main/resources/onap/dbedgerules/v14/DbEdgeRules_ccvpn_v14.json b/aai-schema/src/main/resources/onap/dbedgerules/v14/DbEdgeRules_ccvpn_v14.json
index 0049b997..c4611931 100644
--- a/aai-schema/src/main/resources/onap/dbedgerules/v14/DbEdgeRules_ccvpn_v14.json
+++ b/aai-schema/src/main/resources/onap/dbedgerules/v14/DbEdgeRules_ccvpn_v14.json
@@ -143,6 +143,30 @@
"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"
}
]
}
diff --git a/aai-schema/src/main/resources/onap/oxm/v14/aai_oxm_v14.xml b/aai-schema/src/main/resources/onap/oxm/v14/aai_oxm_v14.xml
index 5e80c6e0..f72756e2 100644
--- a/aai-schema/src/main/resources/onap/oxm/v14/aai_oxm_v14.xml
+++ b/aai-schema/src/main/resources/onap/oxm/v14/aai_oxm_v14.xml
@@ -3090,6 +3090,7 @@
<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">
@@ -7897,5 +7898,107 @@
</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>