Add required properties to schema
[aai/aai-common.git] / aai-schema / src / main / resources / onap / oxm / v10 / aai_oxm_v10.xml
index cc143c8..9397c15 100644 (file)
@@ -1,4 +1,3 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!--
 
     ============LICENSE_START=======================================================
@@ -21,8 +20,7 @@
 
     ECOMP is a trademark and service mark of AT&T Intellectual Property.
 
--->
-<xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" package-name="inventory.aai.onap.org.v10" xml-mapping-metadata-complete="true">
+--><xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" package-name="inventory.aai.onap.org.v10" xml-mapping-metadata-complete="true">
     <xml-schema element-form-default="QUALIFIED">
         <xml-ns namespace-uri="http://org.openecomp.aai.inventory/v10"/>
     </xml-schema>
         <java-type name="Update">
             <xml-properties>
                 <xml-property name="description" value="Serves a PATCH like function.  Does not enforce concurrency control.  Clear each usage with AAI team."/>
+            <xml-property name="requiredProps" value="update-node-type"/>
             </xml-properties>
             <xml-root-element name="update"/>
             <java-attributes>
             <java-attributes>
                 <xml-element java-attribute="cloudOwner" name="cloud-owner" required="true" type="java.lang.String" xml-key="true">
                     <xml-properties>
-                        <xml-property name="description" value="Identifies the vendor and cloud name. First part of composite key should be formatted as vendor-cloudname" />
+                        <xml-property name="description" value="Identifies the vendor and cloud name. First part of composite key should be formatted as vendor-cloudname"/>
                     </xml-properties>
                 </xml-element>
                 <xml-element java-attribute="cloudRegionId" name="cloud-region-id" required="true" type="java.lang.String" xml-key="true">
                 <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
             </java-attributes>
             <xml-properties>
-                <xml-property name="description" value="cloud-region designates an installation of a cloud cluster or region or instantiation" />
+                <xml-property name="description" value="cloud-region designates an installation of a cloud cluster or region or instantiation"/>
                 <xml-property name="indexedProps" value="cloud-owner,cloud-region-id,cloud-type,owner-defined-type"/>
                 <xml-property name="nameProps" value="owner-defined-type"/>
                 <xml-property name="container" value="cloud-regions"/>
                 <xml-property name="namespace" value="cloud-infrastructure"/>
                 <xml-property name="uriTemplate" value="/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}"/>
+            <xml-property name="requiredProps" value="cloud-owner,cloud-region-id"/>
             </xml-properties>
         </java-type>
         <java-type name="VolumeGroups">
                 <xml-property name="dependentOn" value="cloud-region"/>
                 <xml-property name="container" value="volume-groups"/>
                 <xml-property name="uriTemplate" value="/volume-groups/volume-group/{volume-group-id}"/>
+            <xml-property name="requiredProps" value="volume-group-id,vnf-type"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="container" value="complexes"/>
                 <xml-property name="namespace" value="cloud-infrastructure"/>
                 <xml-property name="uriTemplate" value="/cloud-infrastructure/complexes/complex/{physical-location-id}"/>
+            <xml-property name="requiredProps" value="physical-location-id,physical-location-type,street1,city,postal-code,country,region"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="dependentOn" value="complex"/>
                 <xml-property name="container" value="ctag-pools"/>
                 <xml-property name="uriTemplate" value="/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name}"/>
+            <xml-property name="requiredProps" value="target-pe,availability-zone-name,ctag-pool-purpose"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="dependentOn" value="cloud-region"/>
                 <xml-property name="container" value="tenants"/>
                 <xml-property name="uriTemplate" value="/tenants/tenant/{tenant-id}"/>
+            <xml-property name="requiredProps" value="tenant-id,tenant-name"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="dependentOn" value="tenant"/>
                 <xml-property name="container" value="vservers"/>
                 <xml-property name="uriTemplate" value="/vservers/vserver/{vserver-id}"/>
