diff options
author | Kajur, Harish (vk250x) <vk250x@att.com> | 2018-11-01 11:00:28 -0400 |
---|---|---|
committer | Kajur, Harish (vk250x) <vk250x@att.com> | 2018-11-01 14:15:36 -0400 |
commit | fa0792d839d67142e916b12f083e9db067ab5f8d (patch) | |
tree | b4c05a8b2a5cd9d7a633c4adb4153b366cb3bf1b /aai-schema/src/main | |
parent | ef398c570cbee1e1ff41aa62cfde5a41fc6d4a08 (diff) |
Add vrf schema and edge rules
Issue-ID: AAI-1813
Change-Id: I1c0f53d9c75ea9d568bd8020680b75ef0a4bf3f6
Signed-off-by: Kajur, Harish (vk250x) <vk250x@att.com>
Diffstat (limited to 'aai-schema/src/main')
3 files changed, 208 insertions, 0 deletions
diff --git a/aai-schema/src/main/resources/onap/aai_schema/aai_schema_v15.xsd b/aai-schema/src/main/resources/onap/aai_schema/aai_schema_v15.xsd index 56633754..d03fc97b 100644 --- a/aai-schema/src/main/resources/onap/aai_schema/aai_schema_v15.xsd +++ b/aai-schema/src/main/resources/onap/aai_schema/aai_schema_v15.xsd @@ -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> diff --git a/aai-schema/src/main/resources/onap/dbedgerules/v15/DbEdgeRules_v15.json b/aai-schema/src/main/resources/onap/dbedgerules/v15/DbEdgeRules_v15.json index fe258453..141990d2 100644 --- a/aai-schema/src/main/resources/onap/dbedgerules/v15/DbEdgeRules_v15.json +++ b/aai-schema/src/main/resources/onap/dbedgerules/v15/DbEdgeRules_v15.json @@ -3014,6 +3014,83 @@ "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":"" } ] diff --git a/aai-schema/src/main/resources/onap/oxm/v15/aai_oxm_v15.xml b/aai-schema/src/main/resources/onap/oxm/v15/aai_oxm_v15.xml index b81a7e44..8d54c0ba 100644 --- a/aai-schema/src/main/resources/onap/oxm/v15/aai_oxm_v15.xml +++ b/aai-schema/src/main/resources/onap/oxm/v15/aai_oxm_v15.xml @@ -2330,7 +2330,67 @@ <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. "/> @@ -5222,6 +5282,7 @@ <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."/> |