Add NFVO external-system in AAI
Change-Id: I71601180d47fe3de71ddbc07a4c54db7b398f520
Signed-off-by: udhaya Chandran <udhayachandran.m@verizon.com>
Issue-ID: AAI-2205
diff --git a/aai-schema/src/main/resources/onap/aai_schema/aai_schema_v16.xsd b/aai-schema/src/main/resources/onap/aai_schema/aai_schema_v16.xsd
index 7fe4223..2cbd179 100644
--- a/aai-schema/src/main/resources/onap/aai_schema/aai_schema_v16.xsd
+++ b/aai-schema/src/main/resources/onap/aai_schema/aai_schema_v16.xsd
@@ -3220,6 +3220,52 @@
</xs:sequence>
</xs:complexType>
</xs:element>
+ <xs:element name="esr-nfvo">
+ <xs:complexType>
+ <xs:annotation>
+ <xs:appinfo>
+ <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Persist NFVO address information used by VF-C.",indexedProps="nfvo-id",searchable="nfvo-id",container="esr-nfvo-list",namespace="external-system",requiredProps="nfvo-id",uriTemplate="/external-system/esr-nfvo-list/esr-nfvo/{nfvo-id}")</annox:annotate>
+ </xs:appinfo>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="nfvo-id" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:appinfo>
+ <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of nfvo.")</annox:annotate>
+ </xs:appinfo>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="api-root" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:appinfo>
+ <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="indecate the api-root.")</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:esr-system-info-list" minOccurs="0"/>
+ <xs:element ref="tns:relationship-list" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="esr-nfvo-list">
+ <xs:complexType>
+ <xs:annotation>
+ <xs:appinfo>
+ <annox:annotate target="class">@org.onap.aai.annotations.Metadata(maximumDepth="0")</annox:annotate>
+ </xs:appinfo>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element ref="tns:esr-nfvo" minOccurs="0" maxOccurs="5000"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
<xs:element name="esr-thirdparty-sdnc">
<xs:complexType>
<xs:annotation>
@@ -3283,6 +3329,7 @@
<xs:sequence>
<xs:element ref="tns:esr-ems-list" minOccurs="0"/>
<xs:element ref="tns:esr-vnfm-list" minOccurs="0"/>
+ <xs:element ref="tns:esr-nfvo-list" minOccurs="0"/>
<xs:element ref="tns:esr-thirdparty-sdnc-list" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
diff --git a/aai-schema/src/main/resources/onap/dbedgerules/v16/DbEdgeRules_esr_v16.json b/aai-schema/src/main/resources/onap/dbedgerules/v16/DbEdgeRules_esr_v16.json
index fb20986..baa6ab8 100644
--- a/aai-schema/src/main/resources/onap/dbedgerules/v16/DbEdgeRules_esr_v16.json
+++ b/aai-schema/src/main/resources/onap/dbedgerules/v16/DbEdgeRules_esr_v16.json
@@ -26,6 +26,18 @@
},
{
"from": "esr-system-info",
+ "to": "esr-nfvo",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "ONE2ONE",
+ "contains-other-v": "!${direction}",
+ "delete-other-v": "!${direction}",
+ "SVC-INFRA": "NONE",
+ "prevent-delete": "NONE",
+ "default": "true"
+ },
+ {
+ "from": "esr-system-info",
"to": "esr-thirdparty-sdnc",
"label": "org.onap.relationships.inventory.BelongsTo",
"direction": "OUT",
diff --git a/aai-schema/src/main/resources/onap/oxm/v16/aai_oxm_v16.xml b/aai-schema/src/main/resources/onap/oxm/v16/aai_oxm_v16.xml
index 5354618..736a5f6 100644
--- a/aai-schema/src/main/resources/onap/oxm/v16/aai_oxm_v16.xml
+++ b/aai-schema/src/main/resources/onap/oxm/v16/aai_oxm_v16.xml
@@ -234,6 +234,7 @@
<java-attributes>
<xml-element java-attribute="esrEmsList" name="esr-ems-list" type="inventory.aai.onap.org.v16.EsrEmsList"/>
<xml-element java-attribute="esrVnfmList" name="esr-vnfm-list" type="inventory.aai.onap.org.v16.EsrVnfmList"/>
+ <xml-element java-attribute="esrNfvoList" name="esr-nfvo-list" type="inventory.aai.onap.org.v16.EsrNfvoList"/>
<xml-element java-attribute="esrThirdpartySdncList" name="esr-thirdparty-sdnc-list" type="inventory.aai.onap.org.v16.EsrThirdpartySdncList"/>
</java-attributes>
</java-type>
@@ -322,6 +323,49 @@
</xml-properties>
</java-type>
+ <java-type name="EsrNfvoList">
+ <xml-root-element name="esr-nfvo-list"/>
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="esrNfvo" name="esr-nfvo" type="inventory.aai.onap.org.v16.EsrNfvo"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="maximumDepth" value="0"/>
+ </xml-properties>
+ </java-type>
+
+ <java-type name="EsrNfvo">
+ <xml-root-element name="esr-nfvo"/>
+ <java-attributes>
+ <xml-element java-attribute="nfvoId" name="nfvo-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of nfvo."/>
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="apiRoot" name="api-root" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="indecate the api-root."/>
+ </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="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v16.EsrSystemInfoList"/>
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v16.RelationshipList"/>
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Persist NFVO address information used by VF-C."/>
+ <xml-property name="indexedProps" value="nfvo-id"/>
+ <xml-property name="searchable" value="nfvo-id"/>
+ <xml-property name="container" value="esr-nfvo-list"/>
+ <xml-property name="namespace" value="external-system"/>
+ <xml-property name="requiredProps" value="nfvo-id"/>
+ <xml-property name="uriTemplate" value="/external-system/esr-nfvo-list/esr-nfvo/{nfvo-id}"/>
+ </xml-properties>
+ </java-type>
+
+
<java-type name="EsrThirdpartySdncList">
<xml-root-element name="esr-thirdparty-sdnc-list"/>
<java-attributes>
@@ -497,7 +541,7 @@
<xml-property name="indexedProps" value="esr-system-info-id,system-name,system-type"/>
<xml-property name="searchable" value="esr-system-info-id,system-name,system-type"/>
<xml-property name="container" value="esr-system-info-list"/>
- <xml-property name="dependentOn" value="cloud-region,esr-ems,esr-vnfm,esr-thirdparty-sdnc,ext-aai-network"/>
+ <xml-property name="dependentOn" value="cloud-region,esr-ems,esr-vnfm,esr-thirdparty-sdnc,ext-aai-network,esr-nfvo"/>
<xml-property name="requiredProps" value="esr-system-info-id,user-name,password,system-type"/>
<xml-property name="uriTemplate" value="/esr-system-info-list/esr-system-info/{esr-system-info-id}"/>
</xml-properties>