+            <xml-property name="requiredProps" value="vserver-id,vserver-name,vserver-selflink,in-maint,is-closed-loop-disabled"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="dependentOn" value="generic-vnf,newvce,p-interface,vserver,lag-interface,l-interface"/>
                 <xml-property name="container" value="l-interfaces"/>
                 <xml-property name="uriTemplate" value="/l-interfaces/l-interface/{interface-name}"/>
+            <xml-property name="requiredProps" value="interface-name,is-port-mirrored,in-maint"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="dependentOn" value="l-interface"/>
                 <xml-property name="container" value="sriov-vfs"/>
                 <xml-property name="uriTemplate" value="/sriov-vfs/sriov-vf/{pci-id}"/>
+            <xml-property name="requiredProps" value="pci-id"/>
             </xml-properties>
         </java-type>
 
                 <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="uriTemplate" value="/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}"/>
+            <xml-property name="requiredProps" value="l3-interface-ipv4-address"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="dependentOn" value="l-interface"/>
                 <xml-property name="container" value="vlans"/>
                 <xml-property name="uriTemplate" value="/vlans/vlan/{vlan-interface}"/>
+            <xml-property name="requiredProps" value="vlan-interface,in-maint"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="indexedProps" value="l3-interface-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id"/>
                 <xml-property name="dependentOn" value="vlan,l-interface"/>
             <xml-property name="uriTemplate" value="/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}"/>
+            <xml-property name="requiredProps" value="l3-interface-ipv6-address"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="dependentOn" value="vserver"/>
                 <xml-property name="container" value="volumes"/>
                 <xml-property name="uriTemplate" value="/volumes/volume/{volume-id}"/>
+            <xml-property name="requiredProps" value="volume-id,volume-selflink"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="dependentOn" value="cloud-region"/>
                 <xml-property name="container" value="flavors"/>
                 <xml-property name="uriTemplate" value="/flavors/flavor/{flavor-id}"/>
+            <xml-property name="requiredProps" value="flavor-id,flavor-name,flavor-selflink"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="dependentOn" value="cloud-region"/>
                 <xml-property name="container" value="snapshots"/>
                 <xml-property name="uriTemplate" value="/snapshots/snapshot/{snapshot-id}"/>
+            <xml-property name="requiredProps" value="snapshot-id"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="dependentOn" value="cloud-region"/>
                 <xml-property name="container" value="group-assignments"/>
                 <xml-property name="uriTemplate" value="/group-assignments/group-assignment/{group-id}"/>
+            <xml-property name="requiredProps" value="group-id,group-type,group-name"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="dependentOn" value="cloud-region"/>
                 <xml-property name="container" value="images"/>
                 <xml-property name="uriTemplate" value="/images/image/{image-id}"/>
+            <xml-property name="requiredProps" value="image-id,image-name,image-os-distro,image-os-version,image-selflink"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="dependentOn" value="tenant,image,service-instance,connector,model"/>
                 <xml-property name="container" value="metadata"/>
                 <xml-property name="uriTemplate" value="/metadata/metadatum/{metaname}"/>
+            <xml-property name="requiredProps" value="metaname,metaval"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="dependentOn" value="cloud-region"/>
                 <xml-property name="container" value="dvs-switches"/>
                 <xml-property name="uriTemplate" value="/dvs-switches/dvs-switch/{switch-name}"/>
+            <xml-property name="requiredProps" value="switch-name,vcenter-url"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="container" value="network-profiles"/>
                 <xml-property name="namespace" value="cloud-infrastructure"/>
                 <xml-property name="uriTemplate" value="/cloud-infrastructure/network-profiles/network-profile/{nm-profile-name}"/>
+            <xml-property name="requiredProps" value="nm-profile-name"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="container" value="pservers"/>
                 <xml-property name="namespace" value="cloud-infrastructure"/>
                 <xml-property name="uriTemplate" value="/cloud-infrastructure/pservers/pserver/{hostname}"/>
