Enhance the schema for VIPs and ip address
[aai/aai-common.git] / aai-schema / src / main / resources / oxm / aai_oxm_v11.xml
index 0076980..0434bd0 100644 (file)
                                                <xml-property name="defaultValue" value="false"/>
                                                <xml-property name="description" value="Flag indicating the interface uses the IP Unnumbered configuration." />
                                        </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="allowedAddressPairs" name="allowed-address-pairs" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Freeform field for storing an ip address, list of ip addresses or a subnet block." />
+                                       </xml-properties>
                                </xml-element>                          
                                <xml-element java-attribute="vlans" name="vlans" type="inventory.aai.onap.org.v11.Vlans" />
                                <xml-element java-attribute="sriovVfs" name="sriov-vfs" type="inventory.aai.onap.org.v11.SriovVfs" />
                        <xml-properties>
                                <xml-property name="description" value="IPv4 Address Range" />
                                <xml-property name="indexedProps" value="l3-interface-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id" />
-                               <xml-property name="dependentOn" value="vlan,l-interface" />
+                               <xml-property name="dependentOn" value="vlan,l-interface,vnfc" />
                        </xml-properties>
                </java-type>
 
                                <xml-element java-attribute="routeTableReferences" name="route-table-references" type="inventory.aai.onap.org.v11.RouteTableReferences" />
                                <xml-element java-attribute="instanceGroups" name="instance-groups" type="inventory.aai.onap.org.v11.InstanceGroups" />
                                <xml-element java-attribute="zones" name="zones" type="inventory.aai.onap.org.v11.Zones" />
+                               <xml-element java-attribute="vipIpv4AddressList" name="vip-ipv4-address-list" type="inventory.aai.onap.org.v11.VipIpv4AddressList" />
+                               <xml-element java-attribute="vipIpv6AddressList" name="vip-ipv6-address-list" type="inventory.aai.onap.org.v11.VipIpv6AddressList" />
                        </java-attributes>
                </java-type>
 
                                        </xml-properties>
                                </xml-element>
                                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
+                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v11.L3InterfaceIpv4AddressList" />
+                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v11.L3InterfaceIpv6AddressList" />
                        </java-attributes>
                        <xml-properties>
                                <xml-property name="indexedProps" value="vnfc-name,prov-status,nfc-function,nfc-naming-code,ipaddress-v4-oam-vip,in-maint,is-closed-loop-disabled,group-notation,model-invariant-id,model-version-id" />
                                                <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="subnetSequence" name="subnet-sequence" type="java.lang.Integer">
+                                       <xml-properties>
+                                               <xml-property name="description" value="sequence of the subnet" />
+                                       </xml-properties>
+                               </xml-element>          
                                <xml-element java-attribute="hostRoutes" name="host-routes" type="inventory.aai.onap.org.v11.HostRoutes" />
                                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />                           
                        </java-attributes>
                                <xml-property name="container" value="host-routes" />
                        </xml-properties>
                </java-type>
+               <java-type name="VipIpv4AddressList">
+                       <xml-root-element name="vip-ipv4-address-list" />
+                       <java-attributes>
+                               <xml-element java-attribute="vipIpv4Address" name="vip-ipv4-address" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="IP address" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vipIpv4PrefixLength" name="vip-ipv4-prefix-length" type="java.lang.Long">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Prefix length, 32 for single address" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Inner VLAN tag" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Outer VLAN tag" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Indicator of fixed or floating address" />
+                                       </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="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Neutron network id of the interface that address belongs to" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Neutron id of subnet that address belongs to" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="IPv4 Address Range" />
+                               <xml-property name="indexedProps" value="vip-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id" />
+                       </xml-properties>
+               </java-type>
+               
+               <java-type name="VipIpv6AddressList">
+                       <xml-root-element name="vip-ipv6-address-list" />
+                       <java-attributes>
+                               <xml-element java-attribute="vipIpv6Address" name="vip-ipv6-address" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="IP address" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vipIpv6PrefixLength" name="vip-ipv6-prefix-length" type="java.lang.Long">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Prefix length, 128 for single address" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Inner VLAN tag" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Outer VLAN tag" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Indicator of fixed or floating address" />
+                                       </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="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Neutron network id of the interface that address belongs to" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Neutron id of subnet that address belongs to" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="IPv6 Address Range" />
+                               <xml-property name="indexedProps" value="vip-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id" />
+                       </xml-properties>
+               </java-type>
        </java-types>
 </xml-bindings>