diff options
author | Hesam Rahimi <hesam.rahimi@huawei.com> | 2019-08-04 22:40:09 +0000 |
---|---|---|
committer | Hesam Rahimi <hesam.rahimi@huawei.com> | 2020-08-19 19:54:20 +0000 |
commit | f5914aabb906aeb9471eff8341f9979f5e35c21e (patch) | |
tree | 3676889576d178b40cf70c67251991c1a1c21796 | |
parent | 4c8cebb49896e56b4b4b28f6fcc33fa2282d67f6 (diff) |
AAI schema changes to support TN NSSI and transport endpoint.
Issue-ID: AAI-2920
Signed-off-by: Hesam Rahimi <hesam.rahimi@huawei.com>
Change-Id: Ic1e2e1561c4add226abc9d96ac6c623d5255106f
3 files changed, 335 insertions, 7 deletions
diff --git a/aai-schema/src/main/resources/onap/aai_schema/aai_schema_v20.xsd b/aai-schema/src/main/resources/onap/aai_schema/aai_schema_v20.xsd index 9831b7f..fbce150 100644 --- a/aai-schema/src/main/resources/onap/aai_schema/aai_schema_v20.xsd +++ b/aai-schema/src/main/resources/onap/aai_schema/aai_schema_v20.xsd @@ -3809,6 +3809,8 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" </xs:annotation> </xs:element> <xs:element ref="tns:tunnel-xconnects" minOccurs="0"/> + <xs:element ref="tns:logical-links" minOccurs="0"/> + <xs:element ref="tns:network-policies" minOccurs="0"/> <xs:element ref="tns:relationship-list" minOccurs="0"/> </xs:sequence> </xs:complexType> @@ -4189,6 +4191,13 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" </xs:appinfo> </xs:annotation> </xs:element> + <xs:element name="max-bandwidth" type="xs:int" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The maximum bandwidth (mb) of the connection links in a transport slice instance.")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> <xs:element name="exp-data-rate" type="xs:int" minOccurs="0"> <xs:annotation> <xs:appinfo> @@ -4254,6 +4263,131 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" </xs:sequence> </xs:complexType> </xs:element> + <xs:element name="ip-address"> + <xs:complexType> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Ip address object.",uniqueProps="ip-address",indexedProps="ip-address",container="ip-address-list",uriTemplate="/endpoints/endpoint/{endpoint-id}/ip-address-list/ip-address/{ip-address}",searcheable="endpoint-id")</annox:annotate> + </xs:appinfo> + </xs:annotation> + <xs:sequence> + <xs:element name="ip-address" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="IP address.")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="ip-address-end" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IP address end range.")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="ip-version" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IP version, either 4 or 6.")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="type" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="reserved, static, dhcp.")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="assignment" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="assignment.")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="operator" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Operator to apply to the port (greater than, less than, etc).")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="length" type="xs:int" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="ip-address prefix length, 32 for single address.")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="ip-address-list"> + <xs:complexType> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="List of IP addresses.")</annox:annotate> + </xs:appinfo> + </xs:annotation> + <xs:sequence> + <xs:element ref="tns:ip-address" minOccurs="0" maxOccurs="5000"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="endpoint"> + <xs:complexType> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Endpoint object.",uniqueProps="endpoint-id",indexedProps="endpoint-id",container="endpoints",uriTemplate="/endpoints/endpoint/{endpoint-id}",searcheable="endpoint-id")</annox:annotate> + </xs:appinfo> + </xs:annotation> + <xs:sequence> + <xs:element name="endpoint-id" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="ID of endpoint.")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="endpoint-name" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of endpoint.")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="endpoint-type" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Type of endpoint.")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="logical-interface-id" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Identity of a logical interface, e.g., VLAN ID, MPLS label.")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element ref="tns:ip-address-list" minOccurs="0"/> + <xs:element ref="tns:relationship-list" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="endpoints"> + <xs:complexType> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of endpoints.")</annox:annotate> + </xs:appinfo> + </xs:annotation> + <xs:sequence> + <xs:element ref="tns:endpoint" minOccurs="0" maxOccurs="5000"/> + </xs:sequence> + </xs:complexType> + </xs:element> <xs:element name="service-instance"> <xs:complexType> <xs:annotation> @@ -4443,6 +4577,7 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" <xs:element ref="tns:communication-service-profiles" minOccurs="0"/> <xs:element ref="tns:service-profiles" minOccurs="0"/> <xs:element ref="tns:slice-profiles" minOccurs="0"/> + <xs:element ref="tns:endpoints" minOccurs="0"/> <xs:element name="service-function" type="xs:string" minOccurs="0"> <xs:annotation> <xs:appinfo> @@ -7246,6 +7381,48 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" </xs:appinfo> </xs:annotation> </xs:element> + <xs:element name="name" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the policy.")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="type" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Type of the policy.")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="latency" type="xs:int" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The packet transmission latency (millisecond) through the Transport slice connections and is used to evaluate utilization performance of the end-to-end network slice instance.")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="jitter" type="xs:int" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="jitter")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="max-bandwidth" type="xs:int" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The maximum bandwidth (mb) of the connection links in a transport slice instance.")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> + <xs:element name="reliability" minOccurs="0"> + <xs:annotation> + <xs:appinfo> + <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The reliability requirement for a transport slice network, expressed as a percentage.")</annox:annotate> + </xs:appinfo> + </xs:annotation> + </xs:element> <xs:element ref="tns:relationship-list" minOccurs="0"/> </xs:sequence> </xs:complexType> diff --git a/aai-schema/src/main/resources/onap/dbedgerules/v20/DbEdgeRules_ccvpn_v20.json b/aai-schema/src/main/resources/onap/dbedgerules/v20/DbEdgeRules_ccvpn_v20.json index f007e0a..475abbe 100644 --- a/aai-schema/src/main/resources/onap/dbedgerules/v20/DbEdgeRules_ccvpn_v20.json +++ b/aai-schema/src/main/resources/onap/dbedgerules/v20/DbEdgeRules_ccvpn_v20.json @@ -445,7 +445,7 @@ "default": "true", "description":"For CCVPN Usecase" }, - { + { "from": "p-interface", "to": "interlayer-attachment", "label": "tosca.relationships.network.LinksTo", @@ -458,7 +458,7 @@ "description":"For CCVPN Usecase" }, - { + { "from": "tunnel-termination-point", "to": "interlayer-attachment", "label": "tosca.relationships.network.LinksTo", @@ -483,7 +483,7 @@ "default": "true", "description":"For CCVPN Usecase" }, - { + { "from": "logical-link", "to": "te-link-attribute", "label": "tosca.relationships.network.LinksTo", @@ -496,7 +496,7 @@ "description":"For CCVPN Usecase" }, - { + { "from": "label-restriction", "to": "te-link-attribute", "label": "tosca.relationships.network.LinksTo", @@ -544,6 +544,18 @@ "prevent-delete": "NONE", "default": "true", "description":"For MDONS usecase" - } + }, + { + "from": "endpoint", + "to": "p-interface", + "label": "tosca.relationships.network.LinksTo", + "direction": "OUT", + "multiplicity": "ONE2ONE", + "contains-other-v": "NONE", + "delete-other-v": "NONE", + "prevent-delete": "NONE", + "default": "true", + "description":"For CCVPN Transport Slicing usecase" + } ] } diff --git a/aai-schema/src/main/resources/onap/oxm/v20/aai_oxm_v20.xml b/aai-schema/src/main/resources/onap/oxm/v20/aai_oxm_v20.xml index 5669464..8424058 100644 --- a/aai-schema/src/main/resources/onap/oxm/v20/aai_oxm_v20.xml +++ b/aai-schema/src/main/resources/onap/oxm/v20/aai_oxm_v20.xml @@ -3311,6 +3311,7 @@ <xml-element java-attribute="communicationServiceProfiles" name="communication-service-profiles" type="inventory.aai.onap.org.v20.CommunicationServiceProfiles"/> <xml-element java-attribute="serviceProfiles" name="service-profiles" type="inventory.aai.onap.org.v20.ServiceProfiles"/> <xml-element java-attribute="sliceProfiles" name="slice-profiles" type="inventory.aai.onap.org.v20.SliceProfiles"/> + <xml-element java-attribute="endpoints" name="endpoints" type="inventory.aai.onap.org.v20.Endpoints"/> <xml-element java-attribute="serviceFunction" name="service-function" type="java.lang.String"> <xml-properties> <xml-property name="description" value="String capturing function of the service."/> @@ -4760,6 +4761,36 @@ <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="name" name="name" type="java.lang.String"> + <xml-properties> + <xml-property name="description" value="Name of the policy"/> + </xml-properties> + </xml-element> + <xml-element java-attribute="type" name="type" type="java.lang.String"> + <xml-properties> + <xml-property name="description" value="Type of the policy"/> + </xml-properties> + </xml-element> + <xml-element java-attribute="latency" name="latency" type="java.lang.Integer"> + <xml-properties> + <xml-property name="description" value="The packet transmission latency (millisecond) through the Transport slice connections and is used to evaluate utilization performance of the end-to-end network slice instance."/> + </xml-properties> + </xml-element> + <xml-element java-attribute="jitter" name="jitter" type="java.lang.Integer"> + <xml-properties> + <xml-property name="description" value="jitter"/> + </xml-properties> + </xml-element> + <xml-element java-attribute="maxBandwidth" name="max-bandwidth" type="java.lang.Integer"> + <xml-properties> + <xml-property name="description" value="The maximum bandwidth (mb) of the connection links in a transport slice instance."/> + </xml-properties> + </xml-element> + <xml-element java-attribute="reliability" name="reliability" type="java.lang.Float"> + <xml-properties> + <xml-property name="description" value="The reliability requirement for an network slice subnet instance, expressed as a percentage."/> + </xml-properties> + </xml-element> <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v20.RelationshipList"/> </java-attributes> <xml-properties> @@ -6953,6 +6984,8 @@ </xml-properties> </xml-element> <xml-element java-attribute="tunnelXconnects" name="tunnel-xconnects" type="inventory.aai.onap.org.v20.TunnelXconnects"/> + <xml-element java-attribute="logicalLinks" name="logical-links" type="inventory.aai.onap.org.v20.LogicalLinks"/> + <xml-element java-attribute="networkPolicies" name="network-policies" type="inventory.aai.onap.org.v20.NetworkPolicies"/> <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v20.RelationshipList"/> </java-attributes> @@ -9414,7 +9447,7 @@ <xml-root-element name="common"/> <java-attributes> <xml-element java-attribute="contacts" name="contacts" type="inventory.aai.onap.org.v20.Contacts"/> - <xml-element java-attribute="profiles" name="profiles" type="inventory.aai.onap.org.v20.Profiles"/> + <xml-element java-attribute="profiles" name="profiles" type="inventory.aai.onap.org.v20.Profiles"/> </java-attributes> </java-type> @@ -9467,7 +9500,6 @@ <xml-property name="requiredProps" value="contact-name"/> </xml-properties> </java-type> - <java-type name="Profiles"> <xml-properties> <xml-property name="description" value="Collection of profiles"/> @@ -9523,6 +9555,7 @@ <xml-property name="requiredProps" value="profile-name"/> </xml-properties> </java-type> + <java-type name="AggregateRoutes"> <xml-properties> <xml-property name="description" value="Collection of aggregate routes."/> @@ -9847,6 +9880,11 @@ <xml-property name="description" value="The availability requirement for an network slice subnet instance, expressed as a percentage."/> </xml-properties> </xml-element> + <xml-element java-attribute="maxBandwidth" name="max-bandwidth" type="java.lang.Integer"> + <xml-properties> + <xml-property name="description" value="The maximum bandwidth (mb) of the connection links in a transport slice instance."/> + </xml-properties> + </xml-element> <xml-element java-attribute="reliability" name="reliability" type="java.lang.Float"> <xml-properties> <xml-property name="description" value="The reliability requirement for an network slice subnet instance, expressed as a percentage."/> @@ -9899,6 +9937,107 @@ <xml-property name="searcheable" value="profile-id"/> </xml-properties> </java-type> + <java-type name="IpAddress"> + <xml-root-element name="ip-address"/> + <java-attributes> + <xml-element java-attribute="ipAddress" name="ip-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="ipAddressEnd" name="ip-address-end" type="java.lang.String"> + <xml-properties> + <xml-property name="description" value="IP address end range."/> + </xml-properties> + </xml-element> + <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String"> + <xml-properties> + <xml-property name="description" value="IP version, either 4 or 6."/> + </xml-properties> + </xml-element> + <xml-element java-attribute="type" name="type" type="java.lang.String"> + <xml-properties> + <xml-property name="description" value="Type of IP address, eg., Reserved, Static, DHCP."/> + </xml-properties> + </xml-element> + <xml-element java-attribute="assignment" name="assignment" type="java.lang.String"> + <xml-properties> + <xml-property name="description" value="assignment."/> + </xml-properties> + </xml-element> + <xml-element java-attribute="operator" name="operator" type="java.lang.String"> + <xml-properties> + <xml-property name="description" value="Operator to apply to the port (greater than, less than, etc)."/> + </xml-properties> + </xml-element> + <xml-element java-attribute="length" name="length" type="java.lang.Integer"> + <xml-properties> + <xml-property name="description" value="ip-address prefix length, 32 for single address."/> + </xml-properties> + </xml-element> + </java-attributes> + <xml-properties> + <xml-property name="description" value="IP address."/> + <xml-property name="uniqueProps" value="ip-address"/> + <xml-property name="indexedProps" value="ip-address"/> + <xml-property name="container" value="ip-address-list"/> + <xml-property name="uriTemplate" value="/endpoints/endpoint/{endpoint-id}/ip-address-list/ip-address/{ip-address}"/> + <xml-property name="searcheable" value="ip-address"/> + </xml-properties> + </java-type> + <java-type name="IpAddressList"> + <xml-properties> + <xml-property name="description" value="List of IP addresses."/> + </xml-properties> + <xml-root-element name="ip-address-list"/> + <java-attributes> + <xml-element container-type="java.util.ArrayList" java-attribute="ipAddress" name="ip-address" type="inventory.aai.onap.org.v20.IpAddress"/> + </java-attributes> + </java-type> + <java-type name="Endpoint"> + <xml-root-element name="endpoint"/> + <java-attributes> + <xml-element java-attribute="endpointId" name="endpoint-id" required="true" type="java.lang.String" xml-key="true" > + <xml-properties> + <xml-property name="description" value="ID of an endpoint."/> + </xml-properties> + </xml-element> + <xml-element java-attribute="endpointName" name="endpoint-name" type="java.lang.String"> + <xml-properties> + <xml-property name="description" value="Name of an endpoint."/> + </xml-properties> + </xml-element> + <xml-element java-attribute="endpointType" name="endpoint-type" type="java.lang.String"> + <xml-properties> + <xml-property name="description" value="Type of an endpoint."/> + </xml-properties> + </xml-element> + <xml-element java-attribute="logicalInterfaceId" name="logical-interface-id" type="java.lang.String"> + <xml-properties> + <xml-property name="description" value="Identity of a logical interface, e.g., VLAN ID."/> + </xml-properties> + </xml-element> + <xml-element java-attribute="ipAddressList" name="ip-address-list" type="inventory.aai.onap.org.v20.IpAddressList"/> + <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v20.RelationshipList"/> + </java-attributes> + <xml-properties> + <xml-property name="description" value="Endpoint object."/> + <xml-property name="uniqueProps" value="endpoint-id"/> + <xml-property name="indexedProps" value="endpoint-id"/> + <xml-property name="container" value="endpoints"/> + <xml-property name="uriTemplate" value="/endpoints/endpoint/{endpoint-id}"/> + <xml-property name="searcheable" value="endpoint-id"/> + </xml-properties> + </java-type> + <java-type name="Endpoints"> + <xml-properties> + <xml-property name="description" value="Collection of Endpoint objects."/> + </xml-properties> + <xml-root-element name="endpoints"/> + <java-attributes> + <xml-element container-type="java.util.ArrayList" java-attribute="endpoint" name="endpoint" type="inventory.aai.onap.org.v20.Endpoint"/> + </java-attributes> + </java-type> </java-types> </xml-bindings> |