+            <xml-property name="requiredProps" value="hostname,in-maint"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="dependentOn" value="vpls-pe,pserver,pnf"/>
                 <xml-property name="container" value="p-interfaces"/>
                 <xml-property name="uriTemplate" value="/p-interfaces/p-interface/{interface-name}"/>
+            <xml-property name="requiredProps" value="interface-name,in-maint"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="dependentOn" value="generic-vnf,pserver,vpls-pe,pnf"/>
                 <xml-property name="container" value="lag-interfaces"/>
                 <xml-property name="uriTemplate" value="/lag-interfaces/lag-interface/{interface-name}"/>
+            <xml-property name="requiredProps" value="interface-name,in-maint"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="dependentOn" value="cloud-region"/>
                 <xml-property name="container" value="oam-networks"/>
                 <xml-property name="uriTemplate" value="/oam-networks/oam-network/{network-uuid}"/>
+            <xml-property name="requiredProps" value="network-uuid,network-name,cvlan-tag"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="dependentOn" value="cloud-region"/>
                 <xml-property name="container" value="availability-zones"/>
                 <xml-property name="uriTemplate" value="/availability-zones/availability-zone/{availability-zone-name}"/>
+            <xml-property name="requiredProps" value="availability-zone-name,hypervisor-type"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="container" value="virtual-data-centers"/>
                 <xml-property name="namespace" value="cloud-infrastructure"/>
                 <xml-property name="uriTemplate" value="/cloud-infrastructure/virtual-data-centers/virtual-data-center/{vdc-id}"/>
+            <xml-property name="requiredProps" value="vdc-id,vdc-name"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="container" value="connectors"/>
                 <xml-property name="namespace" value="business"/>
                 <xml-property name="uriTemplate" value="/business/connectors/connector/{resource-instance-id}"/>
+            <xml-property name="requiredProps" value="resource-instance-id"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="container" value="customers"/>
                 <xml-property name="namespace" value="business"/>
                 <xml-property name="uriTemplate" value="/business/customers/customer/{global-customer-id}"/>
+            <xml-property name="requiredProps" value="global-customer-id,subscriber-name,subscriber-type"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="container" value="service-subscriptions"/>
                 <xml-property name="crossEntityReference" value="service-instance,service-type"/>
                 <xml-property name="uriTemplate" value="/service-subscriptions/service-subscription/{service-type}"/>
+            <xml-property name="requiredProps" value="service-type"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="dependentOn" value="service-subscription"/>
                 <xml-property name="container" value="service-instances"/>
                 <xml-property name="uriTemplate" value="/service-instances/service-instance/{service-instance-id}"/>
+            <xml-property name="requiredProps" value="service-instance-id"/>
             </xml-properties>
         </java-type>
 
             </java-attributes>
             <xml-properties>
                 <xml-property name="description" value="Image object that pertain to a VNF that doesn't have associated vservers.  This is a kludge."/>
-                <xml-property name="indexedProps" value="application,vnf-image-uuid,application-vendor,application-version" />
-                <xml-property name="uniqueProps" value="vnf-image-uuid" />
+                <xml-property name="indexedProps" value="application,vnf-image-uuid,application-vendor,application-version"/>
+                <xml-property name="uniqueProps" value="vnf-image-uuid"/>
                 <xml-property name="container" value="vnf-images"/>
                 <xml-property name="namespace" value="service-design-and-creation"/>
                 <xml-property name="uriTemplate" value="/service-design-and-creation/vnf-images/vnf-image/{att-uuid}"/>
+            <xml-property name="requiredProps" value="vnf-image-uuid,application,application-vendor"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="container" value="services"/>
                 <xml-property name="namespace" value="service-design-and-creation"/>
                 <xml-property name="uriTemplate" value="/service-design-and-creation/services/service/{service-id}"/>
