Add vrf schema and edge rules 57/71657/1
authorKajur, Harish (vk250x) <vk250x@att.com>
Thu, 1 Nov 2018 15:00:28 +0000 (11:00 -0400)
committerKajur, Harish (vk250x) <vk250x@att.com>
Thu, 1 Nov 2018 18:15:36 +0000 (14:15 -0400)
Issue-ID: AAI-1813
Change-Id: I1c0f53d9c75ea9d568bd8020680b75ef0a4bf3f6
Signed-off-by: Kajur, Harish (vk250x) <vk250x@att.com>
aai-schema/src/main/resources/onap/aai_schema/aai_schema_v15.xsd
aai-schema/src/main/resources/onap/dbedgerules/v15/DbEdgeRules_v15.json
aai-schema/src/main/resources/onap/oxm/v15/aai_oxm_v15.xml

index 5663375..d03fc97 100644 (file)
@@ -7140,6 +7140,75 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
       </xs:sequence>
     </xs:complexType>
   </xs:element>
+  <xs:element name="vrf">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Definition of vrf",indexedProps="vrf-id",nameProps="vrf-name",dependentOn="pnf",container="vrfs",uriTemplate="/vrfs/vrf/{vrf-id}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vrf-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="VRF UUID.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vrf-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="VRF Name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vrf-description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="VRF Description")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="route-distinguisher" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Route Distinguisher")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vrf-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The type of vrf (bridge-domain as an example)")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vrf-address-family" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IP address family (v6/v4/both)")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:route-targets" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vrfs">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:vrf" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
   <xs:element name="pnf">
     <xs:complexType>
       <xs:annotation>
@@ -7362,6 +7431,7 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
         <xs:element ref="tns:relationship-list" minOccurs="0"/>
         <xs:element ref="tns:p-interfaces" minOccurs="0"/>
         <xs:element ref="tns:lag-interfaces" minOccurs="0"/>
+        <xs:element ref="tns:vrfs" minOccurs="0"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
index fe25845..141990d 100644 (file)
                        "prevent-delete": "NONE",
                        "default": "true",
                        "description":""
+               },
+                               {
+                       "from": "vrf",
+                       "to": "pnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "SVC-INFRA": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":"A vrf belongs to a pnf."
+               },
+               {
+                       "from": "vrf",
+                       "to": "vpn-binding",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "SVC-INFRA": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":"A vrf uses a vpn-binding."
+               },
+               {
+                       "from": "vrf",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "SVC-INFRA": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":"A vrf uses many l3-networks"
+               },
+               {
+                       "from": "configuration",
+                       "to": "vrf",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":"A Configuration uses VRFs"       
+               },
+               {
+                       "from": "vrf",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "SVC-INFRA": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "route-target",
+                       "to": "vrf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "SVC-INFRA": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
                }
                
        ]
index b81a7e4..8d54c0b 100644 (file)
                 <xml-property name="uriTemplate" value="/lag-interfaces/lag-interface/{interface-name}"/>
             </xml-properties>
         </java-type>
+        
+        <java-type name="Vrfs">
+            <xml-root-element name="vrfs"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="vrf" name="vrf" type="inventory.aai.onap.org.v15.Vrf"/>
+            </java-attributes>
+            <xml-properties>
+            </xml-properties>
+        </java-type>
 
+        <java-type name="Vrf">
+            <xml-root-element name="vrf"/>
+            <java-attributes>
+                <xml-element java-attribute="vrfId" name="vrf-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="VRF UUID."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vrfName" name="vrf-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="VRF Name"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vrfDescription" name="vrf-description" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="VRF Description"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="routeDistinguisher" name="route-distinguisher" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Route Distinguisher"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vrfType" name="vrf-type" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The type of vrf (bridge-domain as an example)"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vrfAddressFamily" name="vrf-address-family" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="IP address family (v6/v4/both)"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="routeTargets" name="route-targets" type="inventory.aai.onap.org.v15.RouteTargets"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Definition of vrf"/>
+                <xml-property name="indexedProps" value="vrf-id"/>
+                <xml-property name="nameProps" value="vrf-name"/>
+                <xml-property name="dependentOn" value="pnf"/>
+                <xml-property name="container" value="vrfs"/>
+                <xml-property name="uriTemplate" value="/vrfs/vrf/{vrf-id}"/>
+            </xml-properties>
+        </java-type>
+        
         <java-type name="OamNetworks">
             <xml-properties>
                 <xml-property name="description" value="Collection of OAM networks, to be deprecated shortly.  Do not use for new purposes. "/>
                 <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.RelationshipList"/>
                 <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v15.PInterfaces"/>
                 <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v15.LagInterfaces"/>
+                <xml-element java-attribute="vrfs" name="vrfs" type="inventory.aai.onap.org.v15.Vrfs"/>
             </java-attributes>
             <xml-properties>
                 <xml-property name="description" value="PNF represents a physical network function. typically equipment used in the D1 world. in 1607, this will be populated by SDN-C to represent a premises router that a uCPE connects to. But this can be used to represent any physical device that is not an AIC node or uCPE."/>