+            <xml-property name="requiredProps" value="service-id,service-description"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="container" value="service-capabilities"/>
                 <xml-property name="namespace" value="service-design-and-creation"/>
                 <xml-property name="uriTemplate" value="/service-design-and-creation/service-capabilities/service-capability/{service-type}/{vnf-type}"/>
+            <xml-property name="requiredProps" value="service-type,vnf-type"/>
             </xml-properties>
         </java-type>
 
                 </xml-element>
                 <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
                     <xml-properties>
-                        <xml-property name="description" value="v4, v6, or ds for dual stack" />
+                        <xml-property name="description" value="v4, v6, or ds for dual stack"/>
                     </xml-properties>
                 </xml-element>
                 <xml-element java-attribute="routingProtocol" name="routing-protocol" type="java.lang.String">
                 <xml-property name="namespace" value="network"/>
                 <xml-property name="searchable" value="link-name"/>
                 <xml-property name="uriTemplate" value="/network/logical-links/logical-link/{link-name}"/>
+            <xml-property name="requiredProps" value="link-name,link-type"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="container" value="site-pair-sets"/>
                 <xml-property name="namespace" value="network"/>
                 <xml-property name="uriTemplate" value="/network/site-pair-sets/site-pair-set/{site-pair-set-id}"/>
+            <xml-property name="requiredProps" value="site-pair-set-id"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="container" value="vpn-bindings"/>
                 <xml-property name="namespace" value="network"/>
                 <xml-property name="uriTemplate" value="/network/vpn-bindings/vpn-binding/{vpn-id}"/>
+            <xml-property name="requiredProps" value="vpn-id,vpn-name"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="container" value="vpls-pes"/>
                 <xml-property name="namespace" value="network"/>
                 <xml-property name="uriTemplate" value="/network/vpls-pes/vpls-pe/{equipment-name}"/>
+            <xml-property name="requiredProps" value="equipment-name"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="namespace" value="network"/>
                 <xml-property name="extends" value="vnf"/>
                 <xml-property name="uriTemplate" value="/network/vces/vce/{vnf-id}"/>
+            <xml-property name="requiredProps" value="vnf-id,vnf-name,vnf-type"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="dependentOn" value="vce"/>
                 <xml-property name="container" value="port-groups"/>
                 <xml-property name="uriTemplate" value="/port-groups/port-group/{interface-id}"/>
+            <xml-property name="requiredProps" value="interface-id,orchestration-status"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="container" value="l3-networks"/>
                 <xml-property name="namespace" value="network"/>
                 <xml-property name="uriTemplate" value="/network/l3-networks/l3-network/{network-id}"/>
+            <xml-property name="requiredProps" value="network-id,is-bound-to-vpn,is-provider-network,is-shared-network,is-external-network"/>
             </xml-properties>
         </java-type>
         <java-type name="NetworkPolicies">
                 </xml-element>
                 <xml-element java-attribute="vcpu" name="vcpu" type="java.lang.Long">
                     <xml-properties>
-                        <xml-property name="description" value="number of vcpus ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+                        <xml-property name="description" value="number of vcpus ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases"/>
                     </xml-properties>
                 </xml-element>
                 <xml-element java-attribute="vcpuUnits" name="vcpu-units" type="java.lang.String">
                     <xml-properties>
-                        <xml-property name="description" value="units associated with vcpu, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+                        <xml-property name="description" value="units associated with vcpu, used for VNFs with no vservers/flavors, to be used only in some usecases"/>
                     </xml-properties>
                 </xml-element>
                 <xml-element java-attribute="vmemory" name="vmemory" type="java.lang.Long">
                     <xml-properties>
-                        <xml-property name="description" value="number of GB of memory ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+                        <xml-property name="description" value="number of GB of memory ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases"/>
                     </xml-properties>
                 </xml-element>
                 <xml-element java-attribute="vmemoryUnits" name="vmemory-units" type="java.lang.String">
                     <xml-properties>
-                        <xml-property name="description" value="units associated with vmemory, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+                        <xml-property name="description" value="units associated with vmemory, used for VNFs with no vservers/flavors, to be used only in some usecases"/>
                     </xml-properties>
                 </xml-element>
                 <xml-element java-attribute="vdisk" name="vdisk" type="java.lang.Long">
                     <xml-properties>
-                        <xml-property name="description" value="number of vdisks ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+                        <xml-property name="description" value="number of vdisks ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases"/>
                     </xml-properties>
                 </xml-element>
                 <xml-element java-attribute="vdiskUnits" name="vdisk-units" type="java.lang.String">
                     <xml-properties>
-                        <xml-property name="description" value="units associated with vdisk, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+                        <xml-property name="description" value="units associated with vdisk, used for VNFs with no vservers/flavors, to be used only in some usecases"/>
                     </xml-properties>
                 </xml-element>
                 <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
                 <xml-property name="containsSuggestibleProps" value="true"/>
                 <xml-property name="suggestionAliases" value="VNFs"/>
                 <xml-property name="uriTemplate" value="/network/generic-vnfs/generic-vnf/{vnf-id}"/>
+            <xml-property name="requiredProps" value="vnf-id,vnf-type,in-maint,is-closed-loop-disabled"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="dependentOn" value="generic-vnf"/>
                 <xml-property name="container" value="vf-modules"/>
                 <xml-property name="uriTemplate" value="/vf-modules/vf-module/{vf-module-id}"/>
+            <xml-property name="requiredProps" value="vf-module-id,is-base-vf-module"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="container" value="lag-links"/>
                 <xml-property name="namespace" value="network"/>
                 <xml-property name="uriTemplate" value="/network/lag-links/lag-link/{link-name}"/>
+            <xml-property name="requiredProps" value="link-name"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="container" value="newvces"/>
                 <xml-property name="namespace" value="network"/>
                 <xml-property name="uriTemplate" value="/network/newvces/newvce/{vnf-id2}"/>
+            <xml-property name="requiredProps" value="vnf-id2,vnf-name,vnf-type"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="container" value="pnfs"/>
                 <xml-property name="namespace" value="network"/>
                 <xml-property name="uriTemplate" value="/network/pnfs/pnf/{pnf-name}"/>
+            <xml-property name="requiredProps" value="pnf-name,in-maint"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="namespace" value="network"/>
                 <xml-property name="searchable" value="link-name,circuit-id"/>
                 <xml-property name="uriTemplate" value="/network/physical-links/physical-link/{link-name}"/>
+            <xml-property name="requiredProps" value="link-name"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="dependentOn" value="ipsec-configuration"/>
                 <xml-property name="container" value="vig-servers"/>
                 <xml-property name="uriTemplate" value="/vig-servers/vig-server/{vig-address-type}"/>
+            <xml-property name="requiredProps" value="vig-address-type"/>
             </xml-properties>
         </java-type>
 
                 </xml-element>
                 <xml-element java-attribute="requestedDmzType" name="requested-dmz-type" type="java.lang.String">
                     <xml-properties>
-                        <xml-property name="description" value="can offer a shared DMZ or a DMZ specific to a customer" />
+                        <xml-property name="description" value="can offer a shared DMZ or a DMZ specific to a customer"/>
                     </xml-properties>
                 </xml-element>
                 <xml-element java-attribute="sharedDmzNetworkAddress" name="shared-dmz-network-address" type="java.lang.String">
                 <xml-property name="container" value="ipsec-configurations"/>
                 <xml-property name="namespace" value="network"/>
                 <xml-property name="uriTemplate" value="/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id}"/>
+            <xml-property name="requiredProps" value="ipsec-configuration-id"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="container" value="models"/>
                 <xml-property name="namespace" value="service-design-and-creation"/>
                 <xml-property name="uriTemplate" value="/service-design-and-creation/models/model/{model-invariant-id}"/>
+            <xml-property name="requiredProps" value="model-invariant-id,model-type"/>
             </xml-properties>
             <java-attributes>
                 <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="true" type="java.lang.String" xml-key="true">
                 <xml-property name="uniqueProps" value="model-version-id"/>
                 <xml-property name="container" value="model-vers"/>
                 <xml-property name="uriTemplate" value="/model-vers/model-ver/{model-version-id}"/>
+            <xml-property name="requiredProps" value="model-version-id,model-name,model-version"/>
             </xml-properties>
             <java-attributes>
                 <xml-element java-attribute="modelVersionId" name="model-version-id" required="true" type="java.lang.String" xml-key="true">
                 <xml-property name="allowDirectWrite" value="false"/>
                 <xml-property name="container" value="model-elements"/>
                 <xml-property name="uriTemplate" value="/model-elements/model-element/{model-element-uuid}"/>
+            <xml-property name="requiredProps" value="model-element-uuid,new-data-del-flag,cardinality"/>
             </xml-properties>
             <xml-root-element name="model-element"/>
             <java-attributes>
                 <xml-property name="allowDirectWrite" value="false"/>
                 <xml-property name="container" value="model-constraints"/>
                 <xml-property name="uriTemplate" value="/model-constraints/model-constraint/{model-constraint-uuid}"/>
+            <xml-property name="requiredProps" value="model-constraint-uuid,constrained-element-set-uuid-to-replace"/>
             </xml-properties>
             <xml-root-element name="model-constraint"/>
             <java-attributes>
                 <xml-property name="allowDirectWrite" value="false"/>
                 <xml-property name="container" value="constrained-element-sets"/>
                 <xml-property name="uriTemplate" value="/constrained-element-sets/constrained-element-set/{constrained-element-set-uuid}"/>
+            <xml-property name="requiredProps" value="constrained-element-set-uuid,constraint-type,check-type"/>
             </xml-properties>
             <xml-root-element name="constrained-element-set"/>
             <java-attributes>
                 <xml-property name="allowDirectWrite" value="false"/>
                 <xml-property name="container" value="element-choice-sets"/>
                 <xml-property name="uriTemplate" value="/element-choice-sets/element-choice-set/{element-choice-set-uuid}"/>
+            <xml-property name="requiredProps" value="element-choice-set-uuid,element-choice-set-name"/>
             </xml-properties>
             <xml-root-element name="element-choice-set"/>
             <java-attributes>
                 <xml-property name="container" value="named-queries"/>
                 <xml-property name="namespace" value="service-design-and-creation"/>
                 <xml-property name="uriTemplate" value="/service-design-and-creation/named-queries/named-query/{named-query-uuid}"/>
+            <xml-property name="requiredProps" value="named-query-uuid,named-query-name,named-query-version"/>
             </xml-properties>
             <xml-root-element name="named-query"/>
             <java-attributes>
                 <xml-property name="allowDirectWrite" value="false"/>
                 <xml-property name="container" value="named-query-elements"/>
                 <xml-property name="uriTemplate" value="/named-query-elements/named-query-element/{named-query-element-uuid}"/>
+            <xml-property name="requiredProps" value="named-query-element-uuid"/>
             </xml-properties>
             <xml-root-element name="named-query-element"/>
             <java-attributes>
                 <xml-property name="allowDirectWrite" value="false"/>
                 <xml-property name="container" value="related-lookups"/>
                 <xml-property name="uriTemplate" value="/related-lookups/related-lookup/{related-lookup-uuid}"/>
+            <xml-property name="requiredProps" value="related-lookup-uuid,source-node-type,source-node-property,target-node-type,target-node-property"/>
             </xml-properties>
             <xml-root-element name="related-lookup"/>
             <java-attributes>
                 <xml-property name="allowDirectWrite" value="false"/>
                 <xml-property name="container" value="property-constraints"/>
                 <xml-property name="uriTemplate" value="/property-constraints/property-constraint/{property-constraint-uuid}"/>
+            <xml-property name="requiredProps" value="property-constraint-uuid,constraint-type,property-name,property-value"/>
             </xml-properties>
             <xml-root-element name="property-constraint"/>
             <java-attributes>
             <xml-root-element name="overloaded-model"/>
             <xml-properties>
                 <xml-property name="description" value="Allows for legacy POST of old-style and new-style models"/>
+            <xml-property name="requiredProps" value="model-invariant-id,model-name-version-id,model-type,model-name,model-id,model-version"/>
             </xml-properties>
             <java-attributes>
                 <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="true" type="java.lang.String" xml-key="true">
                 <xml-property name="container" value="route-table-references"/>
                 <xml-property name="namespace" value="network"/>
                 <xml-property name="uriTemplate" value="/network/route-table-references/route-table-reference/{route-table-reference-id}"/>
+            <xml-property name="requiredProps" value="route-table-reference-id,route-table-reference-fqdn"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="container" value="instance-groups"/>
                 <xml-property name="namespace" value="network"/>
                 <xml-property name="uriTemplate" value="/network/instance-groups/instance-group/{id}"/>
+            <xml-property name="requiredProps" value="id,description,type"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="dependentOn" value="l3-network"/>
                 <xml-property name="container" value="segmentation-assignments"/>
                 <xml-property name="uriTemplate" value="/segmentation-assignments/segmentation-assignment/{segmentation-id}"/>
+            <xml-property name="requiredProps" value="segmentation-id"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="container" value="allotted-resources"/>
                 <!--  <xml-property name="namespace" value="network" /> -->
                 <xml-property name="uriTemplate" value="/allotted-resources/allotted-resource/{id}"/>
+            <xml-property name="requiredProps" value="id"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="container" value="tunnel-xconnects"/>
                 <!--  <xml-property name="namespace" value="network" /> -->
                 <xml-property name="uriTemplate" value="/tunnel-xconnects/tunnel-xconnect/{id}"/>
+            <xml-property name="requiredProps" value="id,bandwidth-up-wan1,bandwidth-down-wan1,bandwidth-up-wan2,bandwidth-down-wan2"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="dependentOn" value="generic-vnf,vce"/>
                 <xml-property name="container" value="entitlements"/>
                 <xml-property name="uriTemplate" value="/entitlements/entitlement/{group-uuid}/{resource-uuid}"/>
+            <xml-property name="requiredProps" value="group-uuid,resource-uuid"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="dependentOn" value="generic-vnf,vce"/>
                 <xml-property name="container" value="licenses"/>
                 <xml-property name="uriTemplate" value="/licenses/license/{group-uuid}/{resource-uuid}"/>
+            <xml-property name="requiredProps" value="group-uuid,resource-uuid"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="uniqueProps" value="vnf-id"/>
                 <xml-property name="inheritors" value="vce,generic-vnf"/>
                 <xml-property name="abstract" value="true"/>
+            <xml-property name="requiredProps" value="vnf-id"/>
             </xml-properties>
         </java-type>
 
                 <xml-property name="container" value="zones"/>
                 <xml-property name="namespace" value="network"/>
                 <xml-property name="uriTemplate" value="/network/zones/zone/{zone-id}"/>
+            <xml-property name="requiredProps" value="zone-id,zone-name,design-type,zone-context"/>
             </xml-properties>
         </java-type>
         <java-type name="RouteTargets">
                 <xml-property name="dependentOn" value="vpn-binding"/>
                 <xml-property name="canBeLinked" value="true"/>
                 <xml-property name="uriTemplate" value="/route-targets/route-target/{global-route-target}/{route-target-role}"/>
+            <xml-property name="requiredProps" value="global-route-target,route-target-role"/>
             </xml-properties>
         </java-type>
     </java-types>