aboutsummaryrefslogtreecommitdiffstats
path: root/aai-service/provider/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'aai-service/provider/src/main/java')
-rwxr-xr-xaai-service/provider/src/main/java/META-INF/sun-jaxb.episode376
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/AaiInternal.java114
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Action.java109
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ActionData.java102
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Actions.java99
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/AvailabilityZone.java186
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/AvailabilityZones.java81
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Business.java72
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/CloudInfrastructure.java101
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/CloudRegion.java518
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/CloudRegions.java81
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ConstrainedElementSet.java214
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ConstrainedElementSets.java81
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/CtagAssignment.java124
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/CtagAssignments.java81
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Customer.java214
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Customers.java79
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/EdgePropNames.java264
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ElementChoiceSet.java213
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ElementChoiceSets.java81
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ExtraProperties.java44
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ExtraProperty.java74
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Flavor.java382
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Flavors.java79
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/GenericVnf.java1263
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/GenericVnfs.java81
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/GroupAssignment.java214
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/GroupAssignments.java81
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Image.java380
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Images.java79
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/IncludeNodeFilter.java74
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/InstanceFilter.java44
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/InstanceFilters.java81
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Inventory.java238
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/InventoryItem.java170
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/InventoryItemData.java102
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/InventoryResponseItem.java130
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/InventoryResponseItems.java81
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/KeyData.java102
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/L3InterfaceIpv4AddressList.java302
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/L3InterfaceIpv6AddressList.java302
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/L3Network.java743
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/L3Networks.java81
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/LInterface.java419
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/LInterfaces.java81
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/LagInterface.java214
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/LagInterfaces.java81
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/LogicalLink.java494
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/LogicalLinks.java81
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Metadata.java79
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Metadatum.java130
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Model.java325
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ModelAndNamedQuerySearch.java130
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ModelConstraint.java130
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ModelConstraints.java81
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ModelElement.java344
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ModelElements.java81
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Models.java79
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/NamedQueries.java81
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/NamedQuery.java343
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/NamedQueryElement.java305
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/NamedQueryElements.java81
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Network.java212
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/NotificationEvent.java102
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/NotificationEventHeader.java403
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Notify.java192
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ObjectFactory.java1015
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/PInterface.java326
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/PInterfaces.java81
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/PhysicalLink.java298
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/PhysicalLinks.java81
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Pnf.java514
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Pnfs.java79
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Properties.java102
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/PropertyConstraint.java186
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/PropertyConstraints.java81
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Pserver.java624
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Pservers.java79
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/QueryParameters.java101
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/RelatedLookup.java277
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/RelatedLookups.java81
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/RelatedToProperty.java102
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Relationship.java170
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/RelationshipData.java102
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/RelationshipList.java79
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ReservedPropNames.java217
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ResponseList.java74
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ResultData.java102
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Search.java74
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/SearchResults.java81
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/SecondaryFilter.java130
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/SegmentationAssignment.java130
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/SegmentationAssignments.java81
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Service.java214
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ServiceDesignAndCreation.java128
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ServiceInstance.java521
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ServiceInstances.java81
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ServiceSubscription.java186
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ServiceSubscriptions.java81
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Services.java79
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Snapshot.java381
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Snapshots.java79
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/StartNodeFilter.java102
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Subnet.java402
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Subnets.java79
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/TaggedInventoryItemList.java81
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Tenant.java185
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Tenants.java79
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Update.java169
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/UpdateNodeKey.java102
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/VfModule.java374
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/VfModules.java81
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Vlan.java397
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Vlans.java79
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Vnfc.java338
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Vnfcs.java79
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Volume.java158
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/VolumeGroup.java242
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/VolumeGroups.java81
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Volumes.java79
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Vserver.java337
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Vservers.java79
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/package-info.java9
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIClient.java150
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIDeclarations.java1946
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIExecutorInterface.java29
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIRequest.java260
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIService.java3301
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIServiceActivator.java228
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIServiceException.java77
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAITrinityService.java38
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/CloudRegionRequest.java120
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/CustomerRequest.java126
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/EchoRequest.java93
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GVnfLInterfaceRequest.java137
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GenVnfrVLanRequest.java132
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GenericQueryRequest.java145
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GenericVnfLInterfaceRequest.java125
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GenericVnfRequest.java145
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/L3InterfaceIpv4AddressListRequest.java196
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/L3InterfaceIpv6AddressListRequest.java163
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/L3NetworkRequest.java130
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/LInterfaceRequest.java244
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/LagInterfacePnfRequest.java126
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/LogicalLinkRequest.java110
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/NamedQueryRequest.java133
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/NodesQueryRequest.java145
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PInterfacePnfRequest.java126
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PInterfaceRequest.java133
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PServerRequest.java116
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PathRequest.java88
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PhysicalLinkRequest.java113
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PnfRequest.java117
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/RelationshipRequest.java127
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/SelfLinkRequest.java86
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/ServiceInstanceRequest.java120
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/ServiceRequest.java109
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/ServiceSubscriptionRequest.java120
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/SubInterfaceRequest.java185
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/SubnetRequest.java116
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/TenantRequest.java145
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/VLanRequest.java137
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/VServerVLanRequest.java148
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/VfModuleRequest.java116
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/VnfcRequest.java107
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/VolumeGroupRequest.java106
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/VserverRequest.java156
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/AAIDatum.java26
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/EchoResponse.java76
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/ErrorResponse.java78
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/RequestError.java78
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/ResourceVersion.java28
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/ResponseMessage.java122
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/ResponseMessages.java78
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/ServiceException.java126
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/SubInterface.java171
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/Variables.java78
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/notify/KeyDatum.java99
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/notify/NotifyEvent.java170
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/v1507/Flavor.java122
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/v1507/Host.java122
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/v1507/Image.java237
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/v1507/IpAddress.java168
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/v1507/Relationship.java147
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/v1507/RelationshipDatum.java124
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/v1507/RelationshipList.java101
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/v1507/VServer.java262
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/query/InstanceFilter.java104
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/query/InstanceFilters.java78
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/query/NamedQuery.java76
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/query/NamedQueryData.java102
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/query/QueryParameters.java76
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/update/Action.java101
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/update/ActionDatum.java99
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/update/Update.java124
-rw-r--r--aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/update/UpdateNodeKey.java99
196 files changed, 37376 insertions, 0 deletions
diff --git a/aai-service/provider/src/main/java/META-INF/sun-jaxb.episode b/aai-service/provider/src/main/java/META-INF/sun-jaxb.episode
new file mode 100755
index 0000000..b3df81c
--- /dev/null
+++ b/aai-service/provider/src/main/java/META-INF/sun-jaxb.episode
@@ -0,0 +1,376 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<bindings xmlns="http://java.sun.com/xml/ns/jaxb" if-exists="true" version="2.1">
+ <!--
+
+This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+Any modifications to this file will be lost upon recompilation of the source schema.
+Generated on: 2017.02.14 at 01:05:25 PM EST
+
+ -->
+ <bindings xmlns:tns="http://org.openecomp.aai.inventory/v8" if-exists="true" scd="x-schema::tns">
+ <schemaBindings map="false">
+ <package name="org.openecomp.aai.inventory.v8"/>
+ </schemaBindings>
+ <bindings if-exists="true" scd="tns:model-element">
+ <class ref="org.openecomp.aai.inventory.v8.ModelElement"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:named-query">
+ <class ref="org.openecomp.aai.inventory.v8.NamedQuery"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:result-data">
+ <class ref="org.openecomp.aai.inventory.v8.ResultData"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:search-results">
+ <class ref="org.openecomp.aai.inventory.v8.SearchResults"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:search">
+ <class ref="org.openecomp.aai.inventory.v8.Search"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:update-node-key">
+ <class ref="org.openecomp.aai.inventory.v8.UpdateNodeKey"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:action-data">
+ <class ref="org.openecomp.aai.inventory.v8.ActionData"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:action">
+ <class ref="org.openecomp.aai.inventory.v8.Action"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:update">
+ <class ref="org.openecomp.aai.inventory.v8.Update"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:key-data">
+ <class ref="org.openecomp.aai.inventory.v8.KeyData"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:notify">
+ <class ref="org.openecomp.aai.inventory.v8.Notify"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:actions">
+ <class ref="org.openecomp.aai.inventory.v8.Actions"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:relationship-data">
+ <class ref="org.openecomp.aai.inventory.v8.RelationshipData"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:related-to-property">
+ <class ref="org.openecomp.aai.inventory.v8.RelatedToProperty"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:relationship">
+ <class ref="org.openecomp.aai.inventory.v8.Relationship"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:relationship-list">
+ <class ref="org.openecomp.aai.inventory.v8.RelationshipList"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:volume-group">
+ <class ref="org.openecomp.aai.inventory.v8.VolumeGroup"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:volume-groups">
+ <class ref="org.openecomp.aai.inventory.v8.VolumeGroups"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:volume">
+ <class ref="org.openecomp.aai.inventory.v8.Volume"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:volumes">
+ <class ref="org.openecomp.aai.inventory.v8.Volumes"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:l3-interface-ipv4-address-list">
+ <class ref="org.openecomp.aai.inventory.v8.L3InterfaceIpv4AddressList"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:l3-interface-ipv6-address-list">
+ <class ref="org.openecomp.aai.inventory.v8.L3InterfaceIpv6AddressList"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:vlan">
+ <class ref="org.openecomp.aai.inventory.v8.Vlan"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:vlans">
+ <class ref="org.openecomp.aai.inventory.v8.Vlans"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:l-interface">
+ <class ref="org.openecomp.aai.inventory.v8.LInterface"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:l-interfaces">
+ <class ref="org.openecomp.aai.inventory.v8.LInterfaces"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:vserver">
+ <class ref="org.openecomp.aai.inventory.v8.Vserver"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:vservers">
+ <class ref="org.openecomp.aai.inventory.v8.Vservers"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:tenant">
+ <class ref="org.openecomp.aai.inventory.v8.Tenant"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:tenants">
+ <class ref="org.openecomp.aai.inventory.v8.Tenants"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:flavor">
+ <class ref="org.openecomp.aai.inventory.v8.Flavor"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:flavors">
+ <class ref="org.openecomp.aai.inventory.v8.Flavors"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:group-assignment">
+ <class ref="org.openecomp.aai.inventory.v8.GroupAssignment"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:group-assignments">
+ <class ref="org.openecomp.aai.inventory.v8.GroupAssignments"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:snapshot">
+ <class ref="org.openecomp.aai.inventory.v8.Snapshot"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:snapshots">
+ <class ref="org.openecomp.aai.inventory.v8.Snapshots"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:metadatum">
+ <class ref="org.openecomp.aai.inventory.v8.Metadatum"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:metadata">
+ <class ref="org.openecomp.aai.inventory.v8.Metadata"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:image">
+ <class ref="org.openecomp.aai.inventory.v8.Image"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:images">
+ <class ref="org.openecomp.aai.inventory.v8.Images"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:availability-zone">
+ <class ref="org.openecomp.aai.inventory.v8.AvailabilityZone"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:availability-zones">
+ <class ref="org.openecomp.aai.inventory.v8.AvailabilityZones"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:cloud-region">
+ <class ref="org.openecomp.aai.inventory.v8.CloudRegion"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:cloud-regions">
+ <class ref="org.openecomp.aai.inventory.v8.CloudRegions"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:p-interface">
+ <class ref="org.openecomp.aai.inventory.v8.PInterface"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:p-interfaces">
+ <class ref="org.openecomp.aai.inventory.v8.PInterfaces"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:lag-interface">
+ <class ref="org.openecomp.aai.inventory.v8.LagInterface"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:lag-interfaces">
+ <class ref="org.openecomp.aai.inventory.v8.LagInterfaces"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:pserver">
+ <class ref="org.openecomp.aai.inventory.v8.Pserver"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:pservers">
+ <class ref="org.openecomp.aai.inventory.v8.Pservers"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:cloud-infrastructure">
+ <class ref="org.openecomp.aai.inventory.v8.CloudInfrastructure"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:service-instance">
+ <class ref="org.openecomp.aai.inventory.v8.ServiceInstance"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:service-instances">
+ <class ref="org.openecomp.aai.inventory.v8.ServiceInstances"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:service-subscription">
+ <class ref="org.openecomp.aai.inventory.v8.ServiceSubscription"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:service-subscriptions">
+ <class ref="org.openecomp.aai.inventory.v8.ServiceSubscriptions"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:customer">
+ <class ref="org.openecomp.aai.inventory.v8.Customer"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:customers">
+ <class ref="org.openecomp.aai.inventory.v8.Customers"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:business">
+ <class ref="org.openecomp.aai.inventory.v8.Business"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:service">
+ <class ref="org.openecomp.aai.inventory.v8.Service"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:services">
+ <class ref="org.openecomp.aai.inventory.v8.Services"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:element-choice-set">
+ <class ref="org.openecomp.aai.inventory.v8.ElementChoiceSet"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:model-elements">
+ <class ref="org.openecomp.aai.inventory.v8.ModelElements"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:model-constraints">
+ <class ref="org.openecomp.aai.inventory.v8.ModelConstraints"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:model-constraint">
+ <class ref="org.openecomp.aai.inventory.v8.ModelConstraint"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:constrained-element-sets">
+ <class ref="org.openecomp.aai.inventory.v8.ConstrainedElementSets"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:constrained-element-set">
+ <class ref="org.openecomp.aai.inventory.v8.ConstrainedElementSet"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:element-choice-sets">
+ <class ref="org.openecomp.aai.inventory.v8.ElementChoiceSets"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:model">
+ <class ref="org.openecomp.aai.inventory.v8.Model"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:models">
+ <class ref="org.openecomp.aai.inventory.v8.Models"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:related-lookup">
+ <class ref="org.openecomp.aai.inventory.v8.RelatedLookup"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:related-lookups">
+ <class ref="org.openecomp.aai.inventory.v8.RelatedLookups"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:property-constraint">
+ <class ref="org.openecomp.aai.inventory.v8.PropertyConstraint"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:property-constraints">
+ <class ref="org.openecomp.aai.inventory.v8.PropertyConstraints"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:named-query-element">
+ <class ref="org.openecomp.aai.inventory.v8.NamedQueryElement"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:named-query-elements">
+ <class ref="org.openecomp.aai.inventory.v8.NamedQueryElements"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:named-queries">
+ <class ref="org.openecomp.aai.inventory.v8.NamedQueries"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:service-design-and-creation">
+ <class ref="org.openecomp.aai.inventory.v8.ServiceDesignAndCreation"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:logical-link">
+ <class ref="org.openecomp.aai.inventory.v8.LogicalLink"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:logical-links">
+ <class ref="org.openecomp.aai.inventory.v8.LogicalLinks"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:vnfc">
+ <class ref="org.openecomp.aai.inventory.v8.Vnfc"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:vnfcs">
+ <class ref="org.openecomp.aai.inventory.v8.Vnfcs"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:subnet">
+ <class ref="org.openecomp.aai.inventory.v8.Subnet"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:subnets">
+ <class ref="org.openecomp.aai.inventory.v8.Subnets"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:ctag-assignment">
+ <class ref="org.openecomp.aai.inventory.v8.CtagAssignment"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:ctag-assignments">
+ <class ref="org.openecomp.aai.inventory.v8.CtagAssignments"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:segmentation-assignment">
+ <class ref="org.openecomp.aai.inventory.v8.SegmentationAssignment"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:segmentation-assignments">
+ <class ref="org.openecomp.aai.inventory.v8.SegmentationAssignments"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:l3-network">
+ <class ref="org.openecomp.aai.inventory.v8.L3Network"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:l3-networks">
+ <class ref="org.openecomp.aai.inventory.v8.L3Networks"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:vf-module">
+ <class ref="org.openecomp.aai.inventory.v8.VfModule"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:vf-modules">
+ <class ref="org.openecomp.aai.inventory.v8.VfModules"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:generic-vnf">
+ <class ref="org.openecomp.aai.inventory.v8.GenericVnf"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:generic-vnfs">
+ <class ref="org.openecomp.aai.inventory.v8.GenericVnfs"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:pnf">
+ <class ref="org.openecomp.aai.inventory.v8.Pnf"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:pnfs">
+ <class ref="org.openecomp.aai.inventory.v8.Pnfs"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:physical-link">
+ <class ref="org.openecomp.aai.inventory.v8.PhysicalLink"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:physical-links">
+ <class ref="org.openecomp.aai.inventory.v8.PhysicalLinks"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:network">
+ <class ref="org.openecomp.aai.inventory.v8.Network"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:reserved-prop-names">
+ <class ref="org.openecomp.aai.inventory.v8.ReservedPropNames"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:edge-prop-names">
+ <class ref="org.openecomp.aai.inventory.v8.EdgePropNames"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:aai-internal">
+ <class ref="org.openecomp.aai.inventory.v8.AaiInternal"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:inventory">
+ <class ref="org.openecomp.aai.inventory.v8.Inventory"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:inventory-item-data">
+ <class ref="org.openecomp.aai.inventory.v8.InventoryItemData"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:inventory-item">
+ <class ref="org.openecomp.aai.inventory.v8.InventoryItem"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:tagged-inventory-item-list">
+ <class ref="org.openecomp.aai.inventory.v8.TaggedInventoryItemList"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:start-node-filter">
+ <class ref="org.openecomp.aai.inventory.v8.StartNodeFilter"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:include-node-filter">
+ <class ref="org.openecomp.aai.inventory.v8.IncludeNodeFilter"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:secondary-filter">
+ <class ref="org.openecomp.aai.inventory.v8.SecondaryFilter"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:notification-event-header">
+ <class ref="org.openecomp.aai.inventory.v8.NotificationEventHeader"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:notification-event">
+ <class ref="org.openecomp.aai.inventory.v8.NotificationEvent"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:query-parameters">
+ <class ref="org.openecomp.aai.inventory.v8.QueryParameters"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:instance-filter">
+ <class ref="org.openecomp.aai.inventory.v8.InstanceFilter"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:instance-filters">
+ <class ref="org.openecomp.aai.inventory.v8.InstanceFilters"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:model-and-named-query-search">
+ <class ref="org.openecomp.aai.inventory.v8.ModelAndNamedQuerySearch"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:properties">
+ <class ref="org.openecomp.aai.inventory.v8.Properties"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:extra-properties">
+ <class ref="org.openecomp.aai.inventory.v8.ExtraProperties"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:inventory-response-item">
+ <class ref="org.openecomp.aai.inventory.v8.InventoryResponseItem"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:inventory-response-items">
+ <class ref="org.openecomp.aai.inventory.v8.InventoryResponseItems"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:response-list">
+ <class ref="org.openecomp.aai.inventory.v8.ResponseList"/>
+ </bindings>
+ <bindings if-exists="true" scd="tns:extra-property">
+ <class ref="org.openecomp.aai.inventory.v8.ExtraProperty"/>
+ </bindings>
+ </bindings>
+</bindings>
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/AaiInternal.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/AaiInternal.java
new file mode 100644
index 0000000..5d6bd59
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/AaiInternal.java
@@ -0,0 +1,114 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}reserved-prop-names" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}edge-prop-names" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "reservedPropNames",
+ "edgePropNames"
+})
+@XmlRootElement(name = "aai-internal")
+public class AaiInternal
+ implements AAIDatum
+{
+
+ @XmlElement(name = "reserved-prop-names")
+ protected List<ReservedPropNames> reservedPropNames;
+ @XmlElement(name = "edge-prop-names")
+ protected List<EdgePropNames> edgePropNames;
+
+ /**
+ * Gets the value of the reservedPropNames property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the reservedPropNames property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getReservedPropNames().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link ReservedPropNames }
+ *
+ *
+ */
+ public List<ReservedPropNames> getReservedPropNames() {
+ if (reservedPropNames == null) {
+ reservedPropNames = new ArrayList<ReservedPropNames>();
+ }
+ return this.reservedPropNames;
+ }
+
+ /**
+ * Gets the value of the edgePropNames property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the edgePropNames property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getEdgePropNames().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link EdgePropNames }
+ *
+ *
+ */
+ public List<EdgePropNames> getEdgePropNames() {
+ if (edgePropNames == null) {
+ edgePropNames = new ArrayList<EdgePropNames>();
+ }
+ return this.edgePropNames;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Action.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Action.java
new file mode 100644
index 0000000..95aa6ed
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Action.java
@@ -0,0 +1,109 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="action-type" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}action-data" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "actionType",
+ "actionData"
+})
+@XmlRootElement(name = "action")
+public class Action
+ implements AAIDatum
+{
+
+ @XmlElement(name = "action-type")
+ protected String actionType;
+ @XmlElement(name = "action-data")
+ protected List<ActionData> actionData;
+
+ /**
+ * Gets the value of the actionType property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getActionType() {
+ return actionType;
+ }
+
+ /**
+ * Sets the value of the actionType property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setActionType(String value) {
+ this.actionType = value;
+ }
+
+ /**
+ * Gets the value of the actionData property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the actionData property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getActionData().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link ActionData }
+ *
+ *
+ */
+ public List<ActionData> getActionData() {
+ if (actionData == null) {
+ actionData = new ArrayList<ActionData>();
+ }
+ return this.actionData;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ActionData.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ActionData.java
new file mode 100644
index 0000000..7aa7a05
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ActionData.java
@@ -0,0 +1,102 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="property-name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="property-value" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "propertyName",
+ "propertyValue"
+})
+@XmlRootElement(name = "action-data")
+public class ActionData
+ implements AAIDatum
+{
+
+ @XmlElement(name = "property-name")
+ protected String propertyName;
+ @XmlElement(name = "property-value")
+ protected String propertyValue;
+
+ /**
+ * Gets the value of the propertyName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPropertyName() {
+ return propertyName;
+ }
+
+ /**
+ * Sets the value of the propertyName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPropertyName(String value) {
+ this.propertyName = value;
+ }
+
+ /**
+ * Gets the value of the propertyValue property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPropertyValue() {
+ return propertyValue;
+ }
+
+ /**
+ * Sets the value of the propertyValue property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPropertyValue(String value) {
+ this.propertyValue = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Actions.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Actions.java
new file mode 100644
index 0000000..e7bb49a
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Actions.java
@@ -0,0 +1,99 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}update" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}notify" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "update",
+ "notify"
+})
+@XmlRootElement(name = "actions")
+public class Actions
+ implements AAIDatum
+{
+
+ protected Update update;
+ protected Notify notify;
+
+ /**
+ * Gets the value of the update property.
+ *
+ * @return
+ * possible object is
+ * {@link Update }
+ *
+ */
+ public Update getUpdate() {
+ return update;
+ }
+
+ /**
+ * Sets the value of the update property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Update }
+ *
+ */
+ public void setUpdate(Update value) {
+ this.update = value;
+ }
+
+ /**
+ * Gets the value of the notify property.
+ *
+ * @return
+ * possible object is
+ * {@link Notify }
+ *
+ */
+ public Notify getNotify() {
+ return notify;
+ }
+
+ /**
+ * Sets the value of the notify property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Notify }
+ *
+ */
+ public void setNotify(Notify value) {
+ this.notify = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/AvailabilityZone.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/AvailabilityZone.java
new file mode 100644
index 0000000..0cd65dc
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/AvailabilityZone.java
@@ -0,0 +1,186 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="availability-zone-name" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="hypervisor-type" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="operational-state" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="resource-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}relationship-list" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "availabilityZoneName",
+ "hypervisorType",
+ "operationalState",
+ "resourceVersion",
+ "relationshipList"
+})
+@XmlRootElement(name = "availability-zone")
+public class AvailabilityZone
+ implements AAIDatum
+{
+
+ @XmlElement(name = "availability-zone-name", required = true)
+ protected String availabilityZoneName;
+ @XmlElement(name = "hypervisor-type", required = true)
+ protected String hypervisorType;
+ @XmlElement(name = "operational-state")
+ protected String operationalState;
+ @XmlElement(name = "resource-version")
+ protected String resourceVersion;
+ @XmlElement(name = "relationship-list")
+ protected RelationshipList relationshipList;
+
+ /**
+ * Gets the value of the availabilityZoneName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getAvailabilityZoneName() {
+ return availabilityZoneName;
+ }
+
+ /**
+ * Sets the value of the availabilityZoneName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setAvailabilityZoneName(String value) {
+ this.availabilityZoneName = value;
+ }
+
+ /**
+ * Gets the value of the hypervisorType property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getHypervisorType() {
+ return hypervisorType;
+ }
+
+ /**
+ * Sets the value of the hypervisorType property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setHypervisorType(String value) {
+ this.hypervisorType = value;
+ }
+
+ /**
+ * Gets the value of the operationalState property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getOperationalState() {
+ return operationalState;
+ }
+
+ /**
+ * Sets the value of the operationalState property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setOperationalState(String value) {
+ this.operationalState = value;
+ }
+
+ /**
+ * Gets the value of the resourceVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ /**
+ * Sets the value of the resourceVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceVersion(String value) {
+ this.resourceVersion = value;
+ }
+
+ /**
+ * Gets the value of the relationshipList property.
+ *
+ * @return
+ * possible object is
+ * {@link RelationshipList }
+ *
+ */
+ public RelationshipList getRelationshipList() {
+ return relationshipList;
+ }
+
+ /**
+ * Sets the value of the relationshipList property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RelationshipList }
+ *
+ */
+ public void setRelationshipList(RelationshipList value) {
+ this.relationshipList = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/AvailabilityZones.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/AvailabilityZones.java
new file mode 100644
index 0000000..98e0082
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/AvailabilityZones.java
@@ -0,0 +1,81 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}availability-zone" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "availabilityZone"
+})
+@XmlRootElement(name = "availability-zones")
+public class AvailabilityZones
+ implements AAIDatum
+{
+
+ @XmlElement(name = "availability-zone")
+ protected List<AvailabilityZone> availabilityZone;
+
+ /**
+ * Gets the value of the availabilityZone property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the availabilityZone property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getAvailabilityZone().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link AvailabilityZone }
+ *
+ *
+ */
+ public List<AvailabilityZone> getAvailabilityZone() {
+ if (availabilityZone == null) {
+ availabilityZone = new ArrayList<AvailabilityZone>();
+ }
+ return this.availabilityZone;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Business.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Business.java
new file mode 100644
index 0000000..7ac356b
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Business.java
@@ -0,0 +1,72 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}customers" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "customers"
+})
+@XmlRootElement(name = "business")
+public class Business
+ implements AAIDatum
+{
+
+ protected Customers customers;
+
+ /**
+ * Gets the value of the customers property.
+ *
+ * @return
+ * possible object is
+ * {@link Customers }
+ *
+ */
+ public Customers getCustomers() {
+ return customers;
+ }
+
+ /**
+ * Sets the value of the customers property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Customers }
+ *
+ */
+ public void setCustomers(Customers value) {
+ this.customers = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/CloudInfrastructure.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/CloudInfrastructure.java
new file mode 100644
index 0000000..d3fa79a
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/CloudInfrastructure.java
@@ -0,0 +1,101 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}cloud-regions" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}pservers" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "cloudRegions",
+ "pservers"
+})
+@XmlRootElement(name = "cloud-infrastructure")
+public class CloudInfrastructure
+ implements AAIDatum
+{
+
+ @XmlElement(name = "cloud-regions")
+ protected CloudRegions cloudRegions;
+ protected Pservers pservers;
+
+ /**
+ * Gets the value of the cloudRegions property.
+ *
+ * @return
+ * possible object is
+ * {@link CloudRegions }
+ *
+ */
+ public CloudRegions getCloudRegions() {
+ return cloudRegions;
+ }
+
+ /**
+ * Sets the value of the cloudRegions property.
+ *
+ * @param value
+ * allowed object is
+ * {@link CloudRegions }
+ *
+ */
+ public void setCloudRegions(CloudRegions value) {
+ this.cloudRegions = value;
+ }
+
+ /**
+ * Gets the value of the pservers property.
+ *
+ * @return
+ * possible object is
+ * {@link Pservers }
+ *
+ */
+ public Pservers getPservers() {
+ return pservers;
+ }
+
+ /**
+ * Sets the value of the pservers property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Pservers }
+ *
+ */
+ public void setPservers(Pservers value) {
+ this.pservers = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/CloudRegion.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/CloudRegion.java
new file mode 100644
index 0000000..bd79a24
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/CloudRegion.java
@@ -0,0 +1,518 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="cloud-owner" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="cloud-region-id" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="cloud-type" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="owner-defined-type" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="cloud-region-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="identity-url" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="cloud-zone" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="complex-name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="resource-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}volume-groups" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}tenants" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}flavors" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}group-assignments" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}snapshots" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}images" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}availability-zones" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}relationship-list" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "cloudOwner",
+ "cloudRegionId",
+ "cloudType",
+ "ownerDefinedType",
+ "cloudRegionVersion",
+ "identityUrl",
+ "cloudZone",
+ "complexName",
+ "resourceVersion",
+ "volumeGroups",
+ "tenants",
+ "flavors",
+ "groupAssignments",
+ "snapshots",
+ "images",
+ "availabilityZones",
+ "relationshipList"
+})
+@XmlRootElement(name = "cloud-region")
+public class CloudRegion
+ implements AAIDatum
+{
+
+ @XmlElement(name = "cloud-owner", required = true)
+ protected String cloudOwner;
+ @XmlElement(name = "cloud-region-id", required = true)
+ protected String cloudRegionId;
+ @XmlElement(name = "cloud-type")
+ protected String cloudType;
+ @XmlElement(name = "owner-defined-type")
+ protected String ownerDefinedType;
+ @XmlElement(name = "cloud-region-version")
+ protected String cloudRegionVersion;
+ @XmlElement(name = "identity-url")
+ protected String identityUrl;
+ @XmlElement(name = "cloud-zone")
+ protected String cloudZone;
+ @XmlElement(name = "complex-name")
+ protected String complexName;
+ @XmlElement(name = "resource-version")
+ protected String resourceVersion;
+ @XmlElement(name = "volume-groups")
+ protected VolumeGroups volumeGroups;
+ protected Tenants tenants;
+ protected Flavors flavors;
+ @XmlElement(name = "group-assignments")
+ protected GroupAssignments groupAssignments;
+ protected Snapshots snapshots;
+ protected Images images;
+ @XmlElement(name = "availability-zones")
+ protected AvailabilityZones availabilityZones;
+ @XmlElement(name = "relationship-list")
+ protected RelationshipList relationshipList;
+
+ /**
+ * Gets the value of the cloudOwner property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getCloudOwner() {
+ return cloudOwner;
+ }
+
+ /**
+ * Sets the value of the cloudOwner property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setCloudOwner(String value) {
+ this.cloudOwner = value;
+ }
+
+ /**
+ * Gets the value of the cloudRegionId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getCloudRegionId() {
+ return cloudRegionId;
+ }
+
+ /**
+ * Sets the value of the cloudRegionId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setCloudRegionId(String value) {
+ this.cloudRegionId = value;
+ }
+
+ /**
+ * Gets the value of the cloudType property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getCloudType() {
+ return cloudType;
+ }
+
+ /**
+ * Sets the value of the cloudType property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setCloudType(String value) {
+ this.cloudType = value;
+ }
+
+ /**
+ * Gets the value of the ownerDefinedType property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getOwnerDefinedType() {
+ return ownerDefinedType;
+ }
+
+ /**
+ * Sets the value of the ownerDefinedType property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setOwnerDefinedType(String value) {
+ this.ownerDefinedType = value;
+ }
+
+ /**
+ * Gets the value of the cloudRegionVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getCloudRegionVersion() {
+ return cloudRegionVersion;
+ }
+
+ /**
+ * Sets the value of the cloudRegionVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setCloudRegionVersion(String value) {
+ this.cloudRegionVersion = value;
+ }
+
+ /**
+ * Gets the value of the identityUrl property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getIdentityUrl() {
+ return identityUrl;
+ }
+
+ /**
+ * Sets the value of the identityUrl property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setIdentityUrl(String value) {
+ this.identityUrl = value;
+ }
+
+ /**
+ * Gets the value of the cloudZone property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getCloudZone() {
+ return cloudZone;
+ }
+
+ /**
+ * Sets the value of the cloudZone property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setCloudZone(String value) {
+ this.cloudZone = value;
+ }
+
+ /**
+ * Gets the value of the complexName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getComplexName() {
+ return complexName;
+ }
+
+ /**
+ * Sets the value of the complexName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setComplexName(String value) {
+ this.complexName = value;
+ }
+
+ /**
+ * Gets the value of the resourceVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ /**
+ * Sets the value of the resourceVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceVersion(String value) {
+ this.resourceVersion = value;
+ }
+
+ /**
+ * Gets the value of the volumeGroups property.
+ *
+ * @return
+ * possible object is
+ * {@link VolumeGroups }
+ *
+ */
+ public VolumeGroups getVolumeGroups() {
+ return volumeGroups;
+ }
+
+ /**
+ * Sets the value of the volumeGroups property.
+ *
+ * @param value
+ * allowed object is
+ * {@link VolumeGroups }
+ *
+ */
+ public void setVolumeGroups(VolumeGroups value) {
+ this.volumeGroups = value;
+ }
+
+ /**
+ * Gets the value of the tenants property.
+ *
+ * @return
+ * possible object is
+ * {@link Tenants }
+ *
+ */
+ public Tenants getTenants() {
+ return tenants;
+ }
+
+ /**
+ * Sets the value of the tenants property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Tenants }
+ *
+ */
+ public void setTenants(Tenants value) {
+ this.tenants = value;
+ }
+
+ /**
+ * Gets the value of the flavors property.
+ *
+ * @return
+ * possible object is
+ * {@link Flavors }
+ *
+ */
+ public Flavors getFlavors() {
+ return flavors;
+ }
+
+ /**
+ * Sets the value of the flavors property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Flavors }
+ *
+ */
+ public void setFlavors(Flavors value) {
+ this.flavors = value;
+ }
+
+ /**
+ * Gets the value of the groupAssignments property.
+ *
+ * @return
+ * possible object is
+ * {@link GroupAssignments }
+ *
+ */
+ public GroupAssignments getGroupAssignments() {
+ return groupAssignments;
+ }
+
+ /**
+ * Sets the value of the groupAssignments property.
+ *
+ * @param value
+ * allowed object is
+ * {@link GroupAssignments }
+ *
+ */
+ public void setGroupAssignments(GroupAssignments value) {
+ this.groupAssignments = value;
+ }
+
+ /**
+ * Gets the value of the snapshots property.
+ *
+ * @return
+ * possible object is
+ * {@link Snapshots }
+ *
+ */
+ public Snapshots getSnapshots() {
+ return snapshots;
+ }
+
+ /**
+ * Sets the value of the snapshots property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Snapshots }
+ *
+ */
+ public void setSnapshots(Snapshots value) {
+ this.snapshots = value;
+ }
+
+ /**
+ * Gets the value of the images property.
+ *
+ * @return
+ * possible object is
+ * {@link Images }
+ *
+ */
+ public Images getImages() {
+ return images;
+ }
+
+ /**
+ * Sets the value of the images property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Images }
+ *
+ */
+ public void setImages(Images value) {
+ this.images = value;
+ }
+
+ /**
+ * Gets the value of the availabilityZones property.
+ *
+ * @return
+ * possible object is
+ * {@link AvailabilityZones }
+ *
+ */
+ public AvailabilityZones getAvailabilityZones() {
+ return availabilityZones;
+ }
+
+ /**
+ * Sets the value of the availabilityZones property.
+ *
+ * @param value
+ * allowed object is
+ * {@link AvailabilityZones }
+ *
+ */
+ public void setAvailabilityZones(AvailabilityZones value) {
+ this.availabilityZones = value;
+ }
+
+ /**
+ * Gets the value of the relationshipList property.
+ *
+ * @return
+ * possible object is
+ * {@link RelationshipList }
+ *
+ */
+ public RelationshipList getRelationshipList() {
+ return relationshipList;
+ }
+
+ /**
+ * Sets the value of the relationshipList property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RelationshipList }
+ *
+ */
+ public void setRelationshipList(RelationshipList value) {
+ this.relationshipList = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/CloudRegions.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/CloudRegions.java
new file mode 100644
index 0000000..0d24631
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/CloudRegions.java
@@ -0,0 +1,81 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}cloud-region" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "cloudRegion"
+})
+@XmlRootElement(name = "cloud-regions")
+public class CloudRegions
+ implements AAIDatum
+{
+
+ @XmlElement(name = "cloud-region")
+ protected List<CloudRegion> cloudRegion;
+
+ /**
+ * Gets the value of the cloudRegion property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the cloudRegion property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getCloudRegion().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link CloudRegion }
+ *
+ *
+ */
+ public List<CloudRegion> getCloudRegion() {
+ if (cloudRegion == null) {
+ cloudRegion = new ArrayList<CloudRegion>();
+ }
+ return this.cloudRegion;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ConstrainedElementSet.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ConstrainedElementSet.java
new file mode 100644
index 0000000..04e7737
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ConstrainedElementSet.java
@@ -0,0 +1,214 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="constrained-element-set-uuid" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="constraint-type" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="check-type" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="resource-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}element-choice-sets" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}relationship-list" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "constrainedElementSetUuid",
+ "constraintType",
+ "checkType",
+ "resourceVersion",
+ "elementChoiceSets",
+ "relationshipList"
+})
+@XmlRootElement(name = "constrained-element-set")
+public class ConstrainedElementSet
+ implements AAIDatum
+{
+
+ @XmlElement(name = "constrained-element-set-uuid", required = true)
+ protected String constrainedElementSetUuid;
+ @XmlElement(name = "constraint-type", required = true)
+ protected String constraintType;
+ @XmlElement(name = "check-type", required = true)
+ protected String checkType;
+ @XmlElement(name = "resource-version")
+ protected String resourceVersion;
+ @XmlElement(name = "element-choice-sets")
+ protected ElementChoiceSets elementChoiceSets;
+ @XmlElement(name = "relationship-list")
+ protected RelationshipList relationshipList;
+
+ /**
+ * Gets the value of the constrainedElementSetUuid property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getConstrainedElementSetUuid() {
+ return constrainedElementSetUuid;
+ }
+
+ /**
+ * Sets the value of the constrainedElementSetUuid property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setConstrainedElementSetUuid(String value) {
+ this.constrainedElementSetUuid = value;
+ }
+
+ /**
+ * Gets the value of the constraintType property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getConstraintType() {
+ return constraintType;
+ }
+
+ /**
+ * Sets the value of the constraintType property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setConstraintType(String value) {
+ this.constraintType = value;
+ }
+
+ /**
+ * Gets the value of the checkType property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getCheckType() {
+ return checkType;
+ }
+
+ /**
+ * Sets the value of the checkType property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setCheckType(String value) {
+ this.checkType = value;
+ }
+
+ /**
+ * Gets the value of the resourceVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ /**
+ * Sets the value of the resourceVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceVersion(String value) {
+ this.resourceVersion = value;
+ }
+
+ /**
+ * Gets the value of the elementChoiceSets property.
+ *
+ * @return
+ * possible object is
+ * {@link ElementChoiceSets }
+ *
+ */
+ public ElementChoiceSets getElementChoiceSets() {
+ return elementChoiceSets;
+ }
+
+ /**
+ * Sets the value of the elementChoiceSets property.
+ *
+ * @param value
+ * allowed object is
+ * {@link ElementChoiceSets }
+ *
+ */
+ public void setElementChoiceSets(ElementChoiceSets value) {
+ this.elementChoiceSets = value;
+ }
+
+ /**
+ * Gets the value of the relationshipList property.
+ *
+ * @return
+ * possible object is
+ * {@link RelationshipList }
+ *
+ */
+ public RelationshipList getRelationshipList() {
+ return relationshipList;
+ }
+
+ /**
+ * Sets the value of the relationshipList property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RelationshipList }
+ *
+ */
+ public void setRelationshipList(RelationshipList value) {
+ this.relationshipList = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ConstrainedElementSets.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ConstrainedElementSets.java
new file mode 100644
index 0000000..96a3b24
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ConstrainedElementSets.java
@@ -0,0 +1,81 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}constrained-element-set" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "constrainedElementSet"
+})
+@XmlRootElement(name = "constrained-element-sets")
+public class ConstrainedElementSets
+ implements AAIDatum
+{
+
+ @XmlElement(name = "constrained-element-set")
+ protected List<ConstrainedElementSet> constrainedElementSet;
+
+ /**
+ * Gets the value of the constrainedElementSet property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the constrainedElementSet property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getConstrainedElementSet().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link ConstrainedElementSet }
+ *
+ *
+ */
+ public List<ConstrainedElementSet> getConstrainedElementSet() {
+ if (constrainedElementSet == null) {
+ constrainedElementSet = new ArrayList<ConstrainedElementSet>();
+ }
+ return this.constrainedElementSet;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/CtagAssignment.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/CtagAssignment.java
new file mode 100644
index 0000000..37c0313
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/CtagAssignment.java
@@ -0,0 +1,124 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="vlan-id-inner" type="{http://www.w3.org/2001/XMLSchema}unsignedInt"/&gt;
+ * &lt;element name="resource-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}relationship-list" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "vlanIdInner",
+ "resourceVersion",
+ "relationshipList"
+})
+@XmlRootElement(name = "ctag-assignment")
+public class CtagAssignment
+ implements AAIDatum
+{
+
+ @XmlElement(name = "vlan-id-inner")
+ @XmlSchemaType(name = "unsignedInt")
+ protected long vlanIdInner;
+ @XmlElement(name = "resource-version")
+ protected String resourceVersion;
+ @XmlElement(name = "relationship-list")
+ protected RelationshipList relationshipList;
+
+ /**
+ * Gets the value of the vlanIdInner property.
+ *
+ */
+ public long getVlanIdInner() {
+ return vlanIdInner;
+ }
+
+ /**
+ * Sets the value of the vlanIdInner property.
+ *
+ */
+ public void setVlanIdInner(long value) {
+ this.vlanIdInner = value;
+ }
+
+ /**
+ * Gets the value of the resourceVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ /**
+ * Sets the value of the resourceVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceVersion(String value) {
+ this.resourceVersion = value;
+ }
+
+ /**
+ * Gets the value of the relationshipList property.
+ *
+ * @return
+ * possible object is
+ * {@link RelationshipList }
+ *
+ */
+ public RelationshipList getRelationshipList() {
+ return relationshipList;
+ }
+
+ /**
+ * Sets the value of the relationshipList property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RelationshipList }
+ *
+ */
+ public void setRelationshipList(RelationshipList value) {
+ this.relationshipList = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/CtagAssignments.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/CtagAssignments.java
new file mode 100644
index 0000000..5fb250d
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/CtagAssignments.java
@@ -0,0 +1,81 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}ctag-assignment" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "ctagAssignment"
+})
+@XmlRootElement(name = "ctag-assignments")
+public class CtagAssignments
+ implements AAIDatum
+{
+
+ @XmlElement(name = "ctag-assignment")
+ protected List<CtagAssignment> ctagAssignment;
+
+ /**
+ * Gets the value of the ctagAssignment property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the ctagAssignment property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getCtagAssignment().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link CtagAssignment }
+ *
+ *
+ */
+ public List<CtagAssignment> getCtagAssignment() {
+ if (ctagAssignment == null) {
+ ctagAssignment = new ArrayList<CtagAssignment>();
+ }
+ return this.ctagAssignment;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Customer.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Customer.java
new file mode 100644
index 0000000..858d7f5
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Customer.java
@@ -0,0 +1,214 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="global-customer-id" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="subscriber-name" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="subscriber-type" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="resource-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}service-subscriptions" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}relationship-list" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "globalCustomerId",
+ "subscriberName",
+ "subscriberType",
+ "resourceVersion",
+ "serviceSubscriptions",
+ "relationshipList"
+})
+@XmlRootElement(name = "customer")
+public class Customer
+ implements AAIDatum
+{
+
+ @XmlElement(name = "global-customer-id", required = true)
+ protected String globalCustomerId;
+ @XmlElement(name = "subscriber-name", required = true)
+ protected String subscriberName;
+ @XmlElement(name = "subscriber-type", required = true)
+ protected String subscriberType;
+ @XmlElement(name = "resource-version")
+ protected String resourceVersion;
+ @XmlElement(name = "service-subscriptions")
+ protected ServiceSubscriptions serviceSubscriptions;
+ @XmlElement(name = "relationship-list")
+ protected RelationshipList relationshipList;
+
+ /**
+ * Gets the value of the globalCustomerId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getGlobalCustomerId() {
+ return globalCustomerId;
+ }
+
+ /**
+ * Sets the value of the globalCustomerId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setGlobalCustomerId(String value) {
+ this.globalCustomerId = value;
+ }
+
+ /**
+ * Gets the value of the subscriberName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSubscriberName() {
+ return subscriberName;
+ }
+
+ /**
+ * Sets the value of the subscriberName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSubscriberName(String value) {
+ this.subscriberName = value;
+ }
+
+ /**
+ * Gets the value of the subscriberType property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSubscriberType() {
+ return subscriberType;
+ }
+
+ /**
+ * Sets the value of the subscriberType property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSubscriberType(String value) {
+ this.subscriberType = value;
+ }
+
+ /**
+ * Gets the value of the resourceVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ /**
+ * Sets the value of the resourceVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceVersion(String value) {
+ this.resourceVersion = value;
+ }
+
+ /**
+ * Gets the value of the serviceSubscriptions property.
+ *
+ * @return
+ * possible object is
+ * {@link ServiceSubscriptions }
+ *
+ */
+ public ServiceSubscriptions getServiceSubscriptions() {
+ return serviceSubscriptions;
+ }
+
+ /**
+ * Sets the value of the serviceSubscriptions property.
+ *
+ * @param value
+ * allowed object is
+ * {@link ServiceSubscriptions }
+ *
+ */
+ public void setServiceSubscriptions(ServiceSubscriptions value) {
+ this.serviceSubscriptions = value;
+ }
+
+ /**
+ * Gets the value of the relationshipList property.
+ *
+ * @return
+ * possible object is
+ * {@link RelationshipList }
+ *
+ */
+ public RelationshipList getRelationshipList() {
+ return relationshipList;
+ }
+
+ /**
+ * Sets the value of the relationshipList property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RelationshipList }
+ *
+ */
+ public void setRelationshipList(RelationshipList value) {
+ this.relationshipList = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Customers.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Customers.java
new file mode 100644
index 0000000..f974427
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Customers.java
@@ -0,0 +1,79 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}customer" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "customer"
+})
+@XmlRootElement(name = "customers")
+public class Customers
+ implements AAIDatum
+{
+
+ protected List<Customer> customer;
+
+ /**
+ * Gets the value of the customer property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the customer property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getCustomer().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link Customer }
+ *
+ *
+ */
+ public List<Customer> getCustomer() {
+ if (customer == null) {
+ customer = new ArrayList<Customer>();
+ }
+ return this.customer;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/EdgePropNames.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/EdgePropNames.java
new file mode 100644
index 0000000..b26cc08
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/EdgePropNames.java
@@ -0,0 +1,264 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="edgeLabel" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="direction" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="multiplicityRule" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="isParent" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/&gt;
+ * &lt;element name="usesResource" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/&gt;
+ * &lt;element name="hasDelTarget" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/&gt;
+ * &lt;element name="SVC-INFRA" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="SVC-INFRA-REV" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "edgeLabel",
+ "direction",
+ "multiplicityRule",
+ "isParent",
+ "usesResource",
+ "hasDelTarget",
+ "svcinfra",
+ "svcinfrarev"
+})
+@XmlRootElement(name = "edge-prop-names")
+public class EdgePropNames
+ implements AAIDatum
+{
+
+ protected String edgeLabel;
+ protected String direction;
+ protected String multiplicityRule;
+ protected Boolean isParent;
+ protected Boolean usesResource;
+ protected Boolean hasDelTarget;
+ @XmlElement(name = "SVC-INFRA")
+ protected String svcinfra;
+ @XmlElement(name = "SVC-INFRA-REV")
+ protected String svcinfrarev;
+
+ /**
+ * Gets the value of the edgeLabel property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getEdgeLabel() {
+ return edgeLabel;
+ }
+
+ /**
+ * Sets the value of the edgeLabel property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setEdgeLabel(String value) {
+ this.edgeLabel = value;
+ }
+
+ /**
+ * Gets the value of the direction property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getDirection() {
+ return direction;
+ }
+
+ /**
+ * Sets the value of the direction property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setDirection(String value) {
+ this.direction = value;
+ }
+
+ /**
+ * Gets the value of the multiplicityRule property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getMultiplicityRule() {
+ return multiplicityRule;
+ }
+
+ /**
+ * Sets the value of the multiplicityRule property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setMultiplicityRule(String value) {
+ this.multiplicityRule = value;
+ }
+
+ /**
+ * Gets the value of the isParent property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isIsParent() {
+ return isParent;
+ }
+
+ /**
+ * Sets the value of the isParent property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setIsParent(Boolean value) {
+ this.isParent = value;
+ }
+
+ /**
+ * Gets the value of the usesResource property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isUsesResource() {
+ return usesResource;
+ }
+
+ /**
+ * Sets the value of the usesResource property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setUsesResource(Boolean value) {
+ this.usesResource = value;
+ }
+
+ /**
+ * Gets the value of the hasDelTarget property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isHasDelTarget() {
+ return hasDelTarget;
+ }
+
+ /**
+ * Sets the value of the hasDelTarget property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setHasDelTarget(Boolean value) {
+ this.hasDelTarget = value;
+ }
+
+ /**
+ * Gets the value of the svcinfra property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSVCINFRA() {
+ return svcinfra;
+ }
+
+ /**
+ * Sets the value of the svcinfra property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSVCINFRA(String value) {
+ this.svcinfra = value;
+ }
+
+ /**
+ * Gets the value of the svcinfrarev property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSVCINFRAREV() {
+ return svcinfrarev;
+ }
+
+ /**
+ * Sets the value of the svcinfrarev property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSVCINFRAREV(String value) {
+ this.svcinfrarev = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ElementChoiceSet.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ElementChoiceSet.java
new file mode 100644
index 0000000..9deca1d
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ElementChoiceSet.java
@@ -0,0 +1,213 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="element-choice-set-uuid" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="element-choice-set-name" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="cardinality" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="resource-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}model-elements" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}relationship-list" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "elementChoiceSetUuid",
+ "elementChoiceSetName",
+ "cardinality",
+ "resourceVersion",
+ "modelElements",
+ "relationshipList"
+})
+@XmlRootElement(name = "element-choice-set")
+public class ElementChoiceSet
+ implements AAIDatum
+{
+
+ @XmlElement(name = "element-choice-set-uuid", required = true)
+ protected String elementChoiceSetUuid;
+ @XmlElement(name = "element-choice-set-name", required = true)
+ protected String elementChoiceSetName;
+ protected String cardinality;
+ @XmlElement(name = "resource-version")
+ protected String resourceVersion;
+ @XmlElement(name = "model-elements")
+ protected ModelElements modelElements;
+ @XmlElement(name = "relationship-list")
+ protected RelationshipList relationshipList;
+
+ /**
+ * Gets the value of the elementChoiceSetUuid property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getElementChoiceSetUuid() {
+ return elementChoiceSetUuid;
+ }
+
+ /**
+ * Sets the value of the elementChoiceSetUuid property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setElementChoiceSetUuid(String value) {
+ this.elementChoiceSetUuid = value;
+ }
+
+ /**
+ * Gets the value of the elementChoiceSetName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getElementChoiceSetName() {
+ return elementChoiceSetName;
+ }
+
+ /**
+ * Sets the value of the elementChoiceSetName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setElementChoiceSetName(String value) {
+ this.elementChoiceSetName = value;
+ }
+
+ /**
+ * Gets the value of the cardinality property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getCardinality() {
+ return cardinality;
+ }
+
+ /**
+ * Sets the value of the cardinality property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setCardinality(String value) {
+ this.cardinality = value;
+ }
+
+ /**
+ * Gets the value of the resourceVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ /**
+ * Sets the value of the resourceVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceVersion(String value) {
+ this.resourceVersion = value;
+ }
+
+ /**
+ * Gets the value of the modelElements property.
+ *
+ * @return
+ * possible object is
+ * {@link ModelElements }
+ *
+ */
+ public ModelElements getModelElements() {
+ return modelElements;
+ }
+
+ /**
+ * Sets the value of the modelElements property.
+ *
+ * @param value
+ * allowed object is
+ * {@link ModelElements }
+ *
+ */
+ public void setModelElements(ModelElements value) {
+ this.modelElements = value;
+ }
+
+ /**
+ * Gets the value of the relationshipList property.
+ *
+ * @return
+ * possible object is
+ * {@link RelationshipList }
+ *
+ */
+ public RelationshipList getRelationshipList() {
+ return relationshipList;
+ }
+
+ /**
+ * Sets the value of the relationshipList property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RelationshipList }
+ *
+ */
+ public void setRelationshipList(RelationshipList value) {
+ this.relationshipList = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ElementChoiceSets.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ElementChoiceSets.java
new file mode 100644
index 0000000..0d91543
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ElementChoiceSets.java
@@ -0,0 +1,81 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}element-choice-set" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "elementChoiceSet"
+})
+@XmlRootElement(name = "element-choice-sets")
+public class ElementChoiceSets
+ implements AAIDatum
+{
+
+ @XmlElement(name = "element-choice-set")
+ protected List<ElementChoiceSet> elementChoiceSet;
+
+ /**
+ * Gets the value of the elementChoiceSet property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the elementChoiceSet property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getElementChoiceSet().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link ElementChoiceSet }
+ *
+ *
+ */
+ public List<ElementChoiceSet> getElementChoiceSet() {
+ if (elementChoiceSet == null) {
+ elementChoiceSet = new ArrayList<ElementChoiceSet>();
+ }
+ return this.elementChoiceSet;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ExtraProperties.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ExtraProperties.java
new file mode 100644
index 0000000..c21582d
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ExtraProperties.java
@@ -0,0 +1,44 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "")
+@XmlRootElement(name = "extra-properties")
+public class ExtraProperties
+ implements AAIDatum
+{
+
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ExtraProperty.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ExtraProperty.java
new file mode 100644
index 0000000..520cbea
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ExtraProperty.java
@@ -0,0 +1,74 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="property-name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "propertyName"
+})
+@XmlRootElement(name = "extra-property")
+public class ExtraProperty
+ implements AAIDatum
+{
+
+ @XmlElement(name = "property-name")
+ protected String propertyName;
+
+ /**
+ * Gets the value of the propertyName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPropertyName() {
+ return propertyName;
+ }
+
+ /**
+ * Sets the value of the propertyName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPropertyName(String value) {
+ this.propertyName = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Flavor.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Flavor.java
new file mode 100644
index 0000000..a616564
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Flavor.java
@@ -0,0 +1,382 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="flavor-id" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="flavor-name" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="flavor-vcpus" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/&gt;
+ * &lt;element name="flavor-ram" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/&gt;
+ * &lt;element name="flavor-disk" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/&gt;
+ * &lt;element name="flavor-ephemeral" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/&gt;
+ * &lt;element name="flavor-swap" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="flavor-is-public" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/&gt;
+ * &lt;element name="flavor-selflink" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="flavor-disabled" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/&gt;
+ * &lt;element name="resource-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}relationship-list" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "flavorId",
+ "flavorName",
+ "flavorVcpus",
+ "flavorRam",
+ "flavorDisk",
+ "flavorEphemeral",
+ "flavorSwap",
+ "flavorIsPublic",
+ "flavorSelflink",
+ "flavorDisabled",
+ "resourceVersion",
+ "relationshipList"
+})
+@XmlRootElement(name = "flavor")
+public class Flavor
+ implements AAIDatum
+{
+
+ @XmlElement(name = "flavor-id", required = true)
+ protected String flavorId;
+ @XmlElement(name = "flavor-name", required = true)
+ protected String flavorName;
+ @XmlElement(name = "flavor-vcpus")
+ protected Integer flavorVcpus;
+ @XmlElement(name = "flavor-ram")
+ protected Integer flavorRam;
+ @XmlElement(name = "flavor-disk")
+ protected Integer flavorDisk;
+ @XmlElement(name = "flavor-ephemeral")
+ protected Integer flavorEphemeral;
+ @XmlElement(name = "flavor-swap")
+ protected String flavorSwap;
+ @XmlElement(name = "flavor-is-public")
+ protected Boolean flavorIsPublic;
+ @XmlElement(name = "flavor-selflink", required = true)
+ protected String flavorSelflink;
+ @XmlElement(name = "flavor-disabled")
+ protected Boolean flavorDisabled;
+ @XmlElement(name = "resource-version")
+ protected String resourceVersion;
+ @XmlElement(name = "relationship-list")
+ protected RelationshipList relationshipList;
+
+ /**
+ * Gets the value of the flavorId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getFlavorId() {
+ return flavorId;
+ }
+
+ /**
+ * Sets the value of the flavorId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setFlavorId(String value) {
+ this.flavorId = value;
+ }
+
+ /**
+ * Gets the value of the flavorName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getFlavorName() {
+ return flavorName;
+ }
+
+ /**
+ * Sets the value of the flavorName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setFlavorName(String value) {
+ this.flavorName = value;
+ }
+
+ /**
+ * Gets the value of the flavorVcpus property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getFlavorVcpus() {
+ return flavorVcpus;
+ }
+
+ /**
+ * Sets the value of the flavorVcpus property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setFlavorVcpus(Integer value) {
+ this.flavorVcpus = value;
+ }
+
+ /**
+ * Gets the value of the flavorRam property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getFlavorRam() {
+ return flavorRam;
+ }
+
+ /**
+ * Sets the value of the flavorRam property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setFlavorRam(Integer value) {
+ this.flavorRam = value;
+ }
+
+ /**
+ * Gets the value of the flavorDisk property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getFlavorDisk() {
+ return flavorDisk;
+ }
+
+ /**
+ * Sets the value of the flavorDisk property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setFlavorDisk(Integer value) {
+ this.flavorDisk = value;
+ }
+
+ /**
+ * Gets the value of the flavorEphemeral property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getFlavorEphemeral() {
+ return flavorEphemeral;
+ }
+
+ /**
+ * Sets the value of the flavorEphemeral property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setFlavorEphemeral(Integer value) {
+ this.flavorEphemeral = value;
+ }
+
+ /**
+ * Gets the value of the flavorSwap property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getFlavorSwap() {
+ return flavorSwap;
+ }
+
+ /**
+ * Sets the value of the flavorSwap property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setFlavorSwap(String value) {
+ this.flavorSwap = value;
+ }
+
+ /**
+ * Gets the value of the flavorIsPublic property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isFlavorIsPublic() {
+ return flavorIsPublic;
+ }
+
+ /**
+ * Sets the value of the flavorIsPublic property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setFlavorIsPublic(Boolean value) {
+ this.flavorIsPublic = value;
+ }
+
+ /**
+ * Gets the value of the flavorSelflink property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getFlavorSelflink() {
+ return flavorSelflink;
+ }
+
+ /**
+ * Sets the value of the flavorSelflink property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setFlavorSelflink(String value) {
+ this.flavorSelflink = value;
+ }
+
+ /**
+ * Gets the value of the flavorDisabled property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isFlavorDisabled() {
+ return flavorDisabled;
+ }
+
+ /**
+ * Sets the value of the flavorDisabled property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setFlavorDisabled(Boolean value) {
+ this.flavorDisabled = value;
+ }
+
+ /**
+ * Gets the value of the resourceVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ /**
+ * Sets the value of the resourceVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceVersion(String value) {
+ this.resourceVersion = value;
+ }
+
+ /**
+ * Gets the value of the relationshipList property.
+ *
+ * @return
+ * possible object is
+ * {@link RelationshipList }
+ *
+ */
+ public RelationshipList getRelationshipList() {
+ return relationshipList;
+ }
+
+ /**
+ * Sets the value of the relationshipList property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RelationshipList }
+ *
+ */
+ public void setRelationshipList(RelationshipList value) {
+ this.relationshipList = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Flavors.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Flavors.java
new file mode 100644
index 0000000..2fa8d55
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Flavors.java
@@ -0,0 +1,79 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}flavor" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "flavor"
+})
+@XmlRootElement(name = "flavors")
+public class Flavors
+ implements AAIDatum
+{
+
+ protected List<Flavor> flavor;
+
+ /**
+ * Gets the value of the flavor property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the flavor property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getFlavor().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link Flavor }
+ *
+ *
+ */
+ public List<Flavor> getFlavor() {
+ if (flavor == null) {
+ flavor = new ArrayList<Flavor>();
+ }
+ return this.flavor;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/GenericVnf.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/GenericVnf.java
new file mode 100644
index 0000000..9c4364e
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/GenericVnf.java
@@ -0,0 +1,1263 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="vnf-id" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="vnf-name" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="vnf-name2" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="vnf-type" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="service-id" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="regional-resource-zone" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="prov-status" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="operational-state" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="license-key" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="equipment-role" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="orchestration-status" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="heat-stack-id" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="mso-catalog-key" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="management-option" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="ipv4-oam-address" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="ipv4-loopback0-address" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="nm-lan-v6-address" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="management-v6-address" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="vcpu" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/&gt;
+ * &lt;element name="vcpu-units" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="vmemory" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/&gt;
+ * &lt;element name="vmemory-units" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="vdisk" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/&gt;
+ * &lt;element name="vdisk-units" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="in-maint" type="{http://www.w3.org/2001/XMLSchema}boolean"/&gt;
+ * &lt;element name="is-closed-loop-disabled" type="{http://www.w3.org/2001/XMLSchema}boolean"/&gt;
+ * &lt;element name="resource-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="summary-status" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="encrypted-access-flag" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/&gt;
+ * &lt;element name="entitlement-assignment-group-uuid" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="entitlement-resource-uuid" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="license-assignment-group-uuid" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="license-key-uuid" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="persona-model-id" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="persona-model-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="persona-model-customization-id" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="widget-model-id" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="widget-model-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="as-number" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="regional-resource-subzone" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}relationship-list" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}l-interfaces" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}lag-interfaces" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}vf-modules" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "vnfId",
+ "vnfName",
+ "vnfName2",
+ "vnfType",
+ "serviceId",
+ "regionalResourceZone",
+ "provStatus",
+ "operationalState",
+ "licenseKey",
+ "equipmentRole",
+ "orchestrationStatus",
+ "heatStackId",
+ "msoCatalogKey",
+ "managementOption",
+ "ipv4OamAddress",
+ "ipv4Loopback0Address",
+ "nmLanV6Address",
+ "managementV6Address",
+ "vcpu",
+ "vcpuUnits",
+ "vmemory",
+ "vmemoryUnits",
+ "vdisk",
+ "vdiskUnits",
+ "inMaint",
+ "isClosedLoopDisabled",
+ "resourceVersion",
+ "summaryStatus",
+ "encryptedAccessFlag",
+ "entitlementAssignmentGroupUuid",
+ "entitlementResourceUuid",
+ "licenseAssignmentGroupUuid",
+ "licenseKeyUuid",
+ "personaModelId",
+ "personaModelVersion",
+ "personaModelCustomizationId",
+ "widgetModelId",
+ "widgetModelVersion",
+ "asNumber",
+ "regionalResourceSubzone",
+ "relationshipList",
+ "lInterfaces",
+ "lagInterfaces",
+ "vfModules"
+})
+@XmlRootElement(name = "generic-vnf")
+public class GenericVnf
+ implements AAIDatum
+{
+
+ @XmlElement(name = "vnf-id", required = true)
+ protected String vnfId;
+ @XmlElement(name = "vnf-name", required = true)
+ protected String vnfName;
+ @XmlElement(name = "vnf-name2")
+ protected String vnfName2;
+ @XmlElement(name = "vnf-type", required = true)
+ protected String vnfType;
+ @XmlElement(name = "service-id")
+ protected String serviceId;
+ @XmlElement(name = "regional-resource-zone")
+ protected String regionalResourceZone;
+ @XmlElement(name = "prov-status")
+ protected String provStatus;
+ @XmlElement(name = "operational-state")
+ protected String operationalState;
+ @XmlElement(name = "license-key")
+ protected String licenseKey;
+ @XmlElement(name = "equipment-role")
+ protected String equipmentRole;
+ @XmlElement(name = "orchestration-status")
+ protected String orchestrationStatus;
+ @XmlElement(name = "heat-stack-id")
+ protected String heatStackId;
+ @XmlElement(name = "mso-catalog-key")
+ protected String msoCatalogKey;
+ @XmlElement(name = "management-option")
+ protected String managementOption;
+ @XmlElement(name = "ipv4-oam-address")
+ protected String ipv4OamAddress;
+ @XmlElement(name = "ipv4-loopback0-address")
+ protected String ipv4Loopback0Address;
+ @XmlElement(name = "nm-lan-v6-address")
+ protected String nmLanV6Address;
+ @XmlElement(name = "management-v6-address")
+ protected String managementV6Address;
+ @XmlSchemaType(name = "unsignedInt")
+ protected Long vcpu;
+ @XmlElement(name = "vcpu-units")
+ protected String vcpuUnits;
+ @XmlSchemaType(name = "unsignedInt")
+ protected Long vmemory;
+ @XmlElement(name = "vmemory-units")
+ protected String vmemoryUnits;
+ @XmlSchemaType(name = "unsignedInt")
+ protected Long vdisk;
+ @XmlElement(name = "vdisk-units")
+ protected String vdiskUnits;
+ @XmlElement(name = "in-maint")
+ protected boolean inMaint;
+ @XmlElement(name = "is-closed-loop-disabled")
+ protected boolean isClosedLoopDisabled;
+ @XmlElement(name = "resource-version")
+ protected String resourceVersion;
+ @XmlElement(name = "summary-status")
+ protected String summaryStatus;
+ @XmlElement(name = "encrypted-access-flag")
+ protected Boolean encryptedAccessFlag;
+ @XmlElement(name = "entitlement-assignment-group-uuid")
+ protected String entitlementAssignmentGroupUuid;
+ @XmlElement(name = "entitlement-resource-uuid")
+ protected String entitlementResourceUuid;
+ @XmlElement(name = "license-assignment-group-uuid")
+ protected String licenseAssignmentGroupUuid;
+ @XmlElement(name = "license-key-uuid")
+ protected String licenseKeyUuid;
+ @XmlElement(name = "persona-model-id")
+ protected String personaModelId;
+ @XmlElement(name = "persona-model-version")
+ protected String personaModelVersion;
+ @XmlElement(name = "persona-model-customization-id")
+ protected String personaModelCustomizationId;
+ @XmlElement(name = "widget-model-id")
+ protected String widgetModelId;
+ @XmlElement(name = "widget-model-version")
+ protected String widgetModelVersion;
+ @XmlElement(name = "as-number")
+ protected String asNumber;
+ @XmlElement(name = "regional-resource-subzone")
+ protected String regionalResourceSubzone;
+ @XmlElement(name = "relationship-list")
+ protected RelationshipList relationshipList;
+ @XmlElement(name = "l-interfaces")
+ protected LInterfaces lInterfaces;
+ @XmlElement(name = "lag-interfaces")
+ protected LagInterfaces lagInterfaces;
+ @XmlElement(name = "vf-modules")
+ protected VfModules vfModules;
+
+ /**
+ * Gets the value of the vnfId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getVnfId() {
+ return vnfId;
+ }
+
+ /**
+ * Sets the value of the vnfId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setVnfId(String value) {
+ this.vnfId = value;
+ }
+
+ /**
+ * Gets the value of the vnfName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getVnfName() {
+ return vnfName;
+ }
+
+ /**
+ * Sets the value of the vnfName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setVnfName(String value) {
+ this.vnfName = value;
+ }
+
+ /**
+ * Gets the value of the vnfName2 property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getVnfName2() {
+ return vnfName2;
+ }
+
+ /**
+ * Sets the value of the vnfName2 property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setVnfName2(String value) {
+ this.vnfName2 = value;
+ }
+
+ /**
+ * Gets the value of the vnfType property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getVnfType() {
+ return vnfType;
+ }
+
+ /**
+ * Sets the value of the vnfType property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setVnfType(String value) {
+ this.vnfType = value;
+ }
+
+ /**
+ * Gets the value of the serviceId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getServiceId() {
+ return serviceId;
+ }
+
+ /**
+ * Sets the value of the serviceId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setServiceId(String value) {
+ this.serviceId = value;
+ }
+
+ /**
+ * Gets the value of the regionalResourceZone property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getRegionalResourceZone() {
+ return regionalResourceZone;
+ }
+
+ /**
+ * Sets the value of the regionalResourceZone property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setRegionalResourceZone(String value) {
+ this.regionalResourceZone = value;
+ }
+
+ /**
+ * Gets the value of the provStatus property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getProvStatus() {
+ return provStatus;
+ }
+
+ /**
+ * Sets the value of the provStatus property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setProvStatus(String value) {
+ this.provStatus = value;
+ }
+
+ /**
+ * Gets the value of the operationalState property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getOperationalState() {
+ return operationalState;
+ }
+
+ /**
+ * Sets the value of the operationalState property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setOperationalState(String value) {
+ this.operationalState = value;
+ }
+
+ /**
+ * Gets the value of the licenseKey property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getLicenseKey() {
+ return licenseKey;
+ }
+
+ /**
+ * Sets the value of the licenseKey property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setLicenseKey(String value) {
+ this.licenseKey = value;
+ }
+
+ /**
+ * Gets the value of the equipmentRole property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getEquipmentRole() {
+ return equipmentRole;
+ }
+
+ /**
+ * Sets the value of the equipmentRole property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setEquipmentRole(String value) {
+ this.equipmentRole = value;
+ }
+
+ /**
+ * Gets the value of the orchestrationStatus property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getOrchestrationStatus() {
+ return orchestrationStatus;
+ }
+
+ /**
+ * Sets the value of the orchestrationStatus property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setOrchestrationStatus(String value) {
+ this.orchestrationStatus = value;
+ }
+
+ /**
+ * Gets the value of the heatStackId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getHeatStackId() {
+ return heatStackId;
+ }
+
+ /**
+ * Sets the value of the heatStackId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setHeatStackId(String value) {
+ this.heatStackId = value;
+ }
+
+ /**
+ * Gets the value of the msoCatalogKey property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getMsoCatalogKey() {
+ return msoCatalogKey;
+ }
+
+ /**
+ * Sets the value of the msoCatalogKey property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setMsoCatalogKey(String value) {
+ this.msoCatalogKey = value;
+ }
+
+ /**
+ * Gets the value of the managementOption property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getManagementOption() {
+ return managementOption;
+ }
+
+ /**
+ * Sets the value of the managementOption property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setManagementOption(String value) {
+ this.managementOption = value;
+ }
+
+ /**
+ * Gets the value of the ipv4OamAddress property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getIpv4OamAddress() {
+ return ipv4OamAddress;
+ }
+
+ /**
+ * Sets the value of the ipv4OamAddress property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setIpv4OamAddress(String value) {
+ this.ipv4OamAddress = value;
+ }
+
+ /**
+ * Gets the value of the ipv4Loopback0Address property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getIpv4Loopback0Address() {
+ return ipv4Loopback0Address;
+ }
+
+ /**
+ * Sets the value of the ipv4Loopback0Address property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setIpv4Loopback0Address(String value) {
+ this.ipv4Loopback0Address = value;
+ }
+
+ /**
+ * Gets the value of the nmLanV6Address property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNmLanV6Address() {
+ return nmLanV6Address;
+ }
+
+ /**
+ * Sets the value of the nmLanV6Address property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNmLanV6Address(String value) {
+ this.nmLanV6Address = value;
+ }
+
+ /**
+ * Gets the value of the managementV6Address property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getManagementV6Address() {
+ return managementV6Address;
+ }
+
+ /**
+ * Sets the value of the managementV6Address property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setManagementV6Address(String value) {
+ this.managementV6Address = value;
+ }
+
+ /**
+ * Gets the value of the vcpu property.
+ *
+ * @return
+ * possible object is
+ * {@link Long }
+ *
+ */
+ public Long getVcpu() {
+ return vcpu;
+ }
+
+ /**
+ * Sets the value of the vcpu property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Long }
+ *
+ */
+ public void setVcpu(Long value) {
+ this.vcpu = value;
+ }
+
+ /**
+ * Gets the value of the vcpuUnits property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getVcpuUnits() {
+ return vcpuUnits;
+ }
+
+ /**
+ * Sets the value of the vcpuUnits property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setVcpuUnits(String value) {
+ this.vcpuUnits = value;
+ }
+
+ /**
+ * Gets the value of the vmemory property.
+ *
+ * @return
+ * possible object is
+ * {@link Long }
+ *
+ */
+ public Long getVmemory() {
+ return vmemory;
+ }
+
+ /**
+ * Sets the value of the vmemory property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Long }
+ *
+ */
+ public void setVmemory(Long value) {
+ this.vmemory = value;
+ }
+
+ /**
+ * Gets the value of the vmemoryUnits property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getVmemoryUnits() {
+ return vmemoryUnits;
+ }
+
+ /**
+ * Sets the value of the vmemoryUnits property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setVmemoryUnits(String value) {
+ this.vmemoryUnits = value;
+ }
+
+ /**
+ * Gets the value of the vdisk property.
+ *
+ * @return
+ * possible object is
+ * {@link Long }
+ *
+ */
+ public Long getVdisk() {
+ return vdisk;
+ }
+
+ /**
+ * Sets the value of the vdisk property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Long }
+ *
+ */
+ public void setVdisk(Long value) {
+ this.vdisk = value;
+ }
+
+ /**
+ * Gets the value of the vdiskUnits property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getVdiskUnits() {
+ return vdiskUnits;
+ }
+
+ /**
+ * Sets the value of the vdiskUnits property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setVdiskUnits(String value) {
+ this.vdiskUnits = value;
+ }
+
+ /**
+ * Gets the value of the inMaint property.
+ *
+ */
+ public boolean isInMaint() {
+ return inMaint;
+ }
+
+ /**
+ * Sets the value of the inMaint property.
+ *
+ */
+ public void setInMaint(boolean value) {
+ this.inMaint = value;
+ }
+
+ /**
+ * Gets the value of the isClosedLoopDisabled property.
+ *
+ */
+ public boolean isIsClosedLoopDisabled() {
+ return isClosedLoopDisabled;
+ }
+
+ /**
+ * Sets the value of the isClosedLoopDisabled property.
+ *
+ */
+ public void setIsClosedLoopDisabled(boolean value) {
+ this.isClosedLoopDisabled = value;
+ }
+
+ /**
+ * Gets the value of the resourceVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ /**
+ * Sets the value of the resourceVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceVersion(String value) {
+ this.resourceVersion = value;
+ }
+
+ /**
+ * Gets the value of the summaryStatus property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSummaryStatus() {
+ return summaryStatus;
+ }
+
+ /**
+ * Sets the value of the summaryStatus property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSummaryStatus(String value) {
+ this.summaryStatus = value;
+ }
+
+ /**
+ * Gets the value of the encryptedAccessFlag property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isEncryptedAccessFlag() {
+ return encryptedAccessFlag;
+ }
+
+ /**
+ * Sets the value of the encryptedAccessFlag property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setEncryptedAccessFlag(Boolean value) {
+ this.encryptedAccessFlag = value;
+ }
+
+ /**
+ * Gets the value of the entitlementAssignmentGroupUuid property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getEntitlementAssignmentGroupUuid() {
+ return entitlementAssignmentGroupUuid;
+ }
+
+ /**
+ * Sets the value of the entitlementAssignmentGroupUuid property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setEntitlementAssignmentGroupUuid(String value) {
+ this.entitlementAssignmentGroupUuid = value;
+ }
+
+ /**
+ * Gets the value of the entitlementResourceUuid property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getEntitlementResourceUuid() {
+ return entitlementResourceUuid;
+ }
+
+ /**
+ * Sets the value of the entitlementResourceUuid property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setEntitlementResourceUuid(String value) {
+ this.entitlementResourceUuid = value;
+ }
+
+ /**
+ * Gets the value of the licenseAssignmentGroupUuid property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getLicenseAssignmentGroupUuid() {
+ return licenseAssignmentGroupUuid;
+ }
+
+ /**
+ * Sets the value of the licenseAssignmentGroupUuid property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setLicenseAssignmentGroupUuid(String value) {
+ this.licenseAssignmentGroupUuid = value;
+ }
+
+ /**
+ * Gets the value of the licenseKeyUuid property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getLicenseKeyUuid() {
+ return licenseKeyUuid;
+ }
+
+ /**
+ * Sets the value of the licenseKeyUuid property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setLicenseKeyUuid(String value) {
+ this.licenseKeyUuid = value;
+ }
+
+ /**
+ * Gets the value of the personaModelId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPersonaModelId() {
+ return personaModelId;
+ }
+
+ /**
+ * Sets the value of the personaModelId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPersonaModelId(String value) {
+ this.personaModelId = value;
+ }
+
+ /**
+ * Gets the value of the personaModelVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPersonaModelVersion() {
+ return personaModelVersion;
+ }
+
+ /**
+ * Sets the value of the personaModelVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPersonaModelVersion(String value) {
+ this.personaModelVersion = value;
+ }
+
+ /**
+ * Gets the value of the personaModelCustomizationId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPersonaModelCustomizationId() {
+ return personaModelCustomizationId;
+ }
+
+ /**
+ * Sets the value of the personaModelCustomizationId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPersonaModelCustomizationId(String value) {
+ this.personaModelCustomizationId = value;
+ }
+
+ /**
+ * Gets the value of the widgetModelId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getWidgetModelId() {
+ return widgetModelId;
+ }
+
+ /**
+ * Sets the value of the widgetModelId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setWidgetModelId(String value) {
+ this.widgetModelId = value;
+ }
+
+ /**
+ * Gets the value of the widgetModelVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getWidgetModelVersion() {
+ return widgetModelVersion;
+ }
+
+ /**
+ * Sets the value of the widgetModelVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setWidgetModelVersion(String value) {
+ this.widgetModelVersion = value;
+ }
+
+ /**
+ * Gets the value of the asNumber property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getAsNumber() {
+ return asNumber;
+ }
+
+ /**
+ * Sets the value of the asNumber property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setAsNumber(String value) {
+ this.asNumber = value;
+ }
+
+ /**
+ * Gets the value of the regionalResourceSubzone property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getRegionalResourceSubzone() {
+ return regionalResourceSubzone;
+ }
+
+ /**
+ * Sets the value of the regionalResourceSubzone property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setRegionalResourceSubzone(String value) {
+ this.regionalResourceSubzone = value;
+ }
+
+ /**
+ * Gets the value of the relationshipList property.
+ *
+ * @return
+ * possible object is
+ * {@link RelationshipList }
+ *
+ */
+ public RelationshipList getRelationshipList() {
+ return relationshipList;
+ }
+
+ /**
+ * Sets the value of the relationshipList property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RelationshipList }
+ *
+ */
+ public void setRelationshipList(RelationshipList value) {
+ this.relationshipList = value;
+ }
+
+ /**
+ * Gets the value of the lInterfaces property.
+ *
+ * @return
+ * possible object is
+ * {@link LInterfaces }
+ *
+ */
+ public LInterfaces getLInterfaces() {
+ return lInterfaces;
+ }
+
+ /**
+ * Sets the value of the lInterfaces property.
+ *
+ * @param value
+ * allowed object is
+ * {@link LInterfaces }
+ *
+ */
+ public void setLInterfaces(LInterfaces value) {
+ this.lInterfaces = value;
+ }
+
+ /**
+ * Gets the value of the lagInterfaces property.
+ *
+ * @return
+ * possible object is
+ * {@link LagInterfaces }
+ *
+ */
+ public LagInterfaces getLagInterfaces() {
+ return lagInterfaces;
+ }
+
+ /**
+ * Sets the value of the lagInterfaces property.
+ *
+ * @param value
+ * allowed object is
+ * {@link LagInterfaces }
+ *
+ */
+ public void setLagInterfaces(LagInterfaces value) {
+ this.lagInterfaces = value;
+ }
+
+ /**
+ * Gets the value of the vfModules property.
+ *
+ * @return
+ * possible object is
+ * {@link VfModules }
+ *
+ */
+ public VfModules getVfModules() {
+ return vfModules;
+ }
+
+ /**
+ * Sets the value of the vfModules property.
+ *
+ * @param value
+ * allowed object is
+ * {@link VfModules }
+ *
+ */
+ public void setVfModules(VfModules value) {
+ this.vfModules = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/GenericVnfs.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/GenericVnfs.java
new file mode 100644
index 0000000..b9f681c
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/GenericVnfs.java
@@ -0,0 +1,81 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}generic-vnf" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "genericVnf"
+})
+@XmlRootElement(name = "generic-vnfs")
+public class GenericVnfs
+ implements AAIDatum
+{
+
+ @XmlElement(name = "generic-vnf")
+ protected List<GenericVnf> genericVnf;
+
+ /**
+ * Gets the value of the genericVnf property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the genericVnf property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getGenericVnf().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link GenericVnf }
+ *
+ *
+ */
+ public List<GenericVnf> getGenericVnf() {
+ if (genericVnf == null) {
+ genericVnf = new ArrayList<GenericVnf>();
+ }
+ return this.genericVnf;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/GroupAssignment.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/GroupAssignment.java
new file mode 100644
index 0000000..16d3e60
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/GroupAssignment.java
@@ -0,0 +1,214 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="group-id" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="group-type" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="group-name" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="group-description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="resource-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}relationship-list" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "groupId",
+ "groupType",
+ "groupName",
+ "groupDescription",
+ "resourceVersion",
+ "relationshipList"
+})
+@XmlRootElement(name = "group-assignment")
+public class GroupAssignment
+ implements AAIDatum
+{
+
+ @XmlElement(name = "group-id", required = true)
+ protected String groupId;
+ @XmlElement(name = "group-type", required = true)
+ protected String groupType;
+ @XmlElement(name = "group-name", required = true)
+ protected String groupName;
+ @XmlElement(name = "group-description")
+ protected String groupDescription;
+ @XmlElement(name = "resource-version")
+ protected String resourceVersion;
+ @XmlElement(name = "relationship-list")
+ protected RelationshipList relationshipList;
+
+ /**
+ * Gets the value of the groupId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getGroupId() {
+ return groupId;
+ }
+
+ /**
+ * Sets the value of the groupId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setGroupId(String value) {
+ this.groupId = value;
+ }
+
+ /**
+ * Gets the value of the groupType property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getGroupType() {
+ return groupType;
+ }
+
+ /**
+ * Sets the value of the groupType property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setGroupType(String value) {
+ this.groupType = value;
+ }
+
+ /**
+ * Gets the value of the groupName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getGroupName() {
+ return groupName;
+ }
+
+ /**
+ * Sets the value of the groupName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setGroupName(String value) {
+ this.groupName = value;
+ }
+
+ /**
+ * Gets the value of the groupDescription property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getGroupDescription() {
+ return groupDescription;
+ }
+
+ /**
+ * Sets the value of the groupDescription property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setGroupDescription(String value) {
+ this.groupDescription = value;
+ }
+
+ /**
+ * Gets the value of the resourceVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ /**
+ * Sets the value of the resourceVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceVersion(String value) {
+ this.resourceVersion = value;
+ }
+
+ /**
+ * Gets the value of the relationshipList property.
+ *
+ * @return
+ * possible object is
+ * {@link RelationshipList }
+ *
+ */
+ public RelationshipList getRelationshipList() {
+ return relationshipList;
+ }
+
+ /**
+ * Sets the value of the relationshipList property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RelationshipList }
+ *
+ */
+ public void setRelationshipList(RelationshipList value) {
+ this.relationshipList = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/GroupAssignments.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/GroupAssignments.java
new file mode 100644
index 0000000..93c4522
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/GroupAssignments.java
@@ -0,0 +1,81 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}group-assignment" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "groupAssignment"
+})
+@XmlRootElement(name = "group-assignments")
+public class GroupAssignments
+ implements AAIDatum
+{
+
+ @XmlElement(name = "group-assignment")
+ protected List<GroupAssignment> groupAssignment;
+
+ /**
+ * Gets the value of the groupAssignment property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the groupAssignment property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getGroupAssignment().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link GroupAssignment }
+ *
+ *
+ */
+ public List<GroupAssignment> getGroupAssignment() {
+ if (groupAssignment == null) {
+ groupAssignment = new ArrayList<GroupAssignment>();
+ }
+ return this.groupAssignment;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Image.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Image.java
new file mode 100644
index 0000000..23573df
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Image.java
@@ -0,0 +1,380 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="image-id" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="image-name" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="image-architecture" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="image-os-distro" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="image-os-version" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="application" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="application-vendor" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="application-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="image-selflink" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="resource-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}relationship-list" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}metadata" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "imageId",
+ "imageName",
+ "imageArchitecture",
+ "imageOsDistro",
+ "imageOsVersion",
+ "application",
+ "applicationVendor",
+ "applicationVersion",
+ "imageSelflink",
+ "resourceVersion",
+ "relationshipList",
+ "metadata"
+})
+@XmlRootElement(name = "image")
+public class Image
+ implements AAIDatum
+{
+
+ @XmlElement(name = "image-id", required = true)
+ protected String imageId;
+ @XmlElement(name = "image-name", required = true)
+ protected String imageName;
+ @XmlElement(name = "image-architecture")
+ protected String imageArchitecture;
+ @XmlElement(name = "image-os-distro", required = true)
+ protected String imageOsDistro;
+ @XmlElement(name = "image-os-version", required = true)
+ protected String imageOsVersion;
+ protected String application;
+ @XmlElement(name = "application-vendor")
+ protected String applicationVendor;
+ @XmlElement(name = "application-version")
+ protected String applicationVersion;
+ @XmlElement(name = "image-selflink", required = true)
+ protected String imageSelflink;
+ @XmlElement(name = "resource-version")
+ protected String resourceVersion;
+ @XmlElement(name = "relationship-list")
+ protected RelationshipList relationshipList;
+ protected Metadata metadata;
+
+ /**
+ * Gets the value of the imageId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getImageId() {
+ return imageId;
+ }
+
+ /**
+ * Sets the value of the imageId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setImageId(String value) {
+ this.imageId = value;
+ }
+
+ /**
+ * Gets the value of the imageName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getImageName() {
+ return imageName;
+ }
+
+ /**
+ * Sets the value of the imageName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setImageName(String value) {
+ this.imageName = value;
+ }
+
+ /**
+ * Gets the value of the imageArchitecture property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getImageArchitecture() {
+ return imageArchitecture;
+ }
+
+ /**
+ * Sets the value of the imageArchitecture property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setImageArchitecture(String value) {
+ this.imageArchitecture = value;
+ }
+
+ /**
+ * Gets the value of the imageOsDistro property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getImageOsDistro() {
+ return imageOsDistro;
+ }
+
+ /**
+ * Sets the value of the imageOsDistro property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setImageOsDistro(String value) {
+ this.imageOsDistro = value;
+ }
+
+ /**
+ * Gets the value of the imageOsVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getImageOsVersion() {
+ return imageOsVersion;
+ }
+
+ /**
+ * Sets the value of the imageOsVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setImageOsVersion(String value) {
+ this.imageOsVersion = value;
+ }
+
+ /**
+ * Gets the value of the application property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getApplication() {
+ return application;
+ }
+
+ /**
+ * Sets the value of the application property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setApplication(String value) {
+ this.application = value;
+ }
+
+ /**
+ * Gets the value of the applicationVendor property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getApplicationVendor() {
+ return applicationVendor;
+ }
+
+ /**
+ * Sets the value of the applicationVendor property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setApplicationVendor(String value) {
+ this.applicationVendor = value;
+ }
+
+ /**
+ * Gets the value of the applicationVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getApplicationVersion() {
+ return applicationVersion;
+ }
+
+ /**
+ * Sets the value of the applicationVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setApplicationVersion(String value) {
+ this.applicationVersion = value;
+ }
+
+ /**
+ * Gets the value of the imageSelflink property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getImageSelflink() {
+ return imageSelflink;
+ }
+
+ /**
+ * Sets the value of the imageSelflink property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setImageSelflink(String value) {
+ this.imageSelflink = value;
+ }
+
+ /**
+ * Gets the value of the resourceVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ /**
+ * Sets the value of the resourceVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceVersion(String value) {
+ this.resourceVersion = value;
+ }
+
+ /**
+ * Gets the value of the relationshipList property.
+ *
+ * @return
+ * possible object is
+ * {@link RelationshipList }
+ *
+ */
+ public RelationshipList getRelationshipList() {
+ return relationshipList;
+ }
+
+ /**
+ * Sets the value of the relationshipList property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RelationshipList }
+ *
+ */
+ public void setRelationshipList(RelationshipList value) {
+ this.relationshipList = value;
+ }
+
+ /**
+ * Gets the value of the metadata property.
+ *
+ * @return
+ * possible object is
+ * {@link Metadata }
+ *
+ */
+ public Metadata getMetadata() {
+ return metadata;
+ }
+
+ /**
+ * Sets the value of the metadata property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Metadata }
+ *
+ */
+ public void setMetadata(Metadata value) {
+ this.metadata = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Images.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Images.java
new file mode 100644
index 0000000..c7c6ef9
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Images.java
@@ -0,0 +1,79 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}image" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "image"
+})
+@XmlRootElement(name = "images")
+public class Images
+ implements AAIDatum
+{
+
+ protected List<Image> image;
+
+ /**
+ * Gets the value of the image property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the image property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getImage().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link Image }
+ *
+ *
+ */
+ public List<Image> getImage() {
+ if (image == null) {
+ image = new ArrayList<Image>();
+ }
+ return this.image;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/IncludeNodeFilter.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/IncludeNodeFilter.java
new file mode 100644
index 0000000..aaf5197
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/IncludeNodeFilter.java
@@ -0,0 +1,74 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="include-node-type" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "includeNodeType"
+})
+@XmlRootElement(name = "include-node-filter")
+public class IncludeNodeFilter
+ implements AAIDatum
+{
+
+ @XmlElement(name = "include-node-type")
+ protected String includeNodeType;
+
+ /**
+ * Gets the value of the includeNodeType property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getIncludeNodeType() {
+ return includeNodeType;
+ }
+
+ /**
+ * Sets the value of the includeNodeType property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setIncludeNodeType(String value) {
+ this.includeNodeType = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/InstanceFilter.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/InstanceFilter.java
new file mode 100644
index 0000000..0f9cd9b
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/InstanceFilter.java
@@ -0,0 +1,44 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "")
+@XmlRootElement(name = "instance-filter")
+public class InstanceFilter
+ implements AAIDatum
+{
+
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/InstanceFilters.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/InstanceFilters.java
new file mode 100644
index 0000000..6a363fc
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/InstanceFilters.java
@@ -0,0 +1,81 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}instance-filter" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "instanceFilter"
+})
+@XmlRootElement(name = "instance-filters")
+public class InstanceFilters
+ implements AAIDatum
+{
+
+ @XmlElement(name = "instance-filter")
+ protected List<InstanceFilter> instanceFilter;
+
+ /**
+ * Gets the value of the instanceFilter property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the instanceFilter property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getInstanceFilter().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link InstanceFilter }
+ *
+ *
+ */
+ public List<InstanceFilter> getInstanceFilter() {
+ if (instanceFilter == null) {
+ instanceFilter = new ArrayList<InstanceFilter>();
+ }
+ return this.instanceFilter;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Inventory.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Inventory.java
new file mode 100644
index 0000000..3137b23
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Inventory.java
@@ -0,0 +1,238 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}search" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}actions" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}cloud-infrastructure" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}business" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}service-design-and-creation" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}network" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}aai-internal" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "search",
+ "actions",
+ "cloudInfrastructure",
+ "business",
+ "serviceDesignAndCreation",
+ "network",
+ "aaiInternal"
+})
+@XmlRootElement(name = "inventory")
+public class Inventory
+ implements AAIDatum
+{
+
+ protected Search search;
+ protected Actions actions;
+ @XmlElement(name = "cloud-infrastructure")
+ protected CloudInfrastructure cloudInfrastructure;
+ protected Business business;
+ @XmlElement(name = "service-design-and-creation")
+ protected ServiceDesignAndCreation serviceDesignAndCreation;
+ protected Network network;
+ @XmlElement(name = "aai-internal")
+ protected AaiInternal aaiInternal;
+
+ /**
+ * Gets the value of the search property.
+ *
+ * @return
+ * possible object is
+ * {@link Search }
+ *
+ */
+ public Search getSearch() {
+ return search;
+ }
+
+ /**
+ * Sets the value of the search property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Search }
+ *
+ */
+ public void setSearch(Search value) {
+ this.search = value;
+ }
+
+ /**
+ * Gets the value of the actions property.
+ *
+ * @return
+ * possible object is
+ * {@link Actions }
+ *
+ */
+ public Actions getActions() {
+ return actions;
+ }
+
+ /**
+ * Sets the value of the actions property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Actions }
+ *
+ */
+ public void setActions(Actions value) {
+ this.actions = value;
+ }
+
+ /**
+ * Gets the value of the cloudInfrastructure property.
+ *
+ * @return
+ * possible object is
+ * {@link CloudInfrastructure }
+ *
+ */
+ public CloudInfrastructure getCloudInfrastructure() {
+ return cloudInfrastructure;
+ }
+
+ /**
+ * Sets the value of the cloudInfrastructure property.
+ *
+ * @param value
+ * allowed object is
+ * {@link CloudInfrastructure }
+ *
+ */
+ public void setCloudInfrastructure(CloudInfrastructure value) {
+ this.cloudInfrastructure = value;
+ }
+
+ /**
+ * Gets the value of the business property.
+ *
+ * @return
+ * possible object is
+ * {@link Business }
+ *
+ */
+ public Business getBusiness() {
+ return business;
+ }
+
+ /**
+ * Sets the value of the business property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Business }
+ *
+ */
+ public void setBusiness(Business value) {
+ this.business = value;
+ }
+
+ /**
+ * Gets the value of the serviceDesignAndCreation property.
+ *
+ * @return
+ * possible object is
+ * {@link ServiceDesignAndCreation }
+ *
+ */
+ public ServiceDesignAndCreation getServiceDesignAndCreation() {
+ return serviceDesignAndCreation;
+ }
+
+ /**
+ * Sets the value of the serviceDesignAndCreation property.
+ *
+ * @param value
+ * allowed object is
+ * {@link ServiceDesignAndCreation }
+ *
+ */
+ public void setServiceDesignAndCreation(ServiceDesignAndCreation value) {
+ this.serviceDesignAndCreation = value;
+ }
+
+ /**
+ * Gets the value of the network property.
+ *
+ * @return
+ * possible object is
+ * {@link Network }
+ *
+ */
+ public Network getNetwork() {
+ return network;
+ }
+
+ /**
+ * Sets the value of the network property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Network }
+ *
+ */
+ public void setNetwork(Network value) {
+ this.network = value;
+ }
+
+ /**
+ * Gets the value of the aaiInternal property.
+ *
+ * @return
+ * possible object is
+ * {@link AaiInternal }
+ *
+ */
+ public AaiInternal getAaiInternal() {
+ return aaiInternal;
+ }
+
+ /**
+ * Sets the value of the aaiInternal property.
+ *
+ * @param value
+ * allowed object is
+ * {@link AaiInternal }
+ *
+ */
+ public void setAaiInternal(AaiInternal value) {
+ this.aaiInternal = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/InventoryItem.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/InventoryItem.java
new file mode 100644
index 0000000..2a040eb
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/InventoryItem.java
@@ -0,0 +1,170 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="inventory-item-type" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="inventory-item-link" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}inventory-item-data" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}tagged-inventory-item-list" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "inventoryItemType",
+ "inventoryItemLink",
+ "inventoryItemData",
+ "taggedInventoryItemList"
+})
+@XmlRootElement(name = "inventory-item")
+public class InventoryItem
+ implements AAIDatum
+{
+
+ @XmlElement(name = "inventory-item-type")
+ protected String inventoryItemType;
+ @XmlElement(name = "inventory-item-link")
+ protected String inventoryItemLink;
+ @XmlElement(name = "inventory-item-data")
+ protected List<InventoryItemData> inventoryItemData;
+ @XmlElement(name = "tagged-inventory-item-list")
+ protected List<TaggedInventoryItemList> taggedInventoryItemList;
+
+ /**
+ * Gets the value of the inventoryItemType property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getInventoryItemType() {
+ return inventoryItemType;
+ }
+
+ /**
+ * Sets the value of the inventoryItemType property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setInventoryItemType(String value) {
+ this.inventoryItemType = value;
+ }
+
+ /**
+ * Gets the value of the inventoryItemLink property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getInventoryItemLink() {
+ return inventoryItemLink;
+ }
+
+ /**
+ * Sets the value of the inventoryItemLink property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setInventoryItemLink(String value) {
+ this.inventoryItemLink = value;
+ }
+
+ /**
+ * Gets the value of the inventoryItemData property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the inventoryItemData property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getInventoryItemData().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link InventoryItemData }
+ *
+ *
+ */
+ public List<InventoryItemData> getInventoryItemData() {
+ if (inventoryItemData == null) {
+ inventoryItemData = new ArrayList<InventoryItemData>();
+ }
+ return this.inventoryItemData;
+ }
+
+ /**
+ * Gets the value of the taggedInventoryItemList property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the taggedInventoryItemList property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getTaggedInventoryItemList().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link TaggedInventoryItemList }
+ *
+ *
+ */
+ public List<TaggedInventoryItemList> getTaggedInventoryItemList() {
+ if (taggedInventoryItemList == null) {
+ taggedInventoryItemList = new ArrayList<TaggedInventoryItemList>();
+ }
+ return this.taggedInventoryItemList;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/InventoryItemData.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/InventoryItemData.java
new file mode 100644
index 0000000..6f394da
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/InventoryItemData.java
@@ -0,0 +1,102 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="property-name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="property-value" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "propertyName",
+ "propertyValue"
+})
+@XmlRootElement(name = "inventory-item-data")
+public class InventoryItemData
+ implements AAIDatum
+{
+
+ @XmlElement(name = "property-name")
+ protected String propertyName;
+ @XmlElement(name = "property-value")
+ protected String propertyValue;
+
+ /**
+ * Gets the value of the propertyName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPropertyName() {
+ return propertyName;
+ }
+
+ /**
+ * Sets the value of the propertyName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPropertyName(String value) {
+ this.propertyName = value;
+ }
+
+ /**
+ * Gets the value of the propertyValue property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPropertyValue() {
+ return propertyValue;
+ }
+
+ /**
+ * Sets the value of the propertyValue property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPropertyValue(String value) {
+ this.propertyValue = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/InventoryResponseItem.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/InventoryResponseItem.java
new file mode 100644
index 0000000..03a12cd
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/InventoryResponseItem.java
@@ -0,0 +1,130 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="model-name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}extra-properties" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}inventory-response-items" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "modelName",
+ "extraProperties",
+ "inventoryResponseItems"
+})
+@XmlRootElement(name = "inventory-response-item")
+public class InventoryResponseItem
+ implements AAIDatum
+{
+
+ @XmlElement(name = "model-name")
+ protected String modelName;
+ @XmlElement(name = "extra-properties")
+ protected ExtraProperties extraProperties;
+ @XmlElement(name = "inventory-response-items")
+ protected InventoryResponseItems inventoryResponseItems;
+
+ /**
+ * Gets the value of the modelName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getModelName() {
+ return modelName;
+ }
+
+ /**
+ * Sets the value of the modelName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setModelName(String value) {
+ this.modelName = value;
+ }
+
+ /**
+ * Gets the value of the extraProperties property.
+ *
+ * @return
+ * possible object is
+ * {@link ExtraProperties }
+ *
+ */
+ public ExtraProperties getExtraProperties() {
+ return extraProperties;
+ }
+
+ /**
+ * Sets the value of the extraProperties property.
+ *
+ * @param value
+ * allowed object is
+ * {@link ExtraProperties }
+ *
+ */
+ public void setExtraProperties(ExtraProperties value) {
+ this.extraProperties = value;
+ }
+
+ /**
+ * Gets the value of the inventoryResponseItems property.
+ *
+ * @return
+ * possible object is
+ * {@link InventoryResponseItems }
+ *
+ */
+ public InventoryResponseItems getInventoryResponseItems() {
+ return inventoryResponseItems;
+ }
+
+ /**
+ * Sets the value of the inventoryResponseItems property.
+ *
+ * @param value
+ * allowed object is
+ * {@link InventoryResponseItems }
+ *
+ */
+ public void setInventoryResponseItems(InventoryResponseItems value) {
+ this.inventoryResponseItems = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/InventoryResponseItems.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/InventoryResponseItems.java
new file mode 100644
index 0000000..8db30cf
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/InventoryResponseItems.java
@@ -0,0 +1,81 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}inventory-response-item" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "inventoryResponseItem"
+})
+@XmlRootElement(name = "inventory-response-items")
+public class InventoryResponseItems
+ implements AAIDatum
+{
+
+ @XmlElement(name = "inventory-response-item")
+ protected List<InventoryResponseItem> inventoryResponseItem;
+
+ /**
+ * Gets the value of the inventoryResponseItem property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the inventoryResponseItem property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getInventoryResponseItem().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link InventoryResponseItem }
+ *
+ *
+ */
+ public List<InventoryResponseItem> getInventoryResponseItem() {
+ if (inventoryResponseItem == null) {
+ inventoryResponseItem = new ArrayList<InventoryResponseItem>();
+ }
+ return this.inventoryResponseItem;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/KeyData.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/KeyData.java
new file mode 100644
index 0000000..c6baab4
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/KeyData.java
@@ -0,0 +1,102 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="key-name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="key-value" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "keyName",
+ "keyValue"
+})
+@XmlRootElement(name = "key-data")
+public class KeyData
+ implements AAIDatum
+{
+
+ @XmlElement(name = "key-name")
+ protected String keyName;
+ @XmlElement(name = "key-value")
+ protected String keyValue;
+
+ /**
+ * Gets the value of the keyName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getKeyName() {
+ return keyName;
+ }
+
+ /**
+ * Sets the value of the keyName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setKeyName(String value) {
+ this.keyName = value;
+ }
+
+ /**
+ * Gets the value of the keyValue property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getKeyValue() {
+ return keyValue;
+ }
+
+ /**
+ * Sets the value of the keyValue property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setKeyValue(String value) {
+ this.keyValue = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/L3InterfaceIpv4AddressList.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/L3InterfaceIpv4AddressList.java
new file mode 100644
index 0000000..5d18106
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/L3InterfaceIpv4AddressList.java
@@ -0,0 +1,302 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="l3-interface-ipv4-address" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="l3-interface-ipv4-prefix-length" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/&gt;
+ * &lt;element name="vlan-id-inner" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/&gt;
+ * &lt;element name="vlan-id-outer" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/&gt;
+ * &lt;element name="is-floating" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/&gt;
+ * &lt;element name="resource-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="neutron-network-id" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="neutron-subnet-id" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}relationship-list" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "l3InterfaceIpv4Address",
+ "l3InterfaceIpv4PrefixLength",
+ "vlanIdInner",
+ "vlanIdOuter",
+ "isFloating",
+ "resourceVersion",
+ "neutronNetworkId",
+ "neutronSubnetId",
+ "relationshipList"
+})
+@XmlRootElement(name = "l3-interface-ipv4-address-list")
+public class L3InterfaceIpv4AddressList
+ implements AAIDatum
+{
+
+ @XmlElement(name = "l3-interface-ipv4-address", required = true)
+ protected String l3InterfaceIpv4Address;
+ @XmlElement(name = "l3-interface-ipv4-prefix-length")
+ @XmlSchemaType(name = "unsignedInt")
+ protected Long l3InterfaceIpv4PrefixLength;
+ @XmlElement(name = "vlan-id-inner")
+ @XmlSchemaType(name = "unsignedInt")
+ protected Long vlanIdInner;
+ @XmlElement(name = "vlan-id-outer")
+ @XmlSchemaType(name = "unsignedInt")
+ protected Long vlanIdOuter;
+ @XmlElement(name = "is-floating")
+ protected Boolean isFloating;
+ @XmlElement(name = "resource-version")
+ protected String resourceVersion;
+ @XmlElement(name = "neutron-network-id")
+ protected String neutronNetworkId;
+ @XmlElement(name = "neutron-subnet-id")
+ protected String neutronSubnetId;
+ @XmlElement(name = "relationship-list")
+ protected RelationshipList relationshipList;
+
+ /**
+ * Gets the value of the l3InterfaceIpv4Address property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getL3InterfaceIpv4Address() {
+ return l3InterfaceIpv4Address;
+ }
+
+ /**
+ * Sets the value of the l3InterfaceIpv4Address property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setL3InterfaceIpv4Address(String value) {
+ this.l3InterfaceIpv4Address = value;
+ }
+
+ /**
+ * Gets the value of the l3InterfaceIpv4PrefixLength property.
+ *
+ * @return
+ * possible object is
+ * {@link Long }
+ *
+ */
+ public Long getL3InterfaceIpv4PrefixLength() {
+ return l3InterfaceIpv4PrefixLength;
+ }
+
+ /**
+ * Sets the value of the l3InterfaceIpv4PrefixLength property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Long }
+ *
+ */
+ public void setL3InterfaceIpv4PrefixLength(Long value) {
+ this.l3InterfaceIpv4PrefixLength = value;
+ }
+
+ /**
+ * Gets the value of the vlanIdInner property.
+ *
+ * @return
+ * possible object is
+ * {@link Long }
+ *
+ */
+ public Long getVlanIdInner() {
+ return vlanIdInner;
+ }
+
+ /**
+ * Sets the value of the vlanIdInner property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Long }
+ *
+ */
+ public void setVlanIdInner(Long value) {
+ this.vlanIdInner = value;
+ }
+
+ /**
+ * Gets the value of the vlanIdOuter property.
+ *
+ * @return
+ * possible object is
+ * {@link Long }
+ *
+ */
+ public Long getVlanIdOuter() {
+ return vlanIdOuter;
+ }
+
+ /**
+ * Sets the value of the vlanIdOuter property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Long }
+ *
+ */
+ public void setVlanIdOuter(Long value) {
+ this.vlanIdOuter = value;
+ }
+
+ /**
+ * Gets the value of the isFloating property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isIsFloating() {
+ return isFloating;
+ }
+
+ /**
+ * Sets the value of the isFloating property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setIsFloating(Boolean value) {
+ this.isFloating = value;
+ }
+
+ /**
+ * Gets the value of the resourceVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ /**
+ * Sets the value of the resourceVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceVersion(String value) {
+ this.resourceVersion = value;
+ }
+
+ /**
+ * Gets the value of the neutronNetworkId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNeutronNetworkId() {
+ return neutronNetworkId;
+ }
+
+ /**
+ * Sets the value of the neutronNetworkId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNeutronNetworkId(String value) {
+ this.neutronNetworkId = value;
+ }
+
+ /**
+ * Gets the value of the neutronSubnetId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNeutronSubnetId() {
+ return neutronSubnetId;
+ }
+
+ /**
+ * Sets the value of the neutronSubnetId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNeutronSubnetId(String value) {
+ this.neutronSubnetId = value;
+ }
+
+ /**
+ * Gets the value of the relationshipList property.
+ *
+ * @return
+ * possible object is
+ * {@link RelationshipList }
+ *
+ */
+ public RelationshipList getRelationshipList() {
+ return relationshipList;
+ }
+
+ /**
+ * Sets the value of the relationshipList property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RelationshipList }
+ *
+ */
+ public void setRelationshipList(RelationshipList value) {
+ this.relationshipList = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/L3InterfaceIpv6AddressList.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/L3InterfaceIpv6AddressList.java
new file mode 100644
index 0000000..aba9574
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/L3InterfaceIpv6AddressList.java
@@ -0,0 +1,302 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="l3-interface-ipv6-address" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="l3-interface-ipv6-prefix-length" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/&gt;
+ * &lt;element name="vlan-id-inner" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/&gt;
+ * &lt;element name="vlan-id-outer" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/&gt;
+ * &lt;element name="is-floating" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/&gt;
+ * &lt;element name="resource-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="neutron-network-id" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="neutron-subnet-id" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}relationship-list" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "l3InterfaceIpv6Address",
+ "l3InterfaceIpv6PrefixLength",
+ "vlanIdInner",
+ "vlanIdOuter",
+ "isFloating",
+ "resourceVersion",
+ "neutronNetworkId",
+ "neutronSubnetId",
+ "relationshipList"
+})
+@XmlRootElement(name = "l3-interface-ipv6-address-list")
+public class L3InterfaceIpv6AddressList
+ implements AAIDatum
+{
+
+ @XmlElement(name = "l3-interface-ipv6-address", required = true)
+ protected String l3InterfaceIpv6Address;
+ @XmlElement(name = "l3-interface-ipv6-prefix-length")
+ @XmlSchemaType(name = "unsignedInt")
+ protected Long l3InterfaceIpv6PrefixLength;
+ @XmlElement(name = "vlan-id-inner")
+ @XmlSchemaType(name = "unsignedInt")
+ protected Long vlanIdInner;
+ @XmlElement(name = "vlan-id-outer")
+ @XmlSchemaType(name = "unsignedInt")
+ protected Long vlanIdOuter;
+ @XmlElement(name = "is-floating")
+ protected Boolean isFloating;
+ @XmlElement(name = "resource-version")
+ protected String resourceVersion;
+ @XmlElement(name = "neutron-network-id")
+ protected String neutronNetworkId;
+ @XmlElement(name = "neutron-subnet-id")
+ protected String neutronSubnetId;
+ @XmlElement(name = "relationship-list")
+ protected RelationshipList relationshipList;
+
+ /**
+ * Gets the value of the l3InterfaceIpv6Address property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getL3InterfaceIpv6Address() {
+ return l3InterfaceIpv6Address;
+ }
+
+ /**
+ * Sets the value of the l3InterfaceIpv6Address property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setL3InterfaceIpv6Address(String value) {
+ this.l3InterfaceIpv6Address = value;
+ }
+
+ /**
+ * Gets the value of the l3InterfaceIpv6PrefixLength property.
+ *
+ * @return
+ * possible object is
+ * {@link Long }
+ *
+ */
+ public Long getL3InterfaceIpv6PrefixLength() {
+ return l3InterfaceIpv6PrefixLength;
+ }
+
+ /**
+ * Sets the value of the l3InterfaceIpv6PrefixLength property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Long }
+ *
+ */
+ public void setL3InterfaceIpv6PrefixLength(Long value) {
+ this.l3InterfaceIpv6PrefixLength = value;
+ }
+
+ /**
+ * Gets the value of the vlanIdInner property.
+ *
+ * @return
+ * possible object is
+ * {@link Long }
+ *
+ */
+ public Long getVlanIdInner() {
+ return vlanIdInner;
+ }
+
+ /**
+ * Sets the value of the vlanIdInner property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Long }
+ *
+ */
+ public void setVlanIdInner(Long value) {
+ this.vlanIdInner = value;
+ }
+
+ /**
+ * Gets the value of the vlanIdOuter property.
+ *
+ * @return
+ * possible object is
+ * {@link Long }
+ *
+ */
+ public Long getVlanIdOuter() {
+ return vlanIdOuter;
+ }
+
+ /**
+ * Sets the value of the vlanIdOuter property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Long }
+ *
+ */
+ public void setVlanIdOuter(Long value) {
+ this.vlanIdOuter = value;
+ }
+
+ /**
+ * Gets the value of the isFloating property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isIsFloating() {
+ return isFloating;
+ }
+
+ /**
+ * Sets the value of the isFloating property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setIsFloating(Boolean value) {
+ this.isFloating = value;
+ }
+
+ /**
+ * Gets the value of the resourceVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ /**
+ * Sets the value of the resourceVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceVersion(String value) {
+ this.resourceVersion = value;
+ }
+
+ /**
+ * Gets the value of the neutronNetworkId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNeutronNetworkId() {
+ return neutronNetworkId;
+ }
+
+ /**
+ * Sets the value of the neutronNetworkId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNeutronNetworkId(String value) {
+ this.neutronNetworkId = value;
+ }
+
+ /**
+ * Gets the value of the neutronSubnetId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNeutronSubnetId() {
+ return neutronSubnetId;
+ }
+
+ /**
+ * Sets the value of the neutronSubnetId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNeutronSubnetId(String value) {
+ this.neutronSubnetId = value;
+ }
+
+ /**
+ * Gets the value of the relationshipList property.
+ *
+ * @return
+ * possible object is
+ * {@link RelationshipList }
+ *
+ */
+ public RelationshipList getRelationshipList() {
+ return relationshipList;
+ }
+
+ /**
+ * Sets the value of the relationshipList property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RelationshipList }
+ *
+ */
+ public void setRelationshipList(RelationshipList value) {
+ this.relationshipList = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/L3Network.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/L3Network.java
new file mode 100644
index 0000000..45c11fa
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/L3Network.java
@@ -0,0 +1,743 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="network-id" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="network-name" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="network-type" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="network-role" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="network-technology" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="neutron-network-id" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="is-bound-to-vpn" type="{http://www.w3.org/2001/XMLSchema}boolean"/&gt;
+ * &lt;element name="service-id" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="network-role-instance" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/&gt;
+ * &lt;element name="resource-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="orchestration-status" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="heat-stack-id" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="mso-catalog-key" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="contrail-network-fqdn" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="persona-model-id" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="persona-model-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="widget-model-id" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="widget-model-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="physical-network-name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="is-provider-network" type="{http://www.w3.org/2001/XMLSchema}boolean"/&gt;
+ * &lt;element name="is-shared-network" type="{http://www.w3.org/2001/XMLSchema}boolean"/&gt;
+ * &lt;element name="is-external-network" type="{http://www.w3.org/2001/XMLSchema}boolean"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}subnets" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}ctag-assignments" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}segmentation-assignments" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}relationship-list" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "networkId",
+ "networkName",
+ "networkType",
+ "networkRole",
+ "networkTechnology",
+ "neutronNetworkId",
+ "isBoundToVpn",
+ "serviceId",
+ "networkRoleInstance",
+ "resourceVersion",
+ "orchestrationStatus",
+ "heatStackId",
+ "msoCatalogKey",
+ "contrailNetworkFqdn",
+ "personaModelId",
+ "personaModelVersion",
+ "widgetModelId",
+ "widgetModelVersion",
+ "physicalNetworkName",
+ "isProviderNetwork",
+ "isSharedNetwork",
+ "isExternalNetwork",
+ "subnets",
+ "ctagAssignments",
+ "segmentationAssignments",
+ "relationshipList"
+})
+@XmlRootElement(name = "l3-network")
+public class L3Network
+ implements AAIDatum
+{
+
+ @XmlElement(name = "network-id", required = true)
+ protected String networkId;
+ @XmlElement(name = "network-name", required = true)
+ protected String networkName;
+ @XmlElement(name = "network-type")
+ protected String networkType;
+ @XmlElement(name = "network-role")
+ protected String networkRole;
+ @XmlElement(name = "network-technology")
+ protected String networkTechnology;
+ @XmlElement(name = "neutron-network-id")
+ protected String neutronNetworkId;
+ @XmlElement(name = "is-bound-to-vpn")
+ protected boolean isBoundToVpn;
+ @XmlElement(name = "service-id")
+ protected String serviceId;
+ @XmlElement(name = "network-role-instance")
+ @XmlSchemaType(name = "unsignedInt")
+ protected Long networkRoleInstance;
+ @XmlElement(name = "resource-version")
+ protected String resourceVersion;
+ @XmlElement(name = "orchestration-status")
+ protected String orchestrationStatus;
+ @XmlElement(name = "heat-stack-id")
+ protected String heatStackId;
+ @XmlElement(name = "mso-catalog-key")
+ protected String msoCatalogKey;
+ @XmlElement(name = "contrail-network-fqdn")
+ protected String contrailNetworkFqdn;
+ @XmlElement(name = "persona-model-id")
+ protected String personaModelId;
+ @XmlElement(name = "persona-model-version")
+ protected String personaModelVersion;
+ @XmlElement(name = "widget-model-id")
+ protected String widgetModelId;
+ @XmlElement(name = "widget-model-version")
+ protected String widgetModelVersion;
+ @XmlElement(name = "physical-network-name")
+ protected String physicalNetworkName;
+ @XmlElement(name = "is-provider-network")
+ protected boolean isProviderNetwork;
+ @XmlElement(name = "is-shared-network")
+ protected boolean isSharedNetwork;
+ @XmlElement(name = "is-external-network")
+ protected boolean isExternalNetwork;
+ protected Subnets subnets;
+ @XmlElement(name = "ctag-assignments")
+ protected CtagAssignments ctagAssignments;
+ @XmlElement(name = "segmentation-assignments")
+ protected SegmentationAssignments segmentationAssignments;
+ @XmlElement(name = "relationship-list")
+ protected RelationshipList relationshipList;
+
+ /**
+ * Gets the value of the networkId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNetworkId() {
+ return networkId;
+ }
+
+ /**
+ * Sets the value of the networkId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNetworkId(String value) {
+ this.networkId = value;
+ }
+
+ /**
+ * Gets the value of the networkName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNetworkName() {
+ return networkName;
+ }
+
+ /**
+ * Sets the value of the networkName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNetworkName(String value) {
+ this.networkName = value;
+ }
+
+ /**
+ * Gets the value of the networkType property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNetworkType() {
+ return networkType;
+ }
+
+ /**
+ * Sets the value of the networkType property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNetworkType(String value) {
+ this.networkType = value;
+ }
+
+ /**
+ * Gets the value of the networkRole property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNetworkRole() {
+ return networkRole;
+ }
+
+ /**
+ * Sets the value of the networkRole property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNetworkRole(String value) {
+ this.networkRole = value;
+ }
+
+ /**
+ * Gets the value of the networkTechnology property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNetworkTechnology() {
+ return networkTechnology;
+ }
+
+ /**
+ * Sets the value of the networkTechnology property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNetworkTechnology(String value) {
+ this.networkTechnology = value;
+ }
+
+ /**
+ * Gets the value of the neutronNetworkId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNeutronNetworkId() {
+ return neutronNetworkId;
+ }
+
+ /**
+ * Sets the value of the neutronNetworkId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNeutronNetworkId(String value) {
+ this.neutronNetworkId = value;
+ }
+
+ /**
+ * Gets the value of the isBoundToVpn property.
+ *
+ */
+ public boolean isIsBoundToVpn() {
+ return isBoundToVpn;
+ }
+
+ /**
+ * Sets the value of the isBoundToVpn property.
+ *
+ */
+ public void setIsBoundToVpn(boolean value) {
+ this.isBoundToVpn = value;
+ }
+
+ /**
+ * Gets the value of the serviceId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getServiceId() {
+ return serviceId;
+ }
+
+ /**
+ * Sets the value of the serviceId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setServiceId(String value) {
+ this.serviceId = value;
+ }
+
+ /**
+ * Gets the value of the networkRoleInstance property.
+ *
+ * @return
+ * possible object is
+ * {@link Long }
+ *
+ */
+ public Long getNetworkRoleInstance() {
+ return networkRoleInstance;
+ }
+
+ /**
+ * Sets the value of the networkRoleInstance property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Long }
+ *
+ */
+ public void setNetworkRoleInstance(Long value) {
+ this.networkRoleInstance = value;
+ }
+
+ /**
+ * Gets the value of the resourceVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ /**
+ * Sets the value of the resourceVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceVersion(String value) {
+ this.resourceVersion = value;
+ }
+
+ /**
+ * Gets the value of the orchestrationStatus property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getOrchestrationStatus() {
+ return orchestrationStatus;
+ }
+
+ /**
+ * Sets the value of the orchestrationStatus property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setOrchestrationStatus(String value) {
+ this.orchestrationStatus = value;
+ }
+
+ /**
+ * Gets the value of the heatStackId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getHeatStackId() {
+ return heatStackId;
+ }
+
+ /**
+ * Sets the value of the heatStackId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setHeatStackId(String value) {
+ this.heatStackId = value;
+ }
+
+ /**
+ * Gets the value of the msoCatalogKey property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getMsoCatalogKey() {
+ return msoCatalogKey;
+ }
+
+ /**
+ * Sets the value of the msoCatalogKey property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setMsoCatalogKey(String value) {
+ this.msoCatalogKey = value;
+ }
+
+ /**
+ * Gets the value of the contrailNetworkFqdn property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getContrailNetworkFqdn() {
+ return contrailNetworkFqdn;
+ }
+
+ /**
+ * Sets the value of the contrailNetworkFqdn property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setContrailNetworkFqdn(String value) {
+ this.contrailNetworkFqdn = value;
+ }
+
+ /**
+ * Gets the value of the personaModelId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPersonaModelId() {
+ return personaModelId;
+ }
+
+ /**
+ * Sets the value of the personaModelId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPersonaModelId(String value) {
+ this.personaModelId = value;
+ }
+
+ /**
+ * Gets the value of the personaModelVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPersonaModelVersion() {
+ return personaModelVersion;
+ }
+
+ /**
+ * Sets the value of the personaModelVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPersonaModelVersion(String value) {
+ this.personaModelVersion = value;
+ }
+
+ /**
+ * Gets the value of the widgetModelId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getWidgetModelId() {
+ return widgetModelId;
+ }
+
+ /**
+ * Sets the value of the widgetModelId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setWidgetModelId(String value) {
+ this.widgetModelId = value;
+ }
+
+ /**
+ * Gets the value of the widgetModelVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getWidgetModelVersion() {
+ return widgetModelVersion;
+ }
+
+ /**
+ * Sets the value of the widgetModelVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setWidgetModelVersion(String value) {
+ this.widgetModelVersion = value;
+ }
+
+ /**
+ * Gets the value of the physicalNetworkName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPhysicalNetworkName() {
+ return physicalNetworkName;
+ }
+
+ /**
+ * Sets the value of the physicalNetworkName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPhysicalNetworkName(String value) {
+ this.physicalNetworkName = value;
+ }
+
+ /**
+ * Gets the value of the isProviderNetwork property.
+ *
+ */
+ public boolean isIsProviderNetwork() {
+ return isProviderNetwork;
+ }
+
+ /**
+ * Sets the value of the isProviderNetwork property.
+ *
+ */
+ public void setIsProviderNetwork(boolean value) {
+ this.isProviderNetwork = value;
+ }
+
+ /**
+ * Gets the value of the isSharedNetwork property.
+ *
+ */
+ public boolean isIsSharedNetwork() {
+ return isSharedNetwork;
+ }
+
+ /**
+ * Sets the value of the isSharedNetwork property.
+ *
+ */
+ public void setIsSharedNetwork(boolean value) {
+ this.isSharedNetwork = value;
+ }
+
+ /**
+ * Gets the value of the isExternalNetwork property.
+ *
+ */
+ public boolean isIsExternalNetwork() {
+ return isExternalNetwork;
+ }
+
+ /**
+ * Sets the value of the isExternalNetwork property.
+ *
+ */
+ public void setIsExternalNetwork(boolean value) {
+ this.isExternalNetwork = value;
+ }
+
+ /**
+ * Gets the value of the subnets property.
+ *
+ * @return
+ * possible object is
+ * {@link Subnets }
+ *
+ */
+ public Subnets getSubnets() {
+ return subnets;
+ }
+
+ /**
+ * Sets the value of the subnets property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Subnets }
+ *
+ */
+ public void setSubnets(Subnets value) {
+ this.subnets = value;
+ }
+
+ /**
+ * Gets the value of the ctagAssignments property.
+ *
+ * @return
+ * possible object is
+ * {@link CtagAssignments }
+ *
+ */
+ public CtagAssignments getCtagAssignments() {
+ return ctagAssignments;
+ }
+
+ /**
+ * Sets the value of the ctagAssignments property.
+ *
+ * @param value
+ * allowed object is
+ * {@link CtagAssignments }
+ *
+ */
+ public void setCtagAssignments(CtagAssignments value) {
+ this.ctagAssignments = value;
+ }
+
+ /**
+ * Gets the value of the segmentationAssignments property.
+ *
+ * @return
+ * possible object is
+ * {@link SegmentationAssignments }
+ *
+ */
+ public SegmentationAssignments getSegmentationAssignments() {
+ return segmentationAssignments;
+ }
+
+ /**
+ * Sets the value of the segmentationAssignments property.
+ *
+ * @param value
+ * allowed object is
+ * {@link SegmentationAssignments }
+ *
+ */
+ public void setSegmentationAssignments(SegmentationAssignments value) {
+ this.segmentationAssignments = value;
+ }
+
+ /**
+ * Gets the value of the relationshipList property.
+ *
+ * @return
+ * possible object is
+ * {@link RelationshipList }
+ *
+ */
+ public RelationshipList getRelationshipList() {
+ return relationshipList;
+ }
+
+ /**
+ * Sets the value of the relationshipList property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RelationshipList }
+ *
+ */
+ public void setRelationshipList(RelationshipList value) {
+ this.relationshipList = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/L3Networks.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/L3Networks.java
new file mode 100644
index 0000000..a9eee6a
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/L3Networks.java
@@ -0,0 +1,81 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}l3-network" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "l3Network"
+})
+@XmlRootElement(name = "l3-networks")
+public class L3Networks
+ implements AAIDatum
+{
+
+ @XmlElement(name = "l3-network")
+ protected List<L3Network> l3Network;
+
+ /**
+ * Gets the value of the l3Network property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the l3Network property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getL3Network().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link L3Network }
+ *
+ *
+ */
+ public List<L3Network> getL3Network() {
+ if (l3Network == null) {
+ l3Network = new ArrayList<L3Network>();
+ }
+ return this.l3Network;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/LInterface.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/LInterface.java
new file mode 100644
index 0000000..4ecd350
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/LInterface.java
@@ -0,0 +1,419 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="interface-name" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="interface-role" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="v6-wan-link-ip" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="selflink" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="interface-id" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="macaddr" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="network-name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="management-option" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="resource-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}vlans" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}relationship-list" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}l3-interface-ipv4-address-list" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}l3-interface-ipv6-address-list" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "interfaceName",
+ "interfaceRole",
+ "v6WanLinkIp",
+ "selflink",
+ "interfaceId",
+ "macaddr",
+ "networkName",
+ "managementOption",
+ "resourceVersion",
+ "vlans",
+ "relationshipList",
+ "l3InterfaceIpv4AddressList",
+ "l3InterfaceIpv6AddressList"
+})
+@XmlRootElement(name = "l-interface")
+public class LInterface
+ implements AAIDatum
+{
+
+ @XmlElement(name = "interface-name", required = true)
+ protected String interfaceName;
+ @XmlElement(name = "interface-role")
+ protected String interfaceRole;
+ @XmlElement(name = "v6-wan-link-ip")
+ protected String v6WanLinkIp;
+ protected String selflink;
+ @XmlElement(name = "interface-id")
+ protected String interfaceId;
+ protected String macaddr;
+ @XmlElement(name = "network-name")
+ protected String networkName;
+ @XmlElement(name = "management-option")
+ protected String managementOption;
+ @XmlElement(name = "resource-version")
+ protected String resourceVersion;
+ protected Vlans vlans;
+ @XmlElement(name = "relationship-list")
+ protected RelationshipList relationshipList;
+ @XmlElement(name = "l3-interface-ipv4-address-list")
+ protected List<L3InterfaceIpv4AddressList> l3InterfaceIpv4AddressList;
+ @XmlElement(name = "l3-interface-ipv6-address-list")
+ protected List<L3InterfaceIpv6AddressList> l3InterfaceIpv6AddressList;
+
+ /**
+ * Gets the value of the interfaceName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getInterfaceName() {
+ return interfaceName;
+ }
+
+ /**
+ * Sets the value of the interfaceName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setInterfaceName(String value) {
+ this.interfaceName = value;
+ }
+
+ /**
+ * Gets the value of the interfaceRole property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getInterfaceRole() {
+ return interfaceRole;
+ }
+
+ /**
+ * Sets the value of the interfaceRole property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setInterfaceRole(String value) {
+ this.interfaceRole = value;
+ }
+
+ /**
+ * Gets the value of the v6WanLinkIp property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getV6WanLinkIp() {
+ return v6WanLinkIp;
+ }
+
+ /**
+ * Sets the value of the v6WanLinkIp property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setV6WanLinkIp(String value) {
+ this.v6WanLinkIp = value;
+ }
+
+ /**
+ * Gets the value of the selflink property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSelflink() {
+ return selflink;
+ }
+
+ /**
+ * Sets the value of the selflink property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSelflink(String value) {
+ this.selflink = value;
+ }
+
+ /**
+ * Gets the value of the interfaceId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getInterfaceId() {
+ return interfaceId;
+ }
+
+ /**
+ * Sets the value of the interfaceId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setInterfaceId(String value) {
+ this.interfaceId = value;
+ }
+
+ /**
+ * Gets the value of the macaddr property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getMacaddr() {
+ return macaddr;
+ }
+
+ /**
+ * Sets the value of the macaddr property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setMacaddr(String value) {
+ this.macaddr = value;
+ }
+
+ /**
+ * Gets the value of the networkName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNetworkName() {
+ return networkName;
+ }
+
+ /**
+ * Sets the value of the networkName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNetworkName(String value) {
+ this.networkName = value;
+ }
+
+ /**
+ * Gets the value of the managementOption property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getManagementOption() {
+ return managementOption;
+ }
+
+ /**
+ * Sets the value of the managementOption property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setManagementOption(String value) {
+ this.managementOption = value;
+ }
+
+ /**
+ * Gets the value of the resourceVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ /**
+ * Sets the value of the resourceVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceVersion(String value) {
+ this.resourceVersion = value;
+ }
+
+ /**
+ * Gets the value of the vlans property.
+ *
+ * @return
+ * possible object is
+ * {@link Vlans }
+ *
+ */
+ public Vlans getVlans() {
+ return vlans;
+ }
+
+ /**
+ * Sets the value of the vlans property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Vlans }
+ *
+ */
+ public void setVlans(Vlans value) {
+ this.vlans = value;
+ }
+
+ /**
+ * Gets the value of the relationshipList property.
+ *
+ * @return
+ * possible object is
+ * {@link RelationshipList }
+ *
+ */
+ public RelationshipList getRelationshipList() {
+ return relationshipList;
+ }
+
+ /**
+ * Sets the value of the relationshipList property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RelationshipList }
+ *
+ */
+ public void setRelationshipList(RelationshipList value) {
+ this.relationshipList = value;
+ }
+
+ /**
+ * Gets the value of the l3InterfaceIpv4AddressList property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the l3InterfaceIpv4AddressList property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getL3InterfaceIpv4AddressList().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link L3InterfaceIpv4AddressList }
+ *
+ *
+ */
+ public List<L3InterfaceIpv4AddressList> getL3InterfaceIpv4AddressList() {
+ if (l3InterfaceIpv4AddressList == null) {
+ l3InterfaceIpv4AddressList = new ArrayList<L3InterfaceIpv4AddressList>();
+ }
+ return this.l3InterfaceIpv4AddressList;
+ }
+
+ /**
+ * Gets the value of the l3InterfaceIpv6AddressList property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the l3InterfaceIpv6AddressList property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getL3InterfaceIpv6AddressList().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link L3InterfaceIpv6AddressList }
+ *
+ *
+ */
+ public List<L3InterfaceIpv6AddressList> getL3InterfaceIpv6AddressList() {
+ if (l3InterfaceIpv6AddressList == null) {
+ l3InterfaceIpv6AddressList = new ArrayList<L3InterfaceIpv6AddressList>();
+ }
+ return this.l3InterfaceIpv6AddressList;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/LInterfaces.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/LInterfaces.java
new file mode 100644
index 0000000..1c9c5ce
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/LInterfaces.java
@@ -0,0 +1,81 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}l-interface" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "lInterface"
+})
+@XmlRootElement(name = "l-interfaces")
+public class LInterfaces
+ implements AAIDatum
+{
+
+ @XmlElement(name = "l-interface")
+ protected List<LInterface> lInterface;
+
+ /**
+ * Gets the value of the lInterface property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the lInterface property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getLInterface().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link LInterface }
+ *
+ *
+ */
+ public List<LInterface> getLInterface() {
+ if (lInterface == null) {
+ lInterface = new ArrayList<LInterface>();
+ }
+ return this.lInterface;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/LagInterface.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/LagInterface.java
new file mode 100644
index 0000000..9e935df
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/LagInterface.java
@@ -0,0 +1,214 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="interface-name" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="resource-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="speed-value" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="speed-units" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}relationship-list" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}l-interfaces" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "interfaceName",
+ "resourceVersion",
+ "speedValue",
+ "speedUnits",
+ "relationshipList",
+ "lInterfaces"
+})
+@XmlRootElement(name = "lag-interface")
+public class LagInterface
+ implements AAIDatum
+{
+
+ @XmlElement(name = "interface-name", required = true)
+ protected String interfaceName;
+ @XmlElement(name = "resource-version")
+ protected String resourceVersion;
+ @XmlElement(name = "speed-value")
+ protected String speedValue;
+ @XmlElement(name = "speed-units")
+ protected String speedUnits;
+ @XmlElement(name = "relationship-list")
+ protected RelationshipList relationshipList;
+ @XmlElement(name = "l-interfaces")
+ protected LInterfaces lInterfaces;
+
+ /**
+ * Gets the value of the interfaceName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getInterfaceName() {
+ return interfaceName;
+ }
+
+ /**
+ * Sets the value of the interfaceName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setInterfaceName(String value) {
+ this.interfaceName = value;
+ }
+
+ /**
+ * Gets the value of the resourceVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ /**
+ * Sets the value of the resourceVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceVersion(String value) {
+ this.resourceVersion = value;
+ }
+
+ /**
+ * Gets the value of the speedValue property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSpeedValue() {
+ return speedValue;
+ }
+
+ /**
+ * Sets the value of the speedValue property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSpeedValue(String value) {
+ this.speedValue = value;
+ }
+
+ /**
+ * Gets the value of the speedUnits property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSpeedUnits() {
+ return speedUnits;
+ }
+
+ /**
+ * Sets the value of the speedUnits property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSpeedUnits(String value) {
+ this.speedUnits = value;
+ }
+
+ /**
+ * Gets the value of the relationshipList property.
+ *
+ * @return
+ * possible object is
+ * {@link RelationshipList }
+ *
+ */
+ public RelationshipList getRelationshipList() {
+ return relationshipList;
+ }
+
+ /**
+ * Sets the value of the relationshipList property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RelationshipList }
+ *
+ */
+ public void setRelationshipList(RelationshipList value) {
+ this.relationshipList = value;
+ }
+
+ /**
+ * Gets the value of the lInterfaces property.
+ *
+ * @return
+ * possible object is
+ * {@link LInterfaces }
+ *
+ */
+ public LInterfaces getLInterfaces() {
+ return lInterfaces;
+ }
+
+ /**
+ * Sets the value of the lInterfaces property.
+ *
+ * @param value
+ * allowed object is
+ * {@link LInterfaces }
+ *
+ */
+ public void setLInterfaces(LInterfaces value) {
+ this.lInterfaces = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/LagInterfaces.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/LagInterfaces.java
new file mode 100644
index 0000000..d21b330
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/LagInterfaces.java
@@ -0,0 +1,81 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}lag-interface" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "lagInterface"
+})
+@XmlRootElement(name = "lag-interfaces")
+public class LagInterfaces
+ implements AAIDatum
+{
+
+ @XmlElement(name = "lag-interface")
+ protected List<LagInterface> lagInterface;
+
+ /**
+ * Gets the value of the lagInterface property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the lagInterface property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getLagInterface().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link LagInterface }
+ *
+ *
+ */
+ public List<LagInterface> getLagInterface() {
+ if (lagInterface == null) {
+ lagInterface = new ArrayList<LagInterface>();
+ }
+ return this.lagInterface;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/LogicalLink.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/LogicalLink.java
new file mode 100644
index 0000000..25465da
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/LogicalLink.java
@@ -0,0 +1,494 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="link-name" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="link-type" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="speed-value" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="speed-units" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="ip-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="routing-protocol" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="resource-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="persona-model-id" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="persona-model-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="widget-model-id" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="widget-model-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="operational-status" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="link-role" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="link-name2" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="link-id" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}relationship-list" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "linkName",
+ "linkType",
+ "speedValue",
+ "speedUnits",
+ "ipVersion",
+ "routingProtocol",
+ "resourceVersion",
+ "personaModelId",
+ "personaModelVersion",
+ "widgetModelId",
+ "widgetModelVersion",
+ "operationalStatus",
+ "linkRole",
+ "linkName2",
+ "linkId",
+ "relationshipList"
+})
+@XmlRootElement(name = "logical-link")
+public class LogicalLink
+ implements AAIDatum
+{
+
+ @XmlElement(name = "link-name", required = true)
+ protected String linkName;
+ @XmlElement(name = "link-type", required = true)
+ protected String linkType;
+ @XmlElement(name = "speed-value")
+ protected String speedValue;
+ @XmlElement(name = "speed-units")
+ protected String speedUnits;
+ @XmlElement(name = "ip-version")
+ protected String ipVersion;
+ @XmlElement(name = "routing-protocol")
+ protected String routingProtocol;
+ @XmlElement(name = "resource-version")
+ protected String resourceVersion;
+ @XmlElement(name = "persona-model-id")
+ protected String personaModelId;
+ @XmlElement(name = "persona-model-version")
+ protected String personaModelVersion;
+ @XmlElement(name = "widget-model-id")
+ protected String widgetModelId;
+ @XmlElement(name = "widget-model-version")
+ protected String widgetModelVersion;
+ @XmlElement(name = "operational-status")
+ protected String operationalStatus;
+ @XmlElement(name = "link-role")
+ protected String linkRole;
+ @XmlElement(name = "link-name2")
+ protected String linkName2;
+ @XmlElement(name = "link-id")
+ protected String linkId;
+ @XmlElement(name = "relationship-list")
+ protected RelationshipList relationshipList;
+
+ /**
+ * Gets the value of the linkName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getLinkName() {
+ return linkName;
+ }
+
+ /**
+ * Sets the value of the linkName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setLinkName(String value) {
+ this.linkName = value;
+ }
+
+ /**
+ * Gets the value of the linkType property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getLinkType() {
+ return linkType;
+ }
+
+ /**
+ * Sets the value of the linkType property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setLinkType(String value) {
+ this.linkType = value;
+ }
+
+ /**
+ * Gets the value of the speedValue property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSpeedValue() {
+ return speedValue;
+ }
+
+ /**
+ * Sets the value of the speedValue property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSpeedValue(String value) {
+ this.speedValue = value;
+ }
+
+ /**
+ * Gets the value of the speedUnits property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSpeedUnits() {
+ return speedUnits;
+ }
+
+ /**
+ * Sets the value of the speedUnits property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSpeedUnits(String value) {
+ this.speedUnits = value;
+ }
+
+ /**
+ * Gets the value of the ipVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getIpVersion() {
+ return ipVersion;
+ }
+
+ /**
+ * Sets the value of the ipVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setIpVersion(String value) {
+ this.ipVersion = value;
+ }
+
+ /**
+ * Gets the value of the routingProtocol property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getRoutingProtocol() {
+ return routingProtocol;
+ }
+
+ /**
+ * Sets the value of the routingProtocol property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setRoutingProtocol(String value) {
+ this.routingProtocol = value;
+ }
+
+ /**
+ * Gets the value of the resourceVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ /**
+ * Sets the value of the resourceVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceVersion(String value) {
+ this.resourceVersion = value;
+ }
+
+ /**
+ * Gets the value of the personaModelId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPersonaModelId() {
+ return personaModelId;
+ }
+
+ /**
+ * Sets the value of the personaModelId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPersonaModelId(String value) {
+ this.personaModelId = value;
+ }
+
+ /**
+ * Gets the value of the personaModelVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPersonaModelVersion() {
+ return personaModelVersion;
+ }
+
+ /**
+ * Sets the value of the personaModelVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPersonaModelVersion(String value) {
+ this.personaModelVersion = value;
+ }
+
+ /**
+ * Gets the value of the widgetModelId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getWidgetModelId() {
+ return widgetModelId;
+ }
+
+ /**
+ * Sets the value of the widgetModelId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setWidgetModelId(String value) {
+ this.widgetModelId = value;
+ }
+
+ /**
+ * Gets the value of the widgetModelVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getWidgetModelVersion() {
+ return widgetModelVersion;
+ }
+
+ /**
+ * Sets the value of the widgetModelVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setWidgetModelVersion(String value) {
+ this.widgetModelVersion = value;
+ }
+
+ /**
+ * Gets the value of the operationalStatus property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getOperationalStatus() {
+ return operationalStatus;
+ }
+
+ /**
+ * Sets the value of the operationalStatus property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setOperationalStatus(String value) {
+ this.operationalStatus = value;
+ }
+
+ /**
+ * Gets the value of the linkRole property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getLinkRole() {
+ return linkRole;
+ }
+
+ /**
+ * Sets the value of the linkRole property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setLinkRole(String value) {
+ this.linkRole = value;
+ }
+
+ /**
+ * Gets the value of the linkName2 property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getLinkName2() {
+ return linkName2;
+ }
+
+ /**
+ * Sets the value of the linkName2 property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setLinkName2(String value) {
+ this.linkName2 = value;
+ }
+
+ /**
+ * Gets the value of the linkId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getLinkId() {
+ return linkId;
+ }
+
+ /**
+ * Sets the value of the linkId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setLinkId(String value) {
+ this.linkId = value;
+ }
+
+ /**
+ * Gets the value of the relationshipList property.
+ *
+ * @return
+ * possible object is
+ * {@link RelationshipList }
+ *
+ */
+ public RelationshipList getRelationshipList() {
+ return relationshipList;
+ }
+
+ /**
+ * Sets the value of the relationshipList property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RelationshipList }
+ *
+ */
+ public void setRelationshipList(RelationshipList value) {
+ this.relationshipList = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/LogicalLinks.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/LogicalLinks.java
new file mode 100644
index 0000000..1742d09
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/LogicalLinks.java
@@ -0,0 +1,81 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}logical-link" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "logicalLink"
+})
+@XmlRootElement(name = "logical-links")
+public class LogicalLinks
+ implements AAIDatum
+{
+
+ @XmlElement(name = "logical-link")
+ protected List<LogicalLink> logicalLink;
+
+ /**
+ * Gets the value of the logicalLink property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the logicalLink property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getLogicalLink().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link LogicalLink }
+ *
+ *
+ */
+ public List<LogicalLink> getLogicalLink() {
+ if (logicalLink == null) {
+ logicalLink = new ArrayList<LogicalLink>();
+ }
+ return this.logicalLink;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Metadata.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Metadata.java
new file mode 100644
index 0000000..09ad240
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Metadata.java
@@ -0,0 +1,79 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}metadatum" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "metadatum"
+})
+@XmlRootElement(name = "metadata")
+public class Metadata
+ implements AAIDatum
+{
+
+ protected List<Metadatum> metadatum;
+
+ /**
+ * Gets the value of the metadatum property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the metadatum property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getMetadatum().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link Metadatum }
+ *
+ *
+ */
+ public List<Metadatum> getMetadatum() {
+ if (metadatum == null) {
+ metadatum = new ArrayList<Metadatum>();
+ }
+ return this.metadatum;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Metadatum.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Metadatum.java
new file mode 100644
index 0000000..4ff0335
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Metadatum.java
@@ -0,0 +1,130 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="metaname" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="metaval" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="resource-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "metaname",
+ "metaval",
+ "resourceVersion"
+})
+@XmlRootElement(name = "metadatum")
+public class Metadatum
+ implements AAIDatum
+{
+
+ @XmlElement(required = true)
+ protected String metaname;
+ @XmlElement(required = true)
+ protected String metaval;
+ @XmlElement(name = "resource-version")
+ protected String resourceVersion;
+
+ /**
+ * Gets the value of the metaname property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getMetaname() {
+ return metaname;
+ }
+
+ /**
+ * Sets the value of the metaname property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setMetaname(String value) {
+ this.metaname = value;
+ }
+
+ /**
+ * Gets the value of the metaval property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getMetaval() {
+ return metaval;
+ }
+
+ /**
+ * Sets the value of the metaval property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setMetaval(String value) {
+ this.metaval = value;
+ }
+
+ /**
+ * Gets the value of the resourceVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ /**
+ * Sets the value of the resourceVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceVersion(String value) {
+ this.resourceVersion = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Model.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Model.java
new file mode 100644
index 0000000..5919ca5
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Model.java
@@ -0,0 +1,325 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="model-name-version-id" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="model-type" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="model-name" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="model-id" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="model-version" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="model-description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="resource-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}model-elements" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}metadata" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}relationship-list" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "modelNameVersionId",
+ "modelType",
+ "modelName",
+ "modelId",
+ "modelVersion",
+ "modelDescription",
+ "resourceVersion",
+ "modelElements",
+ "metadata",
+ "relationshipList"
+})
+@XmlRootElement(name = "model")
+public class Model
+ implements AAIDatum
+{
+
+ @XmlElement(name = "model-name-version-id", required = true)
+ protected String modelNameVersionId;
+ @XmlElement(name = "model-type", required = true)
+ protected String modelType;
+ @XmlElement(name = "model-name", required = true)
+ protected String modelName;
+ @XmlElement(name = "model-id", required = true)
+ protected String modelId;
+ @XmlElement(name = "model-version", required = true)
+ protected String modelVersion;
+ @XmlElement(name = "model-description")
+ protected String modelDescription;
+ @XmlElement(name = "resource-version")
+ protected String resourceVersion;
+ @XmlElement(name = "model-elements")
+ protected ModelElements modelElements;
+ protected Metadata metadata;
+ @XmlElement(name = "relationship-list")
+ protected RelationshipList relationshipList;
+
+ /**
+ * Gets the value of the modelNameVersionId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getModelNameVersionId() {
+ return modelNameVersionId;
+ }
+
+ /**
+ * Sets the value of the modelNameVersionId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setModelNameVersionId(String value) {
+ this.modelNameVersionId = value;
+ }
+
+ /**
+ * Gets the value of the modelType property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getModelType() {
+ return modelType;
+ }
+
+ /**
+ * Sets the value of the modelType property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setModelType(String value) {
+ this.modelType = value;
+ }
+
+ /**
+ * Gets the value of the modelName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getModelName() {
+ return modelName;
+ }
+
+ /**
+ * Sets the value of the modelName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setModelName(String value) {
+ this.modelName = value;
+ }
+
+ /**
+ * Gets the value of the modelId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getModelId() {
+ return modelId;
+ }
+
+ /**
+ * Sets the value of the modelId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setModelId(String value) {
+ this.modelId = value;
+ }
+
+ /**
+ * Gets the value of the modelVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getModelVersion() {
+ return modelVersion;
+ }
+
+ /**
+ * Sets the value of the modelVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setModelVersion(String value) {
+ this.modelVersion = value;
+ }
+
+ /**
+ * Gets the value of the modelDescription property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getModelDescription() {
+ return modelDescription;
+ }
+
+ /**
+ * Sets the value of the modelDescription property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setModelDescription(String value) {
+ this.modelDescription = value;
+ }
+
+ /**
+ * Gets the value of the resourceVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ /**
+ * Sets the value of the resourceVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceVersion(String value) {
+ this.resourceVersion = value;
+ }
+
+ /**
+ * Gets the value of the modelElements property.
+ *
+ * @return
+ * possible object is
+ * {@link ModelElements }
+ *
+ */
+ public ModelElements getModelElements() {
+ return modelElements;
+ }
+
+ /**
+ * Sets the value of the modelElements property.
+ *
+ * @param value
+ * allowed object is
+ * {@link ModelElements }
+ *
+ */
+ public void setModelElements(ModelElements value) {
+ this.modelElements = value;
+ }
+
+ /**
+ * Gets the value of the metadata property.
+ *
+ * @return
+ * possible object is
+ * {@link Metadata }
+ *
+ */
+ public Metadata getMetadata() {
+ return metadata;
+ }
+
+ /**
+ * Sets the value of the metadata property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Metadata }
+ *
+ */
+ public void setMetadata(Metadata value) {
+ this.metadata = value;
+ }
+
+ /**
+ * Gets the value of the relationshipList property.
+ *
+ * @return
+ * possible object is
+ * {@link RelationshipList }
+ *
+ */
+ public RelationshipList getRelationshipList() {
+ return relationshipList;
+ }
+
+ /**
+ * Sets the value of the relationshipList property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RelationshipList }
+ *
+ */
+ public void setRelationshipList(RelationshipList value) {
+ this.relationshipList = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ModelAndNamedQuerySearch.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ModelAndNamedQuerySearch.java
new file mode 100644
index 0000000..9c51b73
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ModelAndNamedQuerySearch.java
@@ -0,0 +1,130 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}query-parameters" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}instance-filters" minOccurs="0"/&gt;
+ * &lt;element name="top-node-type" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "queryParameters",
+ "instanceFilters",
+ "topNodeType"
+})
+@XmlRootElement(name = "model-and-named-query-search")
+public class ModelAndNamedQuerySearch
+ implements AAIDatum
+{
+
+ @XmlElement(name = "query-parameters")
+ protected QueryParameters queryParameters;
+ @XmlElement(name = "instance-filters")
+ protected InstanceFilters instanceFilters;
+ @XmlElement(name = "top-node-type")
+ protected String topNodeType;
+
+ /**
+ * Gets the value of the queryParameters property.
+ *
+ * @return
+ * possible object is
+ * {@link QueryParameters }
+ *
+ */
+ public QueryParameters getQueryParameters() {
+ return queryParameters;
+ }
+
+ /**
+ * Sets the value of the queryParameters property.
+ *
+ * @param value
+ * allowed object is
+ * {@link QueryParameters }
+ *
+ */
+ public void setQueryParameters(QueryParameters value) {
+ this.queryParameters = value;
+ }
+
+ /**
+ * Gets the value of the instanceFilters property.
+ *
+ * @return
+ * possible object is
+ * {@link InstanceFilters }
+ *
+ */
+ public InstanceFilters getInstanceFilters() {
+ return instanceFilters;
+ }
+
+ /**
+ * Sets the value of the instanceFilters property.
+ *
+ * @param value
+ * allowed object is
+ * {@link InstanceFilters }
+ *
+ */
+ public void setInstanceFilters(InstanceFilters value) {
+ this.instanceFilters = value;
+ }
+
+ /**
+ * Gets the value of the topNodeType property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getTopNodeType() {
+ return topNodeType;
+ }
+
+ /**
+ * Sets the value of the topNodeType property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setTopNodeType(String value) {
+ this.topNodeType = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ModelConstraint.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ModelConstraint.java
new file mode 100644
index 0000000..24bd0f5
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ModelConstraint.java
@@ -0,0 +1,130 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="model-constraint-uuid" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="constrained-element-set-uuid-to-replace" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}constrained-element-sets" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "modelConstraintUuid",
+ "constrainedElementSetUuidToReplace",
+ "constrainedElementSets"
+})
+@XmlRootElement(name = "model-constraint")
+public class ModelConstraint
+ implements AAIDatum
+{
+
+ @XmlElement(name = "model-constraint-uuid", required = true)
+ protected String modelConstraintUuid;
+ @XmlElement(name = "constrained-element-set-uuid-to-replace", required = true)
+ protected String constrainedElementSetUuidToReplace;
+ @XmlElement(name = "constrained-element-sets")
+ protected ConstrainedElementSets constrainedElementSets;
+
+ /**
+ * Gets the value of the modelConstraintUuid property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getModelConstraintUuid() {
+ return modelConstraintUuid;
+ }
+
+ /**
+ * Sets the value of the modelConstraintUuid property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setModelConstraintUuid(String value) {
+ this.modelConstraintUuid = value;
+ }
+
+ /**
+ * Gets the value of the constrainedElementSetUuidToReplace property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getConstrainedElementSetUuidToReplace() {
+ return constrainedElementSetUuidToReplace;
+ }
+
+ /**
+ * Sets the value of the constrainedElementSetUuidToReplace property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setConstrainedElementSetUuidToReplace(String value) {
+ this.constrainedElementSetUuidToReplace = value;
+ }
+
+ /**
+ * Gets the value of the constrainedElementSets property.
+ *
+ * @return
+ * possible object is
+ * {@link ConstrainedElementSets }
+ *
+ */
+ public ConstrainedElementSets getConstrainedElementSets() {
+ return constrainedElementSets;
+ }
+
+ /**
+ * Sets the value of the constrainedElementSets property.
+ *
+ * @param value
+ * allowed object is
+ * {@link ConstrainedElementSets }
+ *
+ */
+ public void setConstrainedElementSets(ConstrainedElementSets value) {
+ this.constrainedElementSets = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ModelConstraints.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ModelConstraints.java
new file mode 100644
index 0000000..0b59cb6
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ModelConstraints.java
@@ -0,0 +1,81 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}model-constraint" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "modelConstraint"
+})
+@XmlRootElement(name = "model-constraints")
+public class ModelConstraints
+ implements AAIDatum
+{
+
+ @XmlElement(name = "model-constraint")
+ protected List<ModelConstraint> modelConstraint;
+
+ /**
+ * Gets the value of the modelConstraint property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the modelConstraint property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getModelConstraint().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link ModelConstraint }
+ *
+ *
+ */
+ public List<ModelConstraint> getModelConstraint() {
+ if (modelConstraint == null) {
+ modelConstraint = new ArrayList<ModelConstraint>();
+ }
+ return this.modelConstraint;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ModelElement.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ModelElement.java
new file mode 100644
index 0000000..76c14c8
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ModelElement.java
@@ -0,0 +1,344 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="model-element-uuid" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="new-data-del-flag" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="cardinality" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="linkage-points" minOccurs="0"&gt;
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="linkage-point" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * &lt;/element&gt;
+ * &lt;element name="resource-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}model-elements" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}model-constraints" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}relationship-list" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "modelElementUuid",
+ "newDataDelFlag",
+ "cardinality",
+ "linkagePoints",
+ "resourceVersion",
+ "modelElements",
+ "modelConstraints",
+ "relationshipList"
+})
+@XmlRootElement(name = "model-element")
+public class ModelElement
+ implements AAIDatum
+{
+
+ @XmlElement(name = "model-element-uuid", required = true)
+ protected String modelElementUuid;
+ @XmlElement(name = "new-data-del-flag", required = true)
+ protected String newDataDelFlag;
+ @XmlElement(required = true)
+ protected String cardinality;
+ @XmlElement(name = "linkage-points")
+ protected ModelElement.LinkagePoints linkagePoints;
+ @XmlElement(name = "resource-version")
+ protected String resourceVersion;
+ @XmlElement(name = "model-elements")
+ protected ModelElements modelElements;
+ @XmlElement(name = "model-constraints")
+ protected ModelConstraints modelConstraints;
+ @XmlElement(name = "relationship-list")
+ protected RelationshipList relationshipList;
+
+ /**
+ * Gets the value of the modelElementUuid property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getModelElementUuid() {
+ return modelElementUuid;
+ }
+
+ /**
+ * Sets the value of the modelElementUuid property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setModelElementUuid(String value) {
+ this.modelElementUuid = value;
+ }
+
+ /**
+ * Gets the value of the newDataDelFlag property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNewDataDelFlag() {
+ return newDataDelFlag;
+ }
+
+ /**
+ * Sets the value of the newDataDelFlag property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNewDataDelFlag(String value) {
+ this.newDataDelFlag = value;
+ }
+
+ /**
+ * Gets the value of the cardinality property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getCardinality() {
+ return cardinality;
+ }
+
+ /**
+ * Sets the value of the cardinality property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setCardinality(String value) {
+ this.cardinality = value;
+ }
+
+ /**
+ * Gets the value of the linkagePoints property.
+ *
+ * @return
+ * possible object is
+ * {@link ModelElement.LinkagePoints }
+ *
+ */
+ public ModelElement.LinkagePoints getLinkagePoints() {
+ return linkagePoints;
+ }
+
+ /**
+ * Sets the value of the linkagePoints property.
+ *
+ * @param value
+ * allowed object is
+ * {@link ModelElement.LinkagePoints }
+ *
+ */
+ public void setLinkagePoints(ModelElement.LinkagePoints value) {
+ this.linkagePoints = value;
+ }
+
+ /**
+ * Gets the value of the resourceVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ /**
+ * Sets the value of the resourceVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceVersion(String value) {
+ this.resourceVersion = value;
+ }
+
+ /**
+ * Gets the value of the modelElements property.
+ *
+ * @return
+ * possible object is
+ * {@link ModelElements }
+ *
+ */
+ public ModelElements getModelElements() {
+ return modelElements;
+ }
+
+ /**
+ * Sets the value of the modelElements property.
+ *
+ * @param value
+ * allowed object is
+ * {@link ModelElements }
+ *
+ */
+ public void setModelElements(ModelElements value) {
+ this.modelElements = value;
+ }
+
+ /**
+ * Gets the value of the modelConstraints property.
+ *
+ * @return
+ * possible object is
+ * {@link ModelConstraints }
+ *
+ */
+ public ModelConstraints getModelConstraints() {
+ return modelConstraints;
+ }
+
+ /**
+ * Sets the value of the modelConstraints property.
+ *
+ * @param value
+ * allowed object is
+ * {@link ModelConstraints }
+ *
+ */
+ public void setModelConstraints(ModelConstraints value) {
+ this.modelConstraints = value;
+ }
+
+ /**
+ * Gets the value of the relationshipList property.
+ *
+ * @return
+ * possible object is
+ * {@link RelationshipList }
+ *
+ */
+ public RelationshipList getRelationshipList() {
+ return relationshipList;
+ }
+
+ /**
+ * Sets the value of the relationshipList property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RelationshipList }
+ *
+ */
+ public void setRelationshipList(RelationshipList value) {
+ this.relationshipList = value;
+ }
+
+
+ /**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="linkage-point" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = {
+ "linkagePoint"
+ })
+ public static class LinkagePoints
+ implements AAIDatum
+ {
+
+ @XmlElement(name = "linkage-point")
+ protected List<String> linkagePoint;
+
+ /**
+ * Gets the value of the linkagePoint property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the linkagePoint property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getLinkagePoint().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ *
+ */
+ public List<String> getLinkagePoint() {
+ if (linkagePoint == null) {
+ linkagePoint = new ArrayList<String>();
+ }
+ return this.linkagePoint;
+ }
+
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ModelElements.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ModelElements.java
new file mode 100644
index 0000000..3f59b69
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ModelElements.java
@@ -0,0 +1,81 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}model-element" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "modelElement"
+})
+@XmlRootElement(name = "model-elements")
+public class ModelElements
+ implements AAIDatum
+{
+
+ @XmlElement(name = "model-element")
+ protected List<ModelElement> modelElement;
+
+ /**
+ * Gets the value of the modelElement property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the modelElement property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getModelElement().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link ModelElement }
+ *
+ *
+ */
+ public List<ModelElement> getModelElement() {
+ if (modelElement == null) {
+ modelElement = new ArrayList<ModelElement>();
+ }
+ return this.modelElement;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Models.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Models.java
new file mode 100644
index 0000000..2e8b80a
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Models.java
@@ -0,0 +1,79 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}model" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "model"
+})
+@XmlRootElement(name = "models")
+public class Models
+ implements AAIDatum
+{
+
+ protected List<Model> model;
+
+ /**
+ * Gets the value of the model property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the model property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getModel().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link Model }
+ *
+ *
+ */
+ public List<Model> getModel() {
+ if (model == null) {
+ model = new ArrayList<Model>();
+ }
+ return this.model;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/NamedQueries.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/NamedQueries.java
new file mode 100644
index 0000000..4b313e0
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/NamedQueries.java
@@ -0,0 +1,81 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}named-query" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "namedQuery"
+})
+@XmlRootElement(name = "named-queries")
+public class NamedQueries
+ implements AAIDatum
+{
+
+ @XmlElement(name = "named-query")
+ protected List<NamedQuery> namedQuery;
+
+ /**
+ * Gets the value of the namedQuery property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the namedQuery property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getNamedQuery().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link NamedQuery }
+ *
+ *
+ */
+ public List<NamedQuery> getNamedQuery() {
+ if (namedQuery == null) {
+ namedQuery = new ArrayList<NamedQuery>();
+ }
+ return this.namedQuery;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/NamedQuery.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/NamedQuery.java
new file mode 100644
index 0000000..00f2f97
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/NamedQuery.java
@@ -0,0 +1,343 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="named-query-uuid" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="named-query-name" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="named-query-version" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="required-input-params" minOccurs="0"&gt;
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="required-input-param" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * &lt;/element&gt;
+ * &lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="resource-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}named-query-elements" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}relationship-list" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "namedQueryUuid",
+ "namedQueryName",
+ "namedQueryVersion",
+ "requiredInputParams",
+ "description",
+ "resourceVersion",
+ "namedQueryElements",
+ "relationshipList"
+})
+@XmlRootElement(name = "named-query")
+public class NamedQuery
+ implements AAIDatum
+{
+
+ @XmlElement(name = "named-query-uuid", required = true)
+ protected String namedQueryUuid;
+ @XmlElement(name = "named-query-name", required = true)
+ protected String namedQueryName;
+ @XmlElement(name = "named-query-version", required = true)
+ protected String namedQueryVersion;
+ @XmlElement(name = "required-input-params")
+ protected NamedQuery.RequiredInputParams requiredInputParams;
+ protected String description;
+ @XmlElement(name = "resource-version")
+ protected String resourceVersion;
+ @XmlElement(name = "named-query-elements")
+ protected NamedQueryElements namedQueryElements;
+ @XmlElement(name = "relationship-list")
+ protected RelationshipList relationshipList;
+
+ /**
+ * Gets the value of the namedQueryUuid property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNamedQueryUuid() {
+ return namedQueryUuid;
+ }
+
+ /**
+ * Sets the value of the namedQueryUuid property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNamedQueryUuid(String value) {
+ this.namedQueryUuid = value;
+ }
+
+ /**
+ * Gets the value of the namedQueryName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNamedQueryName() {
+ return namedQueryName;
+ }
+
+ /**
+ * Sets the value of the namedQueryName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNamedQueryName(String value) {
+ this.namedQueryName = value;
+ }
+
+ /**
+ * Gets the value of the namedQueryVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNamedQueryVersion() {
+ return namedQueryVersion;
+ }
+
+ /**
+ * Sets the value of the namedQueryVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNamedQueryVersion(String value) {
+ this.namedQueryVersion = value;
+ }
+
+ /**
+ * Gets the value of the requiredInputParams property.
+ *
+ * @return
+ * possible object is
+ * {@link NamedQuery.RequiredInputParams }
+ *
+ */
+ public NamedQuery.RequiredInputParams getRequiredInputParams() {
+ return requiredInputParams;
+ }
+
+ /**
+ * Sets the value of the requiredInputParams property.
+ *
+ * @param value
+ * allowed object is
+ * {@link NamedQuery.RequiredInputParams }
+ *
+ */
+ public void setRequiredInputParams(NamedQuery.RequiredInputParams value) {
+ this.requiredInputParams = value;
+ }
+
+ /**
+ * Gets the value of the description property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getDescription() {
+ return description;
+ }
+
+ /**
+ * Sets the value of the description property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setDescription(String value) {
+ this.description = value;
+ }
+
+ /**
+ * Gets the value of the resourceVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ /**
+ * Sets the value of the resourceVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceVersion(String value) {
+ this.resourceVersion = value;
+ }
+
+ /**
+ * Gets the value of the namedQueryElements property.
+ *
+ * @return
+ * possible object is
+ * {@link NamedQueryElements }
+ *
+ */
+ public NamedQueryElements getNamedQueryElements() {
+ return namedQueryElements;
+ }
+
+ /**
+ * Sets the value of the namedQueryElements property.
+ *
+ * @param value
+ * allowed object is
+ * {@link NamedQueryElements }
+ *
+ */
+ public void setNamedQueryElements(NamedQueryElements value) {
+ this.namedQueryElements = value;
+ }
+
+ /**
+ * Gets the value of the relationshipList property.
+ *
+ * @return
+ * possible object is
+ * {@link RelationshipList }
+ *
+ */
+ public RelationshipList getRelationshipList() {
+ return relationshipList;
+ }
+
+ /**
+ * Sets the value of the relationshipList property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RelationshipList }
+ *
+ */
+ public void setRelationshipList(RelationshipList value) {
+ this.relationshipList = value;
+ }
+
+
+ /**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="required-input-param" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = {
+ "requiredInputParam"
+ })
+ public static class RequiredInputParams
+ implements AAIDatum
+ {
+
+ @XmlElement(name = "required-input-param")
+ protected List<String> requiredInputParam;
+
+ /**
+ * Gets the value of the requiredInputParam property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the requiredInputParam property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getRequiredInputParam().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ *
+ */
+ public List<String> getRequiredInputParam() {
+ if (requiredInputParam == null) {
+ requiredInputParam = new ArrayList<String>();
+ }
+ return this.requiredInputParam;
+ }
+
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/NamedQueryElement.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/NamedQueryElement.java
new file mode 100644
index 0000000..af93d89
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/NamedQueryElement.java
@@ -0,0 +1,305 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="named-query-element-uuid" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="property-collect-list" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;element name="resource-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="property-limit-desc" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="do-not-output" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}named-query-elements" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}related-lookups" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}property-constraints" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}relationship-list" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "namedQueryElementUuid",
+ "propertyCollectList",
+ "resourceVersion",
+ "propertyLimitDesc",
+ "doNotOutput",
+ "namedQueryElements",
+ "relatedLookups",
+ "propertyConstraints",
+ "relationshipList"
+})
+@XmlRootElement(name = "named-query-element")
+public class NamedQueryElement
+ implements AAIDatum
+{
+
+ @XmlElement(name = "named-query-element-uuid", required = true)
+ protected String namedQueryElementUuid;
+ @XmlElement(name = "property-collect-list")
+ protected List<String> propertyCollectList;
+ @XmlElement(name = "resource-version")
+ protected String resourceVersion;
+ @XmlElement(name = "property-limit-desc")
+ protected String propertyLimitDesc;
+ @XmlElement(name = "do-not-output")
+ protected String doNotOutput;
+ @XmlElement(name = "named-query-elements")
+ protected NamedQueryElements namedQueryElements;
+ @XmlElement(name = "related-lookups")
+ protected RelatedLookups relatedLookups;
+ @XmlElement(name = "property-constraints")
+ protected PropertyConstraints propertyConstraints;
+ @XmlElement(name = "relationship-list")
+ protected RelationshipList relationshipList;
+
+ /**
+ * Gets the value of the namedQueryElementUuid property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNamedQueryElementUuid() {
+ return namedQueryElementUuid;
+ }
+
+ /**
+ * Sets the value of the namedQueryElementUuid property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNamedQueryElementUuid(String value) {
+ this.namedQueryElementUuid = value;
+ }
+
+ /**
+ * Gets the value of the propertyCollectList property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the propertyCollectList property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getPropertyCollectList().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ *
+ */
+ public List<String> getPropertyCollectList() {
+ if (propertyCollectList == null) {
+ propertyCollectList = new ArrayList<String>();
+ }
+ return this.propertyCollectList;
+ }
+
+ /**
+ * Gets the value of the resourceVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ /**
+ * Sets the value of the resourceVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceVersion(String value) {
+ this.resourceVersion = value;
+ }
+
+ /**
+ * Gets the value of the propertyLimitDesc property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPropertyLimitDesc() {
+ return propertyLimitDesc;
+ }
+
+ /**
+ * Sets the value of the propertyLimitDesc property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPropertyLimitDesc(String value) {
+ this.propertyLimitDesc = value;
+ }
+
+ /**
+ * Gets the value of the doNotOutput property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getDoNotOutput() {
+ return doNotOutput;
+ }
+
+ /**
+ * Sets the value of the doNotOutput property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setDoNotOutput(String value) {
+ this.doNotOutput = value;
+ }
+
+ /**
+ * Gets the value of the namedQueryElements property.
+ *
+ * @return
+ * possible object is
+ * {@link NamedQueryElements }
+ *
+ */
+ public NamedQueryElements getNamedQueryElements() {
+ return namedQueryElements;
+ }
+
+ /**
+ * Sets the value of the namedQueryElements property.
+ *
+ * @param value
+ * allowed object is
+ * {@link NamedQueryElements }
+ *
+ */
+ public void setNamedQueryElements(NamedQueryElements value) {
+ this.namedQueryElements = value;
+ }
+
+ /**
+ * Gets the value of the relatedLookups property.
+ *
+ * @return
+ * possible object is
+ * {@link RelatedLookups }
+ *
+ */
+ public RelatedLookups getRelatedLookups() {
+ return relatedLookups;
+ }
+
+ /**
+ * Sets the value of the relatedLookups property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RelatedLookups }
+ *
+ */
+ public void setRelatedLookups(RelatedLookups value) {
+ this.relatedLookups = value;
+ }
+
+ /**
+ * Gets the value of the propertyConstraints property.
+ *
+ * @return
+ * possible object is
+ * {@link PropertyConstraints }
+ *
+ */
+ public PropertyConstraints getPropertyConstraints() {
+ return propertyConstraints;
+ }
+
+ /**
+ * Sets the value of the propertyConstraints property.
+ *
+ * @param value
+ * allowed object is
+ * {@link PropertyConstraints }
+ *
+ */
+ public void setPropertyConstraints(PropertyConstraints value) {
+ this.propertyConstraints = value;
+ }
+
+ /**
+ * Gets the value of the relationshipList property.
+ *
+ * @return
+ * possible object is
+ * {@link RelationshipList }
+ *
+ */
+ public RelationshipList getRelationshipList() {
+ return relationshipList;
+ }
+
+ /**
+ * Sets the value of the relationshipList property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RelationshipList }
+ *
+ */
+ public void setRelationshipList(RelationshipList value) {
+ this.relationshipList = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/NamedQueryElements.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/NamedQueryElements.java
new file mode 100644
index 0000000..91a1a6e
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/NamedQueryElements.java
@@ -0,0 +1,81 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}named-query-element" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "namedQueryElement"
+})
+@XmlRootElement(name = "named-query-elements")
+public class NamedQueryElements
+ implements AAIDatum
+{
+
+ @XmlElement(name = "named-query-element")
+ protected List<NamedQueryElement> namedQueryElement;
+
+ /**
+ * Gets the value of the namedQueryElement property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the namedQueryElement property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getNamedQueryElement().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link NamedQueryElement }
+ *
+ *
+ */
+ public List<NamedQueryElement> getNamedQueryElement() {
+ if (namedQueryElement == null) {
+ namedQueryElement = new ArrayList<NamedQueryElement>();
+ }
+ return this.namedQueryElement;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Network.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Network.java
new file mode 100644
index 0000000..e329ba9
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Network.java
@@ -0,0 +1,212 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}logical-links" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}vnfcs" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}l3-networks" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}generic-vnfs" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}pnfs" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}physical-links" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "logicalLinks",
+ "vnfcs",
+ "l3Networks",
+ "genericVnfs",
+ "pnfs",
+ "physicalLinks"
+})
+@XmlRootElement(name = "network")
+public class Network
+ implements AAIDatum
+{
+
+ @XmlElement(name = "logical-links")
+ protected LogicalLinks logicalLinks;
+ protected Vnfcs vnfcs;
+ @XmlElement(name = "l3-networks")
+ protected L3Networks l3Networks;
+ @XmlElement(name = "generic-vnfs")
+ protected GenericVnfs genericVnfs;
+ protected Pnfs pnfs;
+ @XmlElement(name = "physical-links")
+ protected PhysicalLinks physicalLinks;
+
+ /**
+ * Gets the value of the logicalLinks property.
+ *
+ * @return
+ * possible object is
+ * {@link LogicalLinks }
+ *
+ */
+ public LogicalLinks getLogicalLinks() {
+ return logicalLinks;
+ }
+
+ /**
+ * Sets the value of the logicalLinks property.
+ *
+ * @param value
+ * allowed object is
+ * {@link LogicalLinks }
+ *
+ */
+ public void setLogicalLinks(LogicalLinks value) {
+ this.logicalLinks = value;
+ }
+
+ /**
+ * Gets the value of the vnfcs property.
+ *
+ * @return
+ * possible object is
+ * {@link Vnfcs }
+ *
+ */
+ public Vnfcs getVnfcs() {
+ return vnfcs;
+ }
+
+ /**
+ * Sets the value of the vnfcs property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Vnfcs }
+ *
+ */
+ public void setVnfcs(Vnfcs value) {
+ this.vnfcs = value;
+ }
+
+ /**
+ * Gets the value of the l3Networks property.
+ *
+ * @return
+ * possible object is
+ * {@link L3Networks }
+ *
+ */
+ public L3Networks getL3Networks() {
+ return l3Networks;
+ }
+
+ /**
+ * Sets the value of the l3Networks property.
+ *
+ * @param value
+ * allowed object is
+ * {@link L3Networks }
+ *
+ */
+ public void setL3Networks(L3Networks value) {
+ this.l3Networks = value;
+ }
+
+ /**
+ * Gets the value of the genericVnfs property.
+ *
+ * @return
+ * possible object is
+ * {@link GenericVnfs }
+ *
+ */
+ public GenericVnfs getGenericVnfs() {
+ return genericVnfs;
+ }
+
+ /**
+ * Sets the value of the genericVnfs property.
+ *
+ * @param value
+ * allowed object is
+ * {@link GenericVnfs }
+ *
+ */
+ public void setGenericVnfs(GenericVnfs value) {
+ this.genericVnfs = value;
+ }
+
+ /**
+ * Gets the value of the pnfs property.
+ *
+ * @return
+ * possible object is
+ * {@link Pnfs }
+ *
+ */
+ public Pnfs getPnfs() {
+ return pnfs;
+ }
+
+ /**
+ * Sets the value of the pnfs property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Pnfs }
+ *
+ */
+ public void setPnfs(Pnfs value) {
+ this.pnfs = value;
+ }
+
+ /**
+ * Gets the value of the physicalLinks property.
+ *
+ * @return
+ * possible object is
+ * {@link PhysicalLinks }
+ *
+ */
+ public PhysicalLinks getPhysicalLinks() {
+ return physicalLinks;
+ }
+
+ /**
+ * Sets the value of the physicalLinks property.
+ *
+ * @param value
+ * allowed object is
+ * {@link PhysicalLinks }
+ *
+ */
+ public void setPhysicalLinks(PhysicalLinks value) {
+ this.physicalLinks = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/NotificationEvent.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/NotificationEvent.java
new file mode 100644
index 0000000..b1f512a
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/NotificationEvent.java
@@ -0,0 +1,102 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="cambria.partition" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}notification-event-header" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "cambriaPartition",
+ "notificationEventHeader"
+})
+@XmlRootElement(name = "notification-event")
+public class NotificationEvent
+ implements AAIDatum
+{
+
+ @XmlElement(name = "cambria.partition")
+ protected String cambriaPartition;
+ @XmlElement(name = "notification-event-header")
+ protected NotificationEventHeader notificationEventHeader;
+
+ /**
+ * Gets the value of the cambriaPartition property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getCambriaPartition() {
+ return cambriaPartition;
+ }
+
+ /**
+ * Sets the value of the cambriaPartition property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setCambriaPartition(String value) {
+ this.cambriaPartition = value;
+ }
+
+ /**
+ * Gets the value of the notificationEventHeader property.
+ *
+ * @return
+ * possible object is
+ * {@link NotificationEventHeader }
+ *
+ */
+ public NotificationEventHeader getNotificationEventHeader() {
+ return notificationEventHeader;
+ }
+
+ /**
+ * Sets the value of the notificationEventHeader property.
+ *
+ * @param value
+ * allowed object is
+ * {@link NotificationEventHeader }
+ *
+ */
+ public void setNotificationEventHeader(NotificationEventHeader value) {
+ this.notificationEventHeader = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/NotificationEventHeader.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/NotificationEventHeader.java
new file mode 100644
index 0000000..86e51f6
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/NotificationEventHeader.java
@@ -0,0 +1,403 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="id" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="timestamp" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="source-name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="domain" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="sequence-number" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="severity" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="event-type" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="action" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="entity-type" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="top-entity-type" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="entity-link" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="status" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "id",
+ "timestamp",
+ "sourceName",
+ "domain",
+ "sequenceNumber",
+ "severity",
+ "eventType",
+ "version",
+ "action",
+ "entityType",
+ "topEntityType",
+ "entityLink",
+ "status"
+})
+@XmlRootElement(name = "notification-event-header")
+public class NotificationEventHeader
+ implements AAIDatum
+{
+
+ protected String id;
+ protected String timestamp;
+ @XmlElement(name = "source-name")
+ protected String sourceName;
+ protected String domain;
+ @XmlElement(name = "sequence-number")
+ protected String sequenceNumber;
+ protected String severity;
+ @XmlElement(name = "event-type")
+ protected String eventType;
+ protected String version;
+ protected String action;
+ @XmlElement(name = "entity-type")
+ protected String entityType;
+ @XmlElement(name = "top-entity-type")
+ protected String topEntityType;
+ @XmlElement(name = "entity-link")
+ protected String entityLink;
+ protected String status;
+
+ /**
+ * Gets the value of the id property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * Sets the value of the id property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setId(String value) {
+ this.id = value;
+ }
+
+ /**
+ * Gets the value of the timestamp property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getTimestamp() {
+ return timestamp;
+ }
+
+ /**
+ * Sets the value of the timestamp property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setTimestamp(String value) {
+ this.timestamp = value;
+ }
+
+ /**
+ * Gets the value of the sourceName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSourceName() {
+ return sourceName;
+ }
+
+ /**
+ * Sets the value of the sourceName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSourceName(String value) {
+ this.sourceName = value;
+ }
+
+ /**
+ * Gets the value of the domain property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getDomain() {
+ return domain;
+ }
+
+ /**
+ * Sets the value of the domain property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setDomain(String value) {
+ this.domain = value;
+ }
+
+ /**
+ * Gets the value of the sequenceNumber property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSequenceNumber() {
+ return sequenceNumber;
+ }
+
+ /**
+ * Sets the value of the sequenceNumber property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSequenceNumber(String value) {
+ this.sequenceNumber = value;
+ }
+
+ /**
+ * Gets the value of the severity property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSeverity() {
+ return severity;
+ }
+
+ /**
+ * Sets the value of the severity property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSeverity(String value) {
+ this.severity = value;
+ }
+
+ /**
+ * Gets the value of the eventType property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getEventType() {
+ return eventType;
+ }
+
+ /**
+ * Sets the value of the eventType property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setEventType(String value) {
+ this.eventType = value;
+ }
+
+ /**
+ * Gets the value of the version property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getVersion() {
+ return version;
+ }
+
+ /**
+ * Sets the value of the version property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setVersion(String value) {
+ this.version = value;
+ }
+
+ /**
+ * Gets the value of the action property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getAction() {
+ return action;
+ }
+
+ /**
+ * Sets the value of the action property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setAction(String value) {
+ this.action = value;
+ }
+
+ /**
+ * Gets the value of the entityType property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getEntityType() {
+ return entityType;
+ }
+
+ /**
+ * Sets the value of the entityType property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setEntityType(String value) {
+ this.entityType = value;
+ }
+
+ /**
+ * Gets the value of the topEntityType property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getTopEntityType() {
+ return topEntityType;
+ }
+
+ /**
+ * Sets the value of the topEntityType property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setTopEntityType(String value) {
+ this.topEntityType = value;
+ }
+
+ /**
+ * Gets the value of the entityLink property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getEntityLink() {
+ return entityLink;
+ }
+
+ /**
+ * Sets the value of the entityLink property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setEntityLink(String value) {
+ this.entityLink = value;
+ }
+
+ /**
+ * Gets the value of the status property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getStatus() {
+ return status;
+ }
+
+ /**
+ * Sets the value of the status property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setStatus(String value) {
+ this.status = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Notify.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Notify.java
new file mode 100644
index 0000000..d55a389
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Notify.java
@@ -0,0 +1,192 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="event-id" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="node-type" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="event-trigger" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}key-data" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;element name="selflink" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "eventId",
+ "nodeType",
+ "eventTrigger",
+ "keyData",
+ "selflink"
+})
+@XmlRootElement(name = "notify")
+public class Notify
+ implements AAIDatum
+{
+
+ @XmlElement(name = "event-id", required = true)
+ protected String eventId;
+ @XmlElement(name = "node-type")
+ protected String nodeType;
+ @XmlElement(name = "event-trigger")
+ protected String eventTrigger;
+ @XmlElement(name = "key-data")
+ protected List<KeyData> keyData;
+ protected String selflink;
+
+ /**
+ * Gets the value of the eventId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getEventId() {
+ return eventId;
+ }
+
+ /**
+ * Sets the value of the eventId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setEventId(String value) {
+ this.eventId = value;
+ }
+
+ /**
+ * Gets the value of the nodeType property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNodeType() {
+ return nodeType;
+ }
+
+ /**
+ * Sets the value of the nodeType property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNodeType(String value) {
+ this.nodeType = value;
+ }
+
+ /**
+ * Gets the value of the eventTrigger property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getEventTrigger() {
+ return eventTrigger;
+ }
+
+ /**
+ * Sets the value of the eventTrigger property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setEventTrigger(String value) {
+ this.eventTrigger = value;
+ }
+
+ /**
+ * Gets the value of the keyData property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the keyData property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getKeyData().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link KeyData }
+ *
+ *
+ */
+ public List<KeyData> getKeyData() {
+ if (keyData == null) {
+ keyData = new ArrayList<KeyData>();
+ }
+ return this.keyData;
+ }
+
+ /**
+ * Gets the value of the selflink property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSelflink() {
+ return selflink;
+ }
+
+ /**
+ * Sets the value of the selflink property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSelflink(String value) {
+ this.selflink = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ObjectFactory.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ObjectFactory.java
new file mode 100644
index 0000000..21111b7
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ObjectFactory.java
@@ -0,0 +1,1015 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlRegistry;
+
+
+/**
+ * This object contains factory methods for each
+ * Java content interface and Java element interface
+ * generated in the org.openecomp.aai.inventory.v8 package.
+ * <p>An ObjectFactory allows you to programatically
+ * construct new instances of the Java representation
+ * for XML content. The Java representation of XML
+ * content can consist of schema derived interfaces
+ * and classes representing the binding of schema
+ * type definitions, element declarations and model
+ * groups. Factory methods for each of these are
+ * provided in this class.
+ *
+ */
+@XmlRegistry
+public class ObjectFactory {
+
+
+ /**
+ * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: org.openecomp.aai.inventory.v8
+ *
+ */
+ public ObjectFactory() {
+ }
+
+ /**
+ * Create an instance of {@link ModelElement }
+ *
+ */
+ public ModelElement createModelElement() {
+ return new ModelElement();
+ }
+
+ /**
+ * Create an instance of {@link NamedQuery }
+ *
+ */
+ public NamedQuery createNamedQuery() {
+ return new NamedQuery();
+ }
+
+ /**
+ * Create an instance of {@link ResultData }
+ *
+ */
+ public ResultData createResultData() {
+ return new ResultData();
+ }
+
+ /**
+ * Create an instance of {@link SearchResults }
+ *
+ */
+ public SearchResults createSearchResults() {
+ return new SearchResults();
+ }
+
+ /**
+ * Create an instance of {@link Search }
+ *
+ */
+ public Search createSearch() {
+ return new Search();
+ }
+
+ /**
+ * Create an instance of {@link UpdateNodeKey }
+ *
+ */
+ public UpdateNodeKey createUpdateNodeKey() {
+ return new UpdateNodeKey();
+ }
+
+ /**
+ * Create an instance of {@link ActionData }
+ *
+ */
+ public ActionData createActionData() {
+ return new ActionData();
+ }
+
+ /**
+ * Create an instance of {@link Action }
+ *
+ */
+ public Action createAction() {
+ return new Action();
+ }
+
+ /**
+ * Create an instance of {@link Update }
+ *
+ */
+ public Update createUpdate() {
+ return new Update();
+ }
+
+ /**
+ * Create an instance of {@link KeyData }
+ *
+ */
+ public KeyData createKeyData() {
+ return new KeyData();
+ }
+
+ /**
+ * Create an instance of {@link Notify }
+ *
+ */
+ public Notify createNotify() {
+ return new Notify();
+ }
+
+ /**
+ * Create an instance of {@link Actions }
+ *
+ */
+ public Actions createActions() {
+ return new Actions();
+ }
+
+ /**
+ * Create an instance of {@link RelationshipData }
+ *
+ */
+ public RelationshipData createRelationshipData() {
+ return new RelationshipData();
+ }
+
+ /**
+ * Create an instance of {@link RelatedToProperty }
+ *
+ */
+ public RelatedToProperty createRelatedToProperty() {
+ return new RelatedToProperty();
+ }
+
+ /**
+ * Create an instance of {@link Relationship }
+ *
+ */
+ public Relationship createRelationship() {
+ return new Relationship();
+ }
+
+ /**
+ * Create an instance of {@link RelationshipList }
+ *
+ */
+ public RelationshipList createRelationshipList() {
+ return new RelationshipList();
+ }
+
+ /**
+ * Create an instance of {@link VolumeGroup }
+ *
+ */
+ public VolumeGroup createVolumeGroup() {
+ return new VolumeGroup();
+ }
+
+ /**
+ * Create an instance of {@link VolumeGroups }
+ *
+ */
+ public VolumeGroups createVolumeGroups() {
+ return new VolumeGroups();
+ }
+
+ /**
+ * Create an instance of {@link Volume }
+ *
+ */
+ public Volume createVolume() {
+ return new Volume();
+ }
+
+ /**
+ * Create an instance of {@link Volumes }
+ *
+ */
+ public Volumes createVolumes() {
+ return new Volumes();
+ }
+
+ /**
+ * Create an instance of {@link L3InterfaceIpv4AddressList }
+ *
+ */
+ public L3InterfaceIpv4AddressList createL3InterfaceIpv4AddressList() {
+ return new L3InterfaceIpv4AddressList();
+ }
+
+ /**
+ * Create an instance of {@link L3InterfaceIpv6AddressList }
+ *
+ */
+ public L3InterfaceIpv6AddressList createL3InterfaceIpv6AddressList() {
+ return new L3InterfaceIpv6AddressList();
+ }
+
+ /**
+ * Create an instance of {@link Vlan }
+ *
+ */
+ public Vlan createVlan() {
+ return new Vlan();
+ }
+
+ /**
+ * Create an instance of {@link Vlans }
+ *
+ */
+ public Vlans createVlans() {
+ return new Vlans();
+ }
+
+ /**
+ * Create an instance of {@link LInterface }
+ *
+ */
+ public LInterface createLInterface() {
+ return new LInterface();
+ }
+
+ /**
+ * Create an instance of {@link LInterfaces }
+ *
+ */
+ public LInterfaces createLInterfaces() {
+ return new LInterfaces();
+ }
+
+ /**
+ * Create an instance of {@link Vserver }
+ *
+ */
+ public Vserver createVserver() {
+ return new Vserver();
+ }
+
+ /**
+ * Create an instance of {@link Vservers }
+ *
+ */
+ public Vservers createVservers() {
+ return new Vservers();
+ }
+
+ /**
+ * Create an instance of {@link Tenant }
+ *
+ */
+ public Tenant createTenant() {
+ return new Tenant();
+ }
+
+ /**
+ * Create an instance of {@link Tenants }
+ *
+ */
+ public Tenants createTenants() {
+ return new Tenants();
+ }
+
+ /**
+ * Create an instance of {@link Flavor }
+ *
+ */
+ public Flavor createFlavor() {
+ return new Flavor();
+ }
+
+ /**
+ * Create an instance of {@link Flavors }
+ *
+ */
+ public Flavors createFlavors() {
+ return new Flavors();
+ }
+
+ /**
+ * Create an instance of {@link GroupAssignment }
+ *
+ */
+ public GroupAssignment createGroupAssignment() {
+ return new GroupAssignment();
+ }
+
+ /**
+ * Create an instance of {@link GroupAssignments }
+ *
+ */
+ public GroupAssignments createGroupAssignments() {
+ return new GroupAssignments();
+ }
+
+ /**
+ * Create an instance of {@link Snapshot }
+ *
+ */
+ public Snapshot createSnapshot() {
+ return new Snapshot();
+ }
+
+ /**
+ * Create an instance of {@link Snapshots }
+ *
+ */
+ public Snapshots createSnapshots() {
+ return new Snapshots();
+ }
+
+ /**
+ * Create an instance of {@link Metadatum }
+ *
+ */
+ public Metadatum createMetadatum() {
+ return new Metadatum();
+ }
+
+ /**
+ * Create an instance of {@link Metadata }
+ *
+ */
+ public Metadata createMetadata() {
+ return new Metadata();
+ }
+
+ /**
+ * Create an instance of {@link Image }
+ *
+ */
+ public Image createImage() {
+ return new Image();
+ }
+
+ /**
+ * Create an instance of {@link Images }
+ *
+ */
+ public Images createImages() {
+ return new Images();
+ }
+
+ /**
+ * Create an instance of {@link AvailabilityZone }
+ *
+ */
+ public AvailabilityZone createAvailabilityZone() {
+ return new AvailabilityZone();
+ }
+
+ /**
+ * Create an instance of {@link AvailabilityZones }
+ *
+ */
+ public AvailabilityZones createAvailabilityZones() {
+ return new AvailabilityZones();
+ }
+
+ /**
+ * Create an instance of {@link CloudRegion }
+ *
+ */
+ public CloudRegion createCloudRegion() {
+ return new CloudRegion();
+ }
+
+ /**
+ * Create an instance of {@link CloudRegions }
+ *
+ */
+ public CloudRegions createCloudRegions() {
+ return new CloudRegions();
+ }
+
+ /**
+ * Create an instance of {@link PInterface }
+ *
+ */
+ public PInterface createPInterface() {
+ return new PInterface();
+ }
+
+ /**
+ * Create an instance of {@link PInterfaces }
+ *
+ */
+ public PInterfaces createPInterfaces() {
+ return new PInterfaces();
+ }
+
+ /**
+ * Create an instance of {@link LagInterface }
+ *
+ */
+ public LagInterface createLagInterface() {
+ return new LagInterface();
+ }
+
+ /**
+ * Create an instance of {@link LagInterfaces }
+ *
+ */
+ public LagInterfaces createLagInterfaces() {
+ return new LagInterfaces();
+ }
+
+ /**
+ * Create an instance of {@link Pserver }
+ *
+ */
+ public Pserver createPserver() {
+ return new Pserver();
+ }
+
+ /**
+ * Create an instance of {@link Pservers }
+ *
+ */
+ public Pservers createPservers() {
+ return new Pservers();
+ }
+
+ /**
+ * Create an instance of {@link CloudInfrastructure }
+ *
+ */
+ public CloudInfrastructure createCloudInfrastructure() {
+ return new CloudInfrastructure();
+ }
+
+ /**
+ * Create an instance of {@link ServiceInstance }
+ *
+ */
+ public ServiceInstance createServiceInstance() {
+ return new ServiceInstance();
+ }
+
+ /**
+ * Create an instance of {@link ServiceInstances }
+ *
+ */
+ public ServiceInstances createServiceInstances() {
+ return new ServiceInstances();
+ }
+
+ /**
+ * Create an instance of {@link ServiceSubscription }
+ *
+ */
+ public ServiceSubscription createServiceSubscription() {
+ return new ServiceSubscription();
+ }
+
+ /**
+ * Create an instance of {@link ServiceSubscriptions }
+ *
+ */
+ public ServiceSubscriptions createServiceSubscriptions() {
+ return new ServiceSubscriptions();
+ }
+
+ /**
+ * Create an instance of {@link Customer }
+ *
+ */
+ public Customer createCustomer() {
+ return new Customer();
+ }
+
+ /**
+ * Create an instance of {@link Customers }
+ *
+ */
+ public Customers createCustomers() {
+ return new Customers();
+ }
+
+ /**
+ * Create an instance of {@link Business }
+ *
+ */
+ public Business createBusiness() {
+ return new Business();
+ }
+
+ /**
+ * Create an instance of {@link Service }
+ *
+ */
+ public Service createService() {
+ return new Service();
+ }
+
+ /**
+ * Create an instance of {@link Services }
+ *
+ */
+ public Services createServices() {
+ return new Services();
+ }
+
+ /**
+ * Create an instance of {@link ElementChoiceSet }
+ *
+ */
+ public ElementChoiceSet createElementChoiceSet() {
+ return new ElementChoiceSet();
+ }
+
+ /**
+ * Create an instance of {@link ModelElements }
+ *
+ */
+ public ModelElements createModelElements() {
+ return new ModelElements();
+ }
+
+ /**
+ * Create an instance of {@link ModelElement.LinkagePoints }
+ *
+ */
+ public ModelElement.LinkagePoints createModelElementLinkagePoints() {
+ return new ModelElement.LinkagePoints();
+ }
+
+ /**
+ * Create an instance of {@link ModelConstraints }
+ *
+ */
+ public ModelConstraints createModelConstraints() {
+ return new ModelConstraints();
+ }
+
+ /**
+ * Create an instance of {@link ModelConstraint }
+ *
+ */
+ public ModelConstraint createModelConstraint() {
+ return new ModelConstraint();
+ }
+
+ /**
+ * Create an instance of {@link ConstrainedElementSets }
+ *
+ */
+ public ConstrainedElementSets createConstrainedElementSets() {
+ return new ConstrainedElementSets();
+ }
+
+ /**
+ * Create an instance of {@link ConstrainedElementSet }
+ *
+ */
+ public ConstrainedElementSet createConstrainedElementSet() {
+ return new ConstrainedElementSet();
+ }
+
+ /**
+ * Create an instance of {@link ElementChoiceSets }
+ *
+ */
+ public ElementChoiceSets createElementChoiceSets() {
+ return new ElementChoiceSets();
+ }
+
+ /**
+ * Create an instance of {@link Model }
+ *
+ */
+ public Model createModel() {
+ return new Model();
+ }
+
+ /**
+ * Create an instance of {@link Models }
+ *
+ */
+ public Models createModels() {
+ return new Models();
+ }
+
+ /**
+ * Create an instance of {@link RelatedLookup }
+ *
+ */
+ public RelatedLookup createRelatedLookup() {
+ return new RelatedLookup();
+ }
+
+ /**
+ * Create an instance of {@link RelatedLookups }
+ *
+ */
+ public RelatedLookups createRelatedLookups() {
+ return new RelatedLookups();
+ }
+
+ /**
+ * Create an instance of {@link PropertyConstraint }
+ *
+ */
+ public PropertyConstraint createPropertyConstraint() {
+ return new PropertyConstraint();
+ }
+
+ /**
+ * Create an instance of {@link PropertyConstraints }
+ *
+ */
+ public PropertyConstraints createPropertyConstraints() {
+ return new PropertyConstraints();
+ }
+
+ /**
+ * Create an instance of {@link NamedQueryElement }
+ *
+ */
+ public NamedQueryElement createNamedQueryElement() {
+ return new NamedQueryElement();
+ }
+
+ /**
+ * Create an instance of {@link NamedQueryElements }
+ *
+ */
+ public NamedQueryElements createNamedQueryElements() {
+ return new NamedQueryElements();
+ }
+
+ /**
+ * Create an instance of {@link NamedQuery.RequiredInputParams }
+ *
+ */
+ public NamedQuery.RequiredInputParams createNamedQueryRequiredInputParams() {
+ return new NamedQuery.RequiredInputParams();
+ }
+
+ /**
+ * Create an instance of {@link NamedQueries }
+ *
+ */
+ public NamedQueries createNamedQueries() {
+ return new NamedQueries();
+ }
+
+ /**
+ * Create an instance of {@link ServiceDesignAndCreation }
+ *
+ */
+ public ServiceDesignAndCreation createServiceDesignAndCreation() {
+ return new ServiceDesignAndCreation();
+ }
+
+ /**
+ * Create an instance of {@link LogicalLink }
+ *
+ */
+ public LogicalLink createLogicalLink() {
+ return new LogicalLink();
+ }
+
+ /**
+ * Create an instance of {@link LogicalLinks }
+ *
+ */
+ public LogicalLinks createLogicalLinks() {
+ return new LogicalLinks();
+ }
+
+ /**
+ * Create an instance of {@link Vnfc }
+ *
+ */
+ public Vnfc createVnfc() {
+ return new Vnfc();
+ }
+
+ /**
+ * Create an instance of {@link Vnfcs }
+ *
+ */
+ public Vnfcs createVnfcs() {
+ return new Vnfcs();
+ }
+
+ /**
+ * Create an instance of {@link Subnet }
+ *
+ */
+ public Subnet createSubnet() {
+ return new Subnet();
+ }
+
+ /**
+ * Create an instance of {@link Subnets }
+ *
+ */
+ public Subnets createSubnets() {
+ return new Subnets();
+ }
+
+ /**
+ * Create an instance of {@link CtagAssignment }
+ *
+ */
+ public CtagAssignment createCtagAssignment() {
+ return new CtagAssignment();
+ }
+
+ /**
+ * Create an instance of {@link CtagAssignments }
+ *
+ */
+ public CtagAssignments createCtagAssignments() {
+ return new CtagAssignments();
+ }
+
+ /**
+ * Create an instance of {@link SegmentationAssignment }
+ *
+ */
+ public SegmentationAssignment createSegmentationAssignment() {
+ return new SegmentationAssignment();
+ }
+
+ /**
+ * Create an instance of {@link SegmentationAssignments }
+ *
+ */
+ public SegmentationAssignments createSegmentationAssignments() {
+ return new SegmentationAssignments();
+ }
+
+ /**
+ * Create an instance of {@link L3Network }
+ *
+ */
+ public L3Network createL3Network() {
+ return new L3Network();
+ }
+
+ /**
+ * Create an instance of {@link L3Networks }
+ *
+ */
+ public L3Networks createL3Networks() {
+ return new L3Networks();
+ }
+
+ /**
+ * Create an instance of {@link VfModule }
+ *
+ */
+ public VfModule createVfModule() {
+ return new VfModule();
+ }
+
+ /**
+ * Create an instance of {@link VfModules }
+ *
+ */
+ public VfModules createVfModules() {
+ return new VfModules();
+ }
+
+ /**
+ * Create an instance of {@link GenericVnf }
+ *
+ */
+ public GenericVnf createGenericVnf() {
+ return new GenericVnf();
+ }
+
+ /**
+ * Create an instance of {@link GenericVnfs }
+ *
+ */
+ public GenericVnfs createGenericVnfs() {
+ return new GenericVnfs();
+ }
+
+ /**
+ * Create an instance of {@link Pnf }
+ *
+ */
+ public Pnf createPnf() {
+ return new Pnf();
+ }
+
+ /**
+ * Create an instance of {@link Pnfs }
+ *
+ */
+ public Pnfs createPnfs() {
+ return new Pnfs();
+ }
+
+ /**
+ * Create an instance of {@link PhysicalLink }
+ *
+ */
+ public PhysicalLink createPhysicalLink() {
+ return new PhysicalLink();
+ }
+
+ /**
+ * Create an instance of {@link PhysicalLinks }
+ *
+ */
+ public PhysicalLinks createPhysicalLinks() {
+ return new PhysicalLinks();
+ }
+
+ /**
+ * Create an instance of {@link Network }
+ *
+ */
+ public Network createNetwork() {
+ return new Network();
+ }
+
+ /**
+ * Create an instance of {@link ReservedPropNames }
+ *
+ */
+ public ReservedPropNames createReservedPropNames() {
+ return new ReservedPropNames();
+ }
+
+ /**
+ * Create an instance of {@link EdgePropNames }
+ *
+ */
+ public EdgePropNames createEdgePropNames() {
+ return new EdgePropNames();
+ }
+
+ /**
+ * Create an instance of {@link AaiInternal }
+ *
+ */
+ public AaiInternal createAaiInternal() {
+ return new AaiInternal();
+ }
+
+ /**
+ * Create an instance of {@link Inventory }
+ *
+ */
+ public Inventory createInventory() {
+ return new Inventory();
+ }
+
+ /**
+ * Create an instance of {@link InventoryItemData }
+ *
+ */
+ public InventoryItemData createInventoryItemData() {
+ return new InventoryItemData();
+ }
+
+ /**
+ * Create an instance of {@link InventoryItem }
+ *
+ */
+ public InventoryItem createInventoryItem() {
+ return new InventoryItem();
+ }
+
+ /**
+ * Create an instance of {@link TaggedInventoryItemList }
+ *
+ */
+ public TaggedInventoryItemList createTaggedInventoryItemList() {
+ return new TaggedInventoryItemList();
+ }
+
+ /**
+ * Create an instance of {@link StartNodeFilter }
+ *
+ */
+ public StartNodeFilter createStartNodeFilter() {
+ return new StartNodeFilter();
+ }
+
+ /**
+ * Create an instance of {@link IncludeNodeFilter }
+ *
+ */
+ public IncludeNodeFilter createIncludeNodeFilter() {
+ return new IncludeNodeFilter();
+ }
+
+ /**
+ * Create an instance of {@link SecondaryFilter }
+ *
+ */
+ public SecondaryFilter createSecondaryFilter() {
+ return new SecondaryFilter();
+ }
+
+ /**
+ * Create an instance of {@link NotificationEventHeader }
+ *
+ */
+ public NotificationEventHeader createNotificationEventHeader() {
+ return new NotificationEventHeader();
+ }
+
+ /**
+ * Create an instance of {@link NotificationEvent }
+ *
+ */
+ public NotificationEvent createNotificationEvent() {
+ return new NotificationEvent();
+ }
+
+ /**
+ * Create an instance of {@link QueryParameters }
+ *
+ */
+ public QueryParameters createQueryParameters() {
+ return new QueryParameters();
+ }
+
+ /**
+ * Create an instance of {@link InstanceFilter }
+ *
+ */
+ public InstanceFilter createInstanceFilter() {
+ return new InstanceFilter();
+ }
+
+ /**
+ * Create an instance of {@link InstanceFilters }
+ *
+ */
+ public InstanceFilters createInstanceFilters() {
+ return new InstanceFilters();
+ }
+
+ /**
+ * Create an instance of {@link ModelAndNamedQuerySearch }
+ *
+ */
+ public ModelAndNamedQuerySearch createModelAndNamedQuerySearch() {
+ return new ModelAndNamedQuerySearch();
+ }
+
+ /**
+ * Create an instance of {@link Properties }
+ *
+ */
+ public Properties createProperties() {
+ return new Properties();
+ }
+
+ /**
+ * Create an instance of {@link ExtraProperties }
+ *
+ */
+ public ExtraProperties createExtraProperties() {
+ return new ExtraProperties();
+ }
+
+ /**
+ * Create an instance of {@link InventoryResponseItem }
+ *
+ */
+ public InventoryResponseItem createInventoryResponseItem() {
+ return new InventoryResponseItem();
+ }
+
+ /**
+ * Create an instance of {@link InventoryResponseItems }
+ *
+ */
+ public InventoryResponseItems createInventoryResponseItems() {
+ return new InventoryResponseItems();
+ }
+
+ /**
+ * Create an instance of {@link ResponseList }
+ *
+ */
+ public ResponseList createResponseList() {
+ return new ResponseList();
+ }
+
+ /**
+ * Create an instance of {@link ExtraProperty }
+ *
+ */
+ public ExtraProperty createExtraProperty() {
+ return new ExtraProperty();
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/PInterface.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/PInterface.java
new file mode 100644
index 0000000..ddfbba4
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/PInterface.java
@@ -0,0 +1,326 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="interface-name" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="speed-value" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="speed-units" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="port-description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="equipment-identifier" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="interface-role" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="interface-type" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="resource-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}relationship-list" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}l-interfaces" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "interfaceName",
+ "speedValue",
+ "speedUnits",
+ "portDescription",
+ "equipmentIdentifier",
+ "interfaceRole",
+ "interfaceType",
+ "resourceVersion",
+ "relationshipList",
+ "lInterfaces"
+})
+@XmlRootElement(name = "p-interface")
+public class PInterface
+ implements AAIDatum
+{
+
+ @XmlElement(name = "interface-name", required = true)
+ protected String interfaceName;
+ @XmlElement(name = "speed-value")
+ protected String speedValue;
+ @XmlElement(name = "speed-units")
+ protected String speedUnits;
+ @XmlElement(name = "port-description")
+ protected String portDescription;
+ @XmlElement(name = "equipment-identifier")
+ protected String equipmentIdentifier;
+ @XmlElement(name = "interface-role")
+ protected String interfaceRole;
+ @XmlElement(name = "interface-type")
+ protected String interfaceType;
+ @XmlElement(name = "resource-version")
+ protected String resourceVersion;
+ @XmlElement(name = "relationship-list")
+ protected RelationshipList relationshipList;
+ @XmlElement(name = "l-interfaces")
+ protected LInterfaces lInterfaces;
+
+ /**
+ * Gets the value of the interfaceName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getInterfaceName() {
+ return interfaceName;
+ }
+
+ /**
+ * Sets the value of the interfaceName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setInterfaceName(String value) {
+ this.interfaceName = value;
+ }
+
+ /**
+ * Gets the value of the speedValue property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSpeedValue() {
+ return speedValue;
+ }
+
+ /**
+ * Sets the value of the speedValue property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSpeedValue(String value) {
+ this.speedValue = value;
+ }
+
+ /**
+ * Gets the value of the speedUnits property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSpeedUnits() {
+ return speedUnits;
+ }
+
+ /**
+ * Sets the value of the speedUnits property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSpeedUnits(String value) {
+ this.speedUnits = value;
+ }
+
+ /**
+ * Gets the value of the portDescription property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPortDescription() {
+ return portDescription;
+ }
+
+ /**
+ * Sets the value of the portDescription property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPortDescription(String value) {
+ this.portDescription = value;
+ }
+
+ /**
+ * Gets the value of the equipmentIdentifier property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getEquipmentIdentifier() {
+ return equipmentIdentifier;
+ }
+
+ /**
+ * Sets the value of the equipmentIdentifier property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setEquipmentIdentifier(String value) {
+ this.equipmentIdentifier = value;
+ }
+
+ /**
+ * Gets the value of the interfaceRole property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getInterfaceRole() {
+ return interfaceRole;
+ }
+
+ /**
+ * Sets the value of the interfaceRole property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setInterfaceRole(String value) {
+ this.interfaceRole = value;
+ }
+
+ /**
+ * Gets the value of the interfaceType property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getInterfaceType() {
+ return interfaceType;
+ }
+
+ /**
+ * Sets the value of the interfaceType property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setInterfaceType(String value) {
+ this.interfaceType = value;
+ }
+
+ /**
+ * Gets the value of the resourceVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ /**
+ * Sets the value of the resourceVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceVersion(String value) {
+ this.resourceVersion = value;
+ }
+
+ /**
+ * Gets the value of the relationshipList property.
+ *
+ * @return
+ * possible object is
+ * {@link RelationshipList }
+ *
+ */
+ public RelationshipList getRelationshipList() {
+ return relationshipList;
+ }
+
+ /**
+ * Sets the value of the relationshipList property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RelationshipList }
+ *
+ */
+ public void setRelationshipList(RelationshipList value) {
+ this.relationshipList = value;
+ }
+
+ /**
+ * Gets the value of the lInterfaces property.
+ *
+ * @return
+ * possible object is
+ * {@link LInterfaces }
+ *
+ */
+ public LInterfaces getLInterfaces() {
+ return lInterfaces;
+ }
+
+ /**
+ * Sets the value of the lInterfaces property.
+ *
+ * @param value
+ * allowed object is
+ * {@link LInterfaces }
+ *
+ */
+ public void setLInterfaces(LInterfaces value) {
+ this.lInterfaces = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/PInterfaces.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/PInterfaces.java
new file mode 100644
index 0000000..7a07c08
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/PInterfaces.java
@@ -0,0 +1,81 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}p-interface" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "pInterface"
+})
+@XmlRootElement(name = "p-interfaces")
+public class PInterfaces
+ implements AAIDatum
+{
+
+ @XmlElement(name = "p-interface")
+ protected List<PInterface> pInterface;
+
+ /**
+ * Gets the value of the pInterface property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the pInterface property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getPInterface().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link PInterface }
+ *
+ *
+ */
+ public List<PInterface> getPInterface() {
+ if (pInterface == null) {
+ pInterface = new ArrayList<PInterface>();
+ }
+ return this.pInterface;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/PhysicalLink.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/PhysicalLink.java
new file mode 100644
index 0000000..ed80bfe
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/PhysicalLink.java
@@ -0,0 +1,298 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="link-name" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="speed-value" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="speed-units" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="circuit-id" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="dual-mode" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="management-option" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="service-provider-name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="resource-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}relationship-list" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "linkName",
+ "speedValue",
+ "speedUnits",
+ "circuitId",
+ "dualMode",
+ "managementOption",
+ "serviceProviderName",
+ "resourceVersion",
+ "relationshipList"
+})
+@XmlRootElement(name = "physical-link")
+public class PhysicalLink
+ implements AAIDatum
+{
+
+ @XmlElement(name = "link-name", required = true)
+ protected String linkName;
+ @XmlElement(name = "speed-value")
+ protected String speedValue;
+ @XmlElement(name = "speed-units")
+ protected String speedUnits;
+ @XmlElement(name = "circuit-id")
+ protected String circuitId;
+ @XmlElement(name = "dual-mode")
+ protected String dualMode;
+ @XmlElement(name = "management-option")
+ protected String managementOption;
+ @XmlElement(name = "service-provider-name")
+ protected String serviceProviderName;
+ @XmlElement(name = "resource-version")
+ protected String resourceVersion;
+ @XmlElement(name = "relationship-list")
+ protected RelationshipList relationshipList;
+
+ /**
+ * Gets the value of the linkName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getLinkName() {
+ return linkName;
+ }
+
+ /**
+ * Sets the value of the linkName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setLinkName(String value) {
+ this.linkName = value;
+ }
+
+ /**
+ * Gets the value of the speedValue property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSpeedValue() {
+ return speedValue;
+ }
+
+ /**
+ * Sets the value of the speedValue property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSpeedValue(String value) {
+ this.speedValue = value;
+ }
+
+ /**
+ * Gets the value of the speedUnits property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSpeedUnits() {
+ return speedUnits;
+ }
+
+ /**
+ * Sets the value of the speedUnits property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSpeedUnits(String value) {
+ this.speedUnits = value;
+ }
+
+ /**
+ * Gets the value of the circuitId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getCircuitId() {
+ return circuitId;
+ }
+
+ /**
+ * Sets the value of the circuitId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setCircuitId(String value) {
+ this.circuitId = value;
+ }
+
+ /**
+ * Gets the value of the dualMode property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getDualMode() {
+ return dualMode;
+ }
+
+ /**
+ * Sets the value of the dualMode property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setDualMode(String value) {
+ this.dualMode = value;
+ }
+
+ /**
+ * Gets the value of the managementOption property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getManagementOption() {
+ return managementOption;
+ }
+
+ /**
+ * Sets the value of the managementOption property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setManagementOption(String value) {
+ this.managementOption = value;
+ }
+
+ /**
+ * Gets the value of the serviceProviderName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getServiceProviderName() {
+ return serviceProviderName;
+ }
+
+ /**
+ * Sets the value of the serviceProviderName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setServiceProviderName(String value) {
+ this.serviceProviderName = value;
+ }
+
+ /**
+ * Gets the value of the resourceVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ /**
+ * Sets the value of the resourceVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceVersion(String value) {
+ this.resourceVersion = value;
+ }
+
+ /**
+ * Gets the value of the relationshipList property.
+ *
+ * @return
+ * possible object is
+ * {@link RelationshipList }
+ *
+ */
+ public RelationshipList getRelationshipList() {
+ return relationshipList;
+ }
+
+ /**
+ * Sets the value of the relationshipList property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RelationshipList }
+ *
+ */
+ public void setRelationshipList(RelationshipList value) {
+ this.relationshipList = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/PhysicalLinks.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/PhysicalLinks.java
new file mode 100644
index 0000000..b7423b4
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/PhysicalLinks.java
@@ -0,0 +1,81 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}physical-link" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "physicalLink"
+})
+@XmlRootElement(name = "physical-links")
+public class PhysicalLinks
+ implements AAIDatum
+{
+
+ @XmlElement(name = "physical-link")
+ protected List<PhysicalLink> physicalLink;
+
+ /**
+ * Gets the value of the physicalLink property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the physicalLink property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getPhysicalLink().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link PhysicalLink }
+ *
+ *
+ */
+ public List<PhysicalLink> getPhysicalLink() {
+ if (physicalLink == null) {
+ physicalLink = new ArrayList<PhysicalLink>();
+ }
+ return this.physicalLink;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Pnf.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Pnf.java
new file mode 100644
index 0000000..ff6f067
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Pnf.java
@@ -0,0 +1,514 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="pnf-name" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="pnf-name2" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="pnf-name2-source" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="pnf-id" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="equip-type" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="equip-vendor" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="equip-model" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="management-option" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="ipaddress-v4-oam" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="sw-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="orchestration-status" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="in-maint" type="{http://www.w3.org/2001/XMLSchema}boolean"/&gt;
+ * &lt;element name="frame-id" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="resource-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}relationship-list" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}p-interfaces" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}lag-interfaces" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "pnfName",
+ "pnfName2",
+ "pnfName2Source",
+ "pnfId",
+ "equipType",
+ "equipVendor",
+ "equipModel",
+ "managementOption",
+ "ipaddressV4Oam",
+ "swVersion",
+ "orchestrationStatus",
+ "inMaint",
+ "frameId",
+ "resourceVersion",
+ "relationshipList",
+ "pInterfaces",
+ "lagInterfaces"
+})
+@XmlRootElement(name = "pnf")
+public class Pnf
+ implements AAIDatum
+{
+
+ @XmlElement(name = "pnf-name", required = true)
+ protected String pnfName;
+ @XmlElement(name = "pnf-name2")
+ protected String pnfName2;
+ @XmlElement(name = "pnf-name2-source")
+ protected String pnfName2Source;
+ @XmlElement(name = "pnf-id")
+ protected String pnfId;
+ @XmlElement(name = "equip-type")
+ protected String equipType;
+ @XmlElement(name = "equip-vendor")
+ protected String equipVendor;
+ @XmlElement(name = "equip-model")
+ protected String equipModel;
+ @XmlElement(name = "management-option")
+ protected String managementOption;
+ @XmlElement(name = "ipaddress-v4-oam")
+ protected String ipaddressV4Oam;
+ @XmlElement(name = "sw-version")
+ protected String swVersion;
+ @XmlElement(name = "orchestration-status")
+ protected String orchestrationStatus;
+ @XmlElement(name = "in-maint")
+ protected boolean inMaint;
+ @XmlElement(name = "frame-id")
+ protected String frameId;
+ @XmlElement(name = "resource-version")
+ protected String resourceVersion;
+ @XmlElement(name = "relationship-list")
+ protected RelationshipList relationshipList;
+ @XmlElement(name = "p-interfaces")
+ protected PInterfaces pInterfaces;
+ @XmlElement(name = "lag-interfaces")
+ protected LagInterfaces lagInterfaces;
+
+ /**
+ * Gets the value of the pnfName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPnfName() {
+ return pnfName;
+ }
+
+ /**
+ * Sets the value of the pnfName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPnfName(String value) {
+ this.pnfName = value;
+ }
+
+ /**
+ * Gets the value of the pnfName2 property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPnfName2() {
+ return pnfName2;
+ }
+
+ /**
+ * Sets the value of the pnfName2 property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPnfName2(String value) {
+ this.pnfName2 = value;
+ }
+
+ /**
+ * Gets the value of the pnfName2Source property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPnfName2Source() {
+ return pnfName2Source;
+ }
+
+ /**
+ * Sets the value of the pnfName2Source property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPnfName2Source(String value) {
+ this.pnfName2Source = value;
+ }
+
+ /**
+ * Gets the value of the pnfId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPnfId() {
+ return pnfId;
+ }
+
+ /**
+ * Sets the value of the pnfId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPnfId(String value) {
+ this.pnfId = value;
+ }
+
+ /**
+ * Gets the value of the equipType property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getEquipType() {
+ return equipType;
+ }
+
+ /**
+ * Sets the value of the equipType property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setEquipType(String value) {
+ this.equipType = value;
+ }
+
+ /**
+ * Gets the value of the equipVendor property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getEquipVendor() {
+ return equipVendor;
+ }
+
+ /**
+ * Sets the value of the equipVendor property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setEquipVendor(String value) {
+ this.equipVendor = value;
+ }
+
+ /**
+ * Gets the value of the equipModel property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getEquipModel() {
+ return equipModel;
+ }
+
+ /**
+ * Sets the value of the equipModel property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setEquipModel(String value) {
+ this.equipModel = value;
+ }
+
+ /**
+ * Gets the value of the managementOption property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getManagementOption() {
+ return managementOption;
+ }
+
+ /**
+ * Sets the value of the managementOption property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setManagementOption(String value) {
+ this.managementOption = value;
+ }
+
+ /**
+ * Gets the value of the ipaddressV4Oam property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getIpaddressV4Oam() {
+ return ipaddressV4Oam;
+ }
+
+ /**
+ * Sets the value of the ipaddressV4Oam property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setIpaddressV4Oam(String value) {
+ this.ipaddressV4Oam = value;
+ }
+
+ /**
+ * Gets the value of the swVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSwVersion() {
+ return swVersion;
+ }
+
+ /**
+ * Sets the value of the swVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSwVersion(String value) {
+ this.swVersion = value;
+ }
+
+ /**
+ * Gets the value of the orchestrationStatus property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getOrchestrationStatus() {
+ return orchestrationStatus;
+ }
+
+ /**
+ * Sets the value of the orchestrationStatus property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setOrchestrationStatus(String value) {
+ this.orchestrationStatus = value;
+ }
+
+ /**
+ * Gets the value of the inMaint property.
+ *
+ */
+ public boolean isInMaint() {
+ return inMaint;
+ }
+
+ /**
+ * Sets the value of the inMaint property.
+ *
+ */
+ public void setInMaint(boolean value) {
+ this.inMaint = value;
+ }
+
+ /**
+ * Gets the value of the frameId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getFrameId() {
+ return frameId;
+ }
+
+ /**
+ * Sets the value of the frameId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setFrameId(String value) {
+ this.frameId = value;
+ }
+
+ /**
+ * Gets the value of the resourceVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ /**
+ * Sets the value of the resourceVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceVersion(String value) {
+ this.resourceVersion = value;
+ }
+
+ /**
+ * Gets the value of the relationshipList property.
+ *
+ * @return
+ * possible object is
+ * {@link RelationshipList }
+ *
+ */
+ public RelationshipList getRelationshipList() {
+ return relationshipList;
+ }
+
+ /**
+ * Sets the value of the relationshipList property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RelationshipList }
+ *
+ */
+ public void setRelationshipList(RelationshipList value) {
+ this.relationshipList = value;
+ }
+
+ /**
+ * Gets the value of the pInterfaces property.
+ *
+ * @return
+ * possible object is
+ * {@link PInterfaces }
+ *
+ */
+ public PInterfaces getPInterfaces() {
+ return pInterfaces;
+ }
+
+ /**
+ * Sets the value of the pInterfaces property.
+ *
+ * @param value
+ * allowed object is
+ * {@link PInterfaces }
+ *
+ */
+ public void setPInterfaces(PInterfaces value) {
+ this.pInterfaces = value;
+ }
+
+ /**
+ * Gets the value of the lagInterfaces property.
+ *
+ * @return
+ * possible object is
+ * {@link LagInterfaces }
+ *
+ */
+ public LagInterfaces getLagInterfaces() {
+ return lagInterfaces;
+ }
+
+ /**
+ * Sets the value of the lagInterfaces property.
+ *
+ * @param value
+ * allowed object is
+ * {@link LagInterfaces }
+ *
+ */
+ public void setLagInterfaces(LagInterfaces value) {
+ this.lagInterfaces = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Pnfs.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Pnfs.java
new file mode 100644
index 0000000..0a78c59
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Pnfs.java
@@ -0,0 +1,79 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}pnf" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "pnf"
+})
+@XmlRootElement(name = "pnfs")
+public class Pnfs
+ implements AAIDatum
+{
+
+ protected List<Pnf> pnf;
+
+ /**
+ * Gets the value of the pnf property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the pnf property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getPnf().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link Pnf }
+ *
+ *
+ */
+ public List<Pnf> getPnf() {
+ if (pnf == null) {
+ pnf = new ArrayList<Pnf>();
+ }
+ return this.pnf;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Properties.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Properties.java
new file mode 100644
index 0000000..211bff0
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Properties.java
@@ -0,0 +1,102 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="property-name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="property-value" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "propertyName",
+ "propertyValue"
+})
+@XmlRootElement(name = "properties")
+public class Properties
+ implements AAIDatum
+{
+
+ @XmlElement(name = "property-name")
+ protected String propertyName;
+ @XmlElement(name = "property-value")
+ protected String propertyValue;
+
+ /**
+ * Gets the value of the propertyName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPropertyName() {
+ return propertyName;
+ }
+
+ /**
+ * Sets the value of the propertyName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPropertyName(String value) {
+ this.propertyName = value;
+ }
+
+ /**
+ * Gets the value of the propertyValue property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPropertyValue() {
+ return propertyValue;
+ }
+
+ /**
+ * Sets the value of the propertyValue property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPropertyValue(String value) {
+ this.propertyValue = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/PropertyConstraint.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/PropertyConstraint.java
new file mode 100644
index 0000000..2222831
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/PropertyConstraint.java
@@ -0,0 +1,186 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="property-constraint-uuid" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="constraint-type" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="property-name" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="property-value" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="resource-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "propertyConstraintUuid",
+ "constraintType",
+ "propertyName",
+ "propertyValue",
+ "resourceVersion"
+})
+@XmlRootElement(name = "property-constraint")
+public class PropertyConstraint
+ implements AAIDatum
+{
+
+ @XmlElement(name = "property-constraint-uuid", required = true)
+ protected String propertyConstraintUuid;
+ @XmlElement(name = "constraint-type", required = true)
+ protected String constraintType;
+ @XmlElement(name = "property-name", required = true)
+ protected String propertyName;
+ @XmlElement(name = "property-value", required = true)
+ protected String propertyValue;
+ @XmlElement(name = "resource-version")
+ protected String resourceVersion;
+
+ /**
+ * Gets the value of the propertyConstraintUuid property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPropertyConstraintUuid() {
+ return propertyConstraintUuid;
+ }
+
+ /**
+ * Sets the value of the propertyConstraintUuid property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPropertyConstraintUuid(String value) {
+ this.propertyConstraintUuid = value;
+ }
+
+ /**
+ * Gets the value of the constraintType property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getConstraintType() {
+ return constraintType;
+ }
+
+ /**
+ * Sets the value of the constraintType property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setConstraintType(String value) {
+ this.constraintType = value;
+ }
+
+ /**
+ * Gets the value of the propertyName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPropertyName() {
+ return propertyName;
+ }
+
+ /**
+ * Sets the value of the propertyName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPropertyName(String value) {
+ this.propertyName = value;
+ }
+
+ /**
+ * Gets the value of the propertyValue property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPropertyValue() {
+ return propertyValue;
+ }
+
+ /**
+ * Sets the value of the propertyValue property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPropertyValue(String value) {
+ this.propertyValue = value;
+ }
+
+ /**
+ * Gets the value of the resourceVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ /**
+ * Sets the value of the resourceVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceVersion(String value) {
+ this.resourceVersion = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/PropertyConstraints.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/PropertyConstraints.java
new file mode 100644
index 0000000..fc56cd2
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/PropertyConstraints.java
@@ -0,0 +1,81 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}property-constraint" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "propertyConstraint"
+})
+@XmlRootElement(name = "property-constraints")
+public class PropertyConstraints
+ implements AAIDatum
+{
+
+ @XmlElement(name = "property-constraint")
+ protected List<PropertyConstraint> propertyConstraint;
+
+ /**
+ * Gets the value of the propertyConstraint property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the propertyConstraint property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getPropertyConstraint().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link PropertyConstraint }
+ *
+ *
+ */
+ public List<PropertyConstraint> getPropertyConstraint() {
+ if (propertyConstraint == null) {
+ propertyConstraint = new ArrayList<PropertyConstraint>();
+ }
+ return this.propertyConstraint;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Pserver.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Pserver.java
new file mode 100644
index 0000000..2501929
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Pserver.java
@@ -0,0 +1,624 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="hostname" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="ptnii-equip-name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="number-of-cpus" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/&gt;
+ * &lt;element name="disk-in-gigabytes" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/&gt;
+ * &lt;element name="ram-in-megabytes" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/&gt;
+ * &lt;element name="equip-type" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="equip-vendor" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="equip-model" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="fqdn" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="pserver-selflink" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="ipv4-oam-address" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="serial-number" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="pserver-id" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="internet-topology" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="in-maint" type="{http://www.w3.org/2001/XMLSchema}boolean"/&gt;
+ * &lt;element name="resource-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="pserver-name2" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="purpose" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}relationship-list" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}p-interfaces" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}lag-interfaces" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "hostname",
+ "ptniiEquipName",
+ "numberOfCpus",
+ "diskInGigabytes",
+ "ramInMegabytes",
+ "equipType",
+ "equipVendor",
+ "equipModel",
+ "fqdn",
+ "pserverSelflink",
+ "ipv4OamAddress",
+ "serialNumber",
+ "pserverId",
+ "internetTopology",
+ "inMaint",
+ "resourceVersion",
+ "pserverName2",
+ "purpose",
+ "relationshipList",
+ "pInterfaces",
+ "lagInterfaces"
+})
+@XmlRootElement(name = "pserver")
+public class Pserver
+ implements AAIDatum
+{
+
+ @XmlElement(required = true)
+ protected String hostname;
+ @XmlElement(name = "ptnii-equip-name")
+ protected String ptniiEquipName;
+ @XmlElement(name = "number-of-cpus")
+ protected Integer numberOfCpus;
+ @XmlElement(name = "disk-in-gigabytes")
+ protected Integer diskInGigabytes;
+ @XmlElement(name = "ram-in-megabytes")
+ protected Integer ramInMegabytes;
+ @XmlElement(name = "equip-type")
+ protected String equipType;
+ @XmlElement(name = "equip-vendor")
+ protected String equipVendor;
+ @XmlElement(name = "equip-model")
+ protected String equipModel;
+ protected String fqdn;
+ @XmlElement(name = "pserver-selflink")
+ protected String pserverSelflink;
+ @XmlElement(name = "ipv4-oam-address")
+ protected String ipv4OamAddress;
+ @XmlElement(name = "serial-number")
+ protected String serialNumber;
+ @XmlElement(name = "pserver-id")
+ protected String pserverId;
+ @XmlElement(name = "internet-topology")
+ protected String internetTopology;
+ @XmlElement(name = "in-maint")
+ protected boolean inMaint;
+ @XmlElement(name = "resource-version")
+ protected String resourceVersion;
+ @XmlElement(name = "pserver-name2")
+ protected String pserverName2;
+ protected String purpose;
+ @XmlElement(name = "relationship-list")
+ protected RelationshipList relationshipList;
+ @XmlElement(name = "p-interfaces")
+ protected PInterfaces pInterfaces;
+ @XmlElement(name = "lag-interfaces")
+ protected LagInterfaces lagInterfaces;
+
+ /**
+ * Gets the value of the hostname property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getHostname() {
+ return hostname;
+ }
+
+ /**
+ * Sets the value of the hostname property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setHostname(String value) {
+ this.hostname = value;
+ }
+
+ /**
+ * Gets the value of the ptniiEquipName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPtniiEquipName() {
+ return ptniiEquipName;
+ }
+
+ /**
+ * Sets the value of the ptniiEquipName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPtniiEquipName(String value) {
+ this.ptniiEquipName = value;
+ }
+
+ /**
+ * Gets the value of the numberOfCpus property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getNumberOfCpus() {
+ return numberOfCpus;
+ }
+
+ /**
+ * Sets the value of the numberOfCpus property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setNumberOfCpus(Integer value) {
+ this.numberOfCpus = value;
+ }
+
+ /**
+ * Gets the value of the diskInGigabytes property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getDiskInGigabytes() {
+ return diskInGigabytes;
+ }
+
+ /**
+ * Sets the value of the diskInGigabytes property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setDiskInGigabytes(Integer value) {
+ this.diskInGigabytes = value;
+ }
+
+ /**
+ * Gets the value of the ramInMegabytes property.
+ *
+ * @return
+ * possible object is
+ * {@link Integer }
+ *
+ */
+ public Integer getRamInMegabytes() {
+ return ramInMegabytes;
+ }
+
+ /**
+ * Sets the value of the ramInMegabytes property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Integer }
+ *
+ */
+ public void setRamInMegabytes(Integer value) {
+ this.ramInMegabytes = value;
+ }
+
+ /**
+ * Gets the value of the equipType property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getEquipType() {
+ return equipType;
+ }
+
+ /**
+ * Sets the value of the equipType property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setEquipType(String value) {
+ this.equipType = value;
+ }
+
+ /**
+ * Gets the value of the equipVendor property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getEquipVendor() {
+ return equipVendor;
+ }
+
+ /**
+ * Sets the value of the equipVendor property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setEquipVendor(String value) {
+ this.equipVendor = value;
+ }
+
+ /**
+ * Gets the value of the equipModel property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getEquipModel() {
+ return equipModel;
+ }
+
+ /**
+ * Sets the value of the equipModel property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setEquipModel(String value) {
+ this.equipModel = value;
+ }
+
+ /**
+ * Gets the value of the fqdn property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getFqdn() {
+ return fqdn;
+ }
+
+ /**
+ * Sets the value of the fqdn property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setFqdn(String value) {
+ this.fqdn = value;
+ }
+
+ /**
+ * Gets the value of the pserverSelflink property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPserverSelflink() {
+ return pserverSelflink;
+ }
+
+ /**
+ * Sets the value of the pserverSelflink property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPserverSelflink(String value) {
+ this.pserverSelflink = value;
+ }
+
+ /**
+ * Gets the value of the ipv4OamAddress property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getIpv4OamAddress() {
+ return ipv4OamAddress;
+ }
+
+ /**
+ * Sets the value of the ipv4OamAddress property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setIpv4OamAddress(String value) {
+ this.ipv4OamAddress = value;
+ }
+
+ /**
+ * Gets the value of the serialNumber property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSerialNumber() {
+ return serialNumber;
+ }
+
+ /**
+ * Sets the value of the serialNumber property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSerialNumber(String value) {
+ this.serialNumber = value;
+ }
+
+ /**
+ * Gets the value of the pserverId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPserverId() {
+ return pserverId;
+ }
+
+ /**
+ * Sets the value of the pserverId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPserverId(String value) {
+ this.pserverId = value;
+ }
+
+ /**
+ * Gets the value of the internetTopology property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getInternetTopology() {
+ return internetTopology;
+ }
+
+ /**
+ * Sets the value of the internetTopology property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setInternetTopology(String value) {
+ this.internetTopology = value;
+ }
+
+ /**
+ * Gets the value of the inMaint property.
+ *
+ */
+ public boolean isInMaint() {
+ return inMaint;
+ }
+
+ /**
+ * Sets the value of the inMaint property.
+ *
+ */
+ public void setInMaint(boolean value) {
+ this.inMaint = value;
+ }
+
+ /**
+ * Gets the value of the resourceVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ /**
+ * Sets the value of the resourceVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceVersion(String value) {
+ this.resourceVersion = value;
+ }
+
+ /**
+ * Gets the value of the pserverName2 property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPserverName2() {
+ return pserverName2;
+ }
+
+ /**
+ * Sets the value of the pserverName2 property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPserverName2(String value) {
+ this.pserverName2 = value;
+ }
+
+ /**
+ * Gets the value of the purpose property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPurpose() {
+ return purpose;
+ }
+
+ /**
+ * Sets the value of the purpose property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPurpose(String value) {
+ this.purpose = value;
+ }
+
+ /**
+ * Gets the value of the relationshipList property.
+ *
+ * @return
+ * possible object is
+ * {@link RelationshipList }
+ *
+ */
+ public RelationshipList getRelationshipList() {
+ return relationshipList;
+ }
+
+ /**
+ * Sets the value of the relationshipList property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RelationshipList }
+ *
+ */
+ public void setRelationshipList(RelationshipList value) {
+ this.relationshipList = value;
+ }
+
+ /**
+ * Gets the value of the pInterfaces property.
+ *
+ * @return
+ * possible object is
+ * {@link PInterfaces }
+ *
+ */
+ public PInterfaces getPInterfaces() {
+ return pInterfaces;
+ }
+
+ /**
+ * Sets the value of the pInterfaces property.
+ *
+ * @param value
+ * allowed object is
+ * {@link PInterfaces }
+ *
+ */
+ public void setPInterfaces(PInterfaces value) {
+ this.pInterfaces = value;
+ }
+
+ /**
+ * Gets the value of the lagInterfaces property.
+ *
+ * @return
+ * possible object is
+ * {@link LagInterfaces }
+ *
+ */
+ public LagInterfaces getLagInterfaces() {
+ return lagInterfaces;
+ }
+
+ /**
+ * Sets the value of the lagInterfaces property.
+ *
+ * @param value
+ * allowed object is
+ * {@link LagInterfaces }
+ *
+ */
+ public void setLagInterfaces(LagInterfaces value) {
+ this.lagInterfaces = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Pservers.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Pservers.java
new file mode 100644
index 0000000..acc0ee2
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Pservers.java
@@ -0,0 +1,79 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}pserver" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "pserver"
+})
+@XmlRootElement(name = "pservers")
+public class Pservers
+ implements AAIDatum
+{
+
+ protected List<Pserver> pserver;
+
+ /**
+ * Gets the value of the pserver property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the pserver property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getPserver().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link Pserver }
+ *
+ *
+ */
+ public List<Pserver> getPserver() {
+ if (pserver == null) {
+ pserver = new ArrayList<Pserver>();
+ }
+ return this.pserver;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/QueryParameters.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/QueryParameters.java
new file mode 100644
index 0000000..5413f05
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/QueryParameters.java
@@ -0,0 +1,101 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}named-query" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}model" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "namedQuery",
+ "model"
+})
+@XmlRootElement(name = "query-parameters")
+public class QueryParameters
+ implements AAIDatum
+{
+
+ @XmlElement(name = "named-query")
+ protected NamedQuery namedQuery;
+ protected Model model;
+
+ /**
+ * Gets the value of the namedQuery property.
+ *
+ * @return
+ * possible object is
+ * {@link NamedQuery }
+ *
+ */
+ public NamedQuery getNamedQuery() {
+ return namedQuery;
+ }
+
+ /**
+ * Sets the value of the namedQuery property.
+ *
+ * @param value
+ * allowed object is
+ * {@link NamedQuery }
+ *
+ */
+ public void setNamedQuery(NamedQuery value) {
+ this.namedQuery = value;
+ }
+
+ /**
+ * Gets the value of the model property.
+ *
+ * @return
+ * possible object is
+ * {@link Model }
+ *
+ */
+ public Model getModel() {
+ return model;
+ }
+
+ /**
+ * Sets the value of the model property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Model }
+ *
+ */
+ public void setModel(Model value) {
+ this.model = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/RelatedLookup.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/RelatedLookup.java
new file mode 100644
index 0000000..28765d1
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/RelatedLookup.java
@@ -0,0 +1,277 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="related-lookup-uuid" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="source-node-type" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="source-node-property" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="target-node-type" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="target-node-property" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="property-collect-list" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;element name="resource-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}relationship-list" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "relatedLookupUuid",
+ "sourceNodeType",
+ "sourceNodeProperty",
+ "targetNodeType",
+ "targetNodeProperty",
+ "propertyCollectList",
+ "resourceVersion",
+ "relationshipList"
+})
+@XmlRootElement(name = "related-lookup")
+public class RelatedLookup
+ implements AAIDatum
+{
+
+ @XmlElement(name = "related-lookup-uuid", required = true)
+ protected String relatedLookupUuid;
+ @XmlElement(name = "source-node-type", required = true)
+ protected String sourceNodeType;
+ @XmlElement(name = "source-node-property", required = true)
+ protected String sourceNodeProperty;
+ @XmlElement(name = "target-node-type", required = true)
+ protected String targetNodeType;
+ @XmlElement(name = "target-node-property", required = true)
+ protected String targetNodeProperty;
+ @XmlElement(name = "property-collect-list")
+ protected List<String> propertyCollectList;
+ @XmlElement(name = "resource-version")
+ protected String resourceVersion;
+ @XmlElement(name = "relationship-list")
+ protected RelationshipList relationshipList;
+
+ /**
+ * Gets the value of the relatedLookupUuid property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getRelatedLookupUuid() {
+ return relatedLookupUuid;
+ }
+
+ /**
+ * Sets the value of the relatedLookupUuid property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setRelatedLookupUuid(String value) {
+ this.relatedLookupUuid = value;
+ }
+
+ /**
+ * Gets the value of the sourceNodeType property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSourceNodeType() {
+ return sourceNodeType;
+ }
+
+ /**
+ * Sets the value of the sourceNodeType property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSourceNodeType(String value) {
+ this.sourceNodeType = value;
+ }
+
+ /**
+ * Gets the value of the sourceNodeProperty property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSourceNodeProperty() {
+ return sourceNodeProperty;
+ }
+
+ /**
+ * Sets the value of the sourceNodeProperty property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSourceNodeProperty(String value) {
+ this.sourceNodeProperty = value;
+ }
+
+ /**
+ * Gets the value of the targetNodeType property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getTargetNodeType() {
+ return targetNodeType;
+ }
+
+ /**
+ * Sets the value of the targetNodeType property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setTargetNodeType(String value) {
+ this.targetNodeType = value;
+ }
+
+ /**
+ * Gets the value of the targetNodeProperty property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getTargetNodeProperty() {
+ return targetNodeProperty;
+ }
+
+ /**
+ * Sets the value of the targetNodeProperty property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setTargetNodeProperty(String value) {
+ this.targetNodeProperty = value;
+ }
+
+ /**
+ * Gets the value of the propertyCollectList property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the propertyCollectList property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getPropertyCollectList().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ *
+ */
+ public List<String> getPropertyCollectList() {
+ if (propertyCollectList == null) {
+ propertyCollectList = new ArrayList<String>();
+ }
+ return this.propertyCollectList;
+ }
+
+ /**
+ * Gets the value of the resourceVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ /**
+ * Sets the value of the resourceVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceVersion(String value) {
+ this.resourceVersion = value;
+ }
+
+ /**
+ * Gets the value of the relationshipList property.
+ *
+ * @return
+ * possible object is
+ * {@link RelationshipList }
+ *
+ */
+ public RelationshipList getRelationshipList() {
+ return relationshipList;
+ }
+
+ /**
+ * Sets the value of the relationshipList property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RelationshipList }
+ *
+ */
+ public void setRelationshipList(RelationshipList value) {
+ this.relationshipList = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/RelatedLookups.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/RelatedLookups.java
new file mode 100644
index 0000000..124c11c
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/RelatedLookups.java
@@ -0,0 +1,81 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}related-lookup" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "relatedLookup"
+})
+@XmlRootElement(name = "related-lookups")
+public class RelatedLookups
+ implements AAIDatum
+{
+
+ @XmlElement(name = "related-lookup")
+ protected List<RelatedLookup> relatedLookup;
+
+ /**
+ * Gets the value of the relatedLookup property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the relatedLookup property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getRelatedLookup().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link RelatedLookup }
+ *
+ *
+ */
+ public List<RelatedLookup> getRelatedLookup() {
+ if (relatedLookup == null) {
+ relatedLookup = new ArrayList<RelatedLookup>();
+ }
+ return this.relatedLookup;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/RelatedToProperty.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/RelatedToProperty.java
new file mode 100644
index 0000000..b1192b1
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/RelatedToProperty.java
@@ -0,0 +1,102 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="property-key" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="property-value" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "propertyKey",
+ "propertyValue"
+})
+@XmlRootElement(name = "related-to-property")
+public class RelatedToProperty
+ implements AAIDatum
+{
+
+ @XmlElement(name = "property-key")
+ protected String propertyKey;
+ @XmlElement(name = "property-value")
+ protected String propertyValue;
+
+ /**
+ * Gets the value of the propertyKey property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPropertyKey() {
+ return propertyKey;
+ }
+
+ /**
+ * Sets the value of the propertyKey property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPropertyKey(String value) {
+ this.propertyKey = value;
+ }
+
+ /**
+ * Gets the value of the propertyValue property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPropertyValue() {
+ return propertyValue;
+ }
+
+ /**
+ * Sets the value of the propertyValue property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPropertyValue(String value) {
+ this.propertyValue = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Relationship.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Relationship.java
new file mode 100644
index 0000000..1aedc42
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Relationship.java
@@ -0,0 +1,170 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="related-to" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="related-link" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}relationship-data" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}related-to-property" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "relatedTo",
+ "relatedLink",
+ "relationshipData",
+ "relatedToProperty"
+})
+@XmlRootElement(name = "relationship")
+public class Relationship
+ implements AAIDatum
+{
+
+ @XmlElement(name = "related-to")
+ protected String relatedTo;
+ @XmlElement(name = "related-link")
+ protected String relatedLink;
+ @XmlElement(name = "relationship-data")
+ protected List<RelationshipData> relationshipData;
+ @XmlElement(name = "related-to-property")
+ protected List<RelatedToProperty> relatedToProperty;
+
+ /**
+ * Gets the value of the relatedTo property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getRelatedTo() {
+ return relatedTo;
+ }
+
+ /**
+ * Sets the value of the relatedTo property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setRelatedTo(String value) {
+ this.relatedTo = value;
+ }
+
+ /**
+ * Gets the value of the relatedLink property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getRelatedLink() {
+ return relatedLink;
+ }
+
+ /**
+ * Sets the value of the relatedLink property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setRelatedLink(String value) {
+ this.relatedLink = value;
+ }
+
+ /**
+ * Gets the value of the relationshipData property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the relationshipData property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getRelationshipData().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link RelationshipData }
+ *
+ *
+ */
+ public List<RelationshipData> getRelationshipData() {
+ if (relationshipData == null) {
+ relationshipData = new ArrayList<RelationshipData>();
+ }
+ return this.relationshipData;
+ }
+
+ /**
+ * Gets the value of the relatedToProperty property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the relatedToProperty property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getRelatedToProperty().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link RelatedToProperty }
+ *
+ *
+ */
+ public List<RelatedToProperty> getRelatedToProperty() {
+ if (relatedToProperty == null) {
+ relatedToProperty = new ArrayList<RelatedToProperty>();
+ }
+ return this.relatedToProperty;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/RelationshipData.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/RelationshipData.java
new file mode 100644
index 0000000..af7dfb3
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/RelationshipData.java
@@ -0,0 +1,102 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="relationship-key" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="relationship-value" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "relationshipKey",
+ "relationshipValue"
+})
+@XmlRootElement(name = "relationship-data")
+public class RelationshipData
+ implements AAIDatum
+{
+
+ @XmlElement(name = "relationship-key", required = true)
+ protected String relationshipKey;
+ @XmlElement(name = "relationship-value", required = true)
+ protected String relationshipValue;
+
+ /**
+ * Gets the value of the relationshipKey property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getRelationshipKey() {
+ return relationshipKey;
+ }
+
+ /**
+ * Sets the value of the relationshipKey property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setRelationshipKey(String value) {
+ this.relationshipKey = value;
+ }
+
+ /**
+ * Gets the value of the relationshipValue property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getRelationshipValue() {
+ return relationshipValue;
+ }
+
+ /**
+ * Sets the value of the relationshipValue property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setRelationshipValue(String value) {
+ this.relationshipValue = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/RelationshipList.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/RelationshipList.java
new file mode 100644
index 0000000..3639668
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/RelationshipList.java
@@ -0,0 +1,79 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}relationship" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "relationship"
+})
+@XmlRootElement(name = "relationship-list")
+public class RelationshipList
+ implements AAIDatum
+{
+
+ protected List<Relationship> relationship;
+
+ /**
+ * Gets the value of the relationship property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the relationship property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getRelationship().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link Relationship }
+ *
+ *
+ */
+ public List<Relationship> getRelationship() {
+ if (relationship == null) {
+ relationship = new ArrayList<Relationship>();
+ }
+ return this.relationship;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ReservedPropNames.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ReservedPropNames.java
new file mode 100644
index 0000000..d1fb3dc
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ReservedPropNames.java
@@ -0,0 +1,217 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="last-mod-source-of-truth" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="aai-node-type" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="aai-created-ts" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/&gt;
+ * &lt;element name="aai-unique-key" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="aai-last-mod-ts" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/&gt;
+ * &lt;element name="source-of-truth" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "lastModSourceOfTruth",
+ "aaiNodeType",
+ "aaiCreatedTs",
+ "aaiUniqueKey",
+ "aaiLastModTs",
+ "sourceOfTruth"
+})
+@XmlRootElement(name = "reserved-prop-names")
+public class ReservedPropNames
+ implements AAIDatum
+{
+
+ @XmlElement(name = "last-mod-source-of-truth")
+ protected String lastModSourceOfTruth;
+ @XmlElement(name = "aai-node-type")
+ protected String aaiNodeType;
+ @XmlElement(name = "aai-created-ts")
+ @XmlSchemaType(name = "unsignedInt")
+ protected Long aaiCreatedTs;
+ @XmlElement(name = "aai-unique-key")
+ protected String aaiUniqueKey;
+ @XmlElement(name = "aai-last-mod-ts")
+ @XmlSchemaType(name = "unsignedInt")
+ protected Long aaiLastModTs;
+ @XmlElement(name = "source-of-truth")
+ protected String sourceOfTruth;
+
+ /**
+ * Gets the value of the lastModSourceOfTruth property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getLastModSourceOfTruth() {
+ return lastModSourceOfTruth;
+ }
+
+ /**
+ * Sets the value of the lastModSourceOfTruth property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setLastModSourceOfTruth(String value) {
+ this.lastModSourceOfTruth = value;
+ }
+
+ /**
+ * Gets the value of the aaiNodeType property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getAaiNodeType() {
+ return aaiNodeType;
+ }
+
+ /**
+ * Sets the value of the aaiNodeType property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setAaiNodeType(String value) {
+ this.aaiNodeType = value;
+ }
+
+ /**
+ * Gets the value of the aaiCreatedTs property.
+ *
+ * @return
+ * possible object is
+ * {@link Long }
+ *
+ */
+ public Long getAaiCreatedTs() {
+ return aaiCreatedTs;
+ }
+
+ /**
+ * Sets the value of the aaiCreatedTs property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Long }
+ *
+ */
+ public void setAaiCreatedTs(Long value) {
+ this.aaiCreatedTs = value;
+ }
+
+ /**
+ * Gets the value of the aaiUniqueKey property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getAaiUniqueKey() {
+ return aaiUniqueKey;
+ }
+
+ /**
+ * Sets the value of the aaiUniqueKey property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setAaiUniqueKey(String value) {
+ this.aaiUniqueKey = value;
+ }
+
+ /**
+ * Gets the value of the aaiLastModTs property.
+ *
+ * @return
+ * possible object is
+ * {@link Long }
+ *
+ */
+ public Long getAaiLastModTs() {
+ return aaiLastModTs;
+ }
+
+ /**
+ * Sets the value of the aaiLastModTs property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Long }
+ *
+ */
+ public void setAaiLastModTs(Long value) {
+ this.aaiLastModTs = value;
+ }
+
+ /**
+ * Gets the value of the sourceOfTruth property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSourceOfTruth() {
+ return sourceOfTruth;
+ }
+
+ /**
+ * Sets the value of the sourceOfTruth property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSourceOfTruth(String value) {
+ this.sourceOfTruth = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ResponseList.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ResponseList.java
new file mode 100644
index 0000000..447adf4
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ResponseList.java
@@ -0,0 +1,74 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}inventory-response-items" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "inventoryResponseItems"
+})
+@XmlRootElement(name = "response-list")
+public class ResponseList
+ implements AAIDatum
+{
+
+ @XmlElement(name = "inventory-response-items")
+ protected InventoryResponseItems inventoryResponseItems;
+
+ /**
+ * Gets the value of the inventoryResponseItems property.
+ *
+ * @return
+ * possible object is
+ * {@link InventoryResponseItems }
+ *
+ */
+ public InventoryResponseItems getInventoryResponseItems() {
+ return inventoryResponseItems;
+ }
+
+ /**
+ * Sets the value of the inventoryResponseItems property.
+ *
+ * @param value
+ * allowed object is
+ * {@link InventoryResponseItems }
+ *
+ */
+ public void setInventoryResponseItems(InventoryResponseItems value) {
+ this.inventoryResponseItems = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ResultData.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ResultData.java
new file mode 100644
index 0000000..554660b
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ResultData.java
@@ -0,0 +1,102 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="resource-type" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="resource-link" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "resourceType",
+ "resourceLink"
+})
+@XmlRootElement(name = "result-data")
+public class ResultData
+ implements AAIDatum
+{
+
+ @XmlElement(name = "resource-type")
+ protected String resourceType;
+ @XmlElement(name = "resource-link")
+ protected String resourceLink;
+
+ /**
+ * Gets the value of the resourceType property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceType() {
+ return resourceType;
+ }
+
+ /**
+ * Sets the value of the resourceType property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceType(String value) {
+ this.resourceType = value;
+ }
+
+ /**
+ * Gets the value of the resourceLink property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceLink() {
+ return resourceLink;
+ }
+
+ /**
+ * Sets the value of the resourceLink property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceLink(String value) {
+ this.resourceLink = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Search.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Search.java
new file mode 100644
index 0000000..a47f8db
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Search.java
@@ -0,0 +1,74 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}search-results" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "searchResults"
+})
+@XmlRootElement(name = "search")
+public class Search
+ implements AAIDatum
+{
+
+ @XmlElement(name = "search-results")
+ protected SearchResults searchResults;
+
+ /**
+ * Gets the value of the searchResults property.
+ *
+ * @return
+ * possible object is
+ * {@link SearchResults }
+ *
+ */
+ public SearchResults getSearchResults() {
+ return searchResults;
+ }
+
+ /**
+ * Sets the value of the searchResults property.
+ *
+ * @param value
+ * allowed object is
+ * {@link SearchResults }
+ *
+ */
+ public void setSearchResults(SearchResults value) {
+ this.searchResults = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/SearchResults.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/SearchResults.java
new file mode 100644
index 0000000..fdfbbf4
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/SearchResults.java
@@ -0,0 +1,81 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}result-data" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "resultData"
+})
+@XmlRootElement(name = "search-results")
+public class SearchResults
+ implements AAIDatum
+{
+
+ @XmlElement(name = "result-data")
+ protected List<ResultData> resultData;
+
+ /**
+ * Gets the value of the resultData property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the resultData property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getResultData().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link ResultData }
+ *
+ *
+ */
+ public List<ResultData> getResultData() {
+ if (resultData == null) {
+ resultData = new ArrayList<ResultData>();
+ }
+ return this.resultData;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/SecondaryFilter.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/SecondaryFilter.java
new file mode 100644
index 0000000..6f8a503
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/SecondaryFilter.java
@@ -0,0 +1,130 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="property-name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="filter-type" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="property-value" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "propertyName",
+ "filterType",
+ "propertyValue"
+})
+@XmlRootElement(name = "secondary-filter")
+public class SecondaryFilter
+ implements AAIDatum
+{
+
+ @XmlElement(name = "property-name")
+ protected String propertyName;
+ @XmlElement(name = "filter-type")
+ protected String filterType;
+ @XmlElement(name = "property-value")
+ protected String propertyValue;
+
+ /**
+ * Gets the value of the propertyName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPropertyName() {
+ return propertyName;
+ }
+
+ /**
+ * Sets the value of the propertyName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPropertyName(String value) {
+ this.propertyName = value;
+ }
+
+ /**
+ * Gets the value of the filterType property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getFilterType() {
+ return filterType;
+ }
+
+ /**
+ * Sets the value of the filterType property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setFilterType(String value) {
+ this.filterType = value;
+ }
+
+ /**
+ * Gets the value of the propertyValue property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPropertyValue() {
+ return propertyValue;
+ }
+
+ /**
+ * Sets the value of the propertyValue property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPropertyValue(String value) {
+ this.propertyValue = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/SegmentationAssignment.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/SegmentationAssignment.java
new file mode 100644
index 0000000..25618e0
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/SegmentationAssignment.java
@@ -0,0 +1,130 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="segmentation-id" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="resource-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}relationship-list" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "segmentationId",
+ "resourceVersion",
+ "relationshipList"
+})
+@XmlRootElement(name = "segmentation-assignment")
+public class SegmentationAssignment
+ implements AAIDatum
+{
+
+ @XmlElement(name = "segmentation-id", required = true)
+ protected String segmentationId;
+ @XmlElement(name = "resource-version")
+ protected String resourceVersion;
+ @XmlElement(name = "relationship-list")
+ protected RelationshipList relationshipList;
+
+ /**
+ * Gets the value of the segmentationId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSegmentationId() {
+ return segmentationId;
+ }
+
+ /**
+ * Sets the value of the segmentationId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSegmentationId(String value) {
+ this.segmentationId = value;
+ }
+
+ /**
+ * Gets the value of the resourceVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ /**
+ * Sets the value of the resourceVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceVersion(String value) {
+ this.resourceVersion = value;
+ }
+
+ /**
+ * Gets the value of the relationshipList property.
+ *
+ * @return
+ * possible object is
+ * {@link RelationshipList }
+ *
+ */
+ public RelationshipList getRelationshipList() {
+ return relationshipList;
+ }
+
+ /**
+ * Sets the value of the relationshipList property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RelationshipList }
+ *
+ */
+ public void setRelationshipList(RelationshipList value) {
+ this.relationshipList = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/SegmentationAssignments.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/SegmentationAssignments.java
new file mode 100644
index 0000000..03b0758
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/SegmentationAssignments.java
@@ -0,0 +1,81 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}segmentation-assignment" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "segmentationAssignment"
+})
+@XmlRootElement(name = "segmentation-assignments")
+public class SegmentationAssignments
+ implements AAIDatum
+{
+
+ @XmlElement(name = "segmentation-assignment")
+ protected List<SegmentationAssignment> segmentationAssignment;
+
+ /**
+ * Gets the value of the segmentationAssignment property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the segmentationAssignment property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getSegmentationAssignment().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link SegmentationAssignment }
+ *
+ *
+ */
+ public List<SegmentationAssignment> getSegmentationAssignment() {
+ if (segmentationAssignment == null) {
+ segmentationAssignment = new ArrayList<SegmentationAssignment>();
+ }
+ return this.segmentationAssignment;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Service.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Service.java
new file mode 100644
index 0000000..24022fc
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Service.java
@@ -0,0 +1,214 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="service-id" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="service-description" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="service-selflink" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="resource-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="service-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}relationship-list" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "serviceId",
+ "serviceDescription",
+ "serviceSelflink",
+ "resourceVersion",
+ "serviceVersion",
+ "relationshipList"
+})
+@XmlRootElement(name = "service")
+public class Service
+ implements AAIDatum
+{
+
+ @XmlElement(name = "service-id", required = true)
+ protected String serviceId;
+ @XmlElement(name = "service-description", required = true)
+ protected String serviceDescription;
+ @XmlElement(name = "service-selflink")
+ protected String serviceSelflink;
+ @XmlElement(name = "resource-version")
+ protected String resourceVersion;
+ @XmlElement(name = "service-version")
+ protected String serviceVersion;
+ @XmlElement(name = "relationship-list")
+ protected RelationshipList relationshipList;
+
+ /**
+ * Gets the value of the serviceId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getServiceId() {
+ return serviceId;
+ }
+
+ /**
+ * Sets the value of the serviceId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setServiceId(String value) {
+ this.serviceId = value;
+ }
+
+ /**
+ * Gets the value of the serviceDescription property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getServiceDescription() {
+ return serviceDescription;
+ }
+
+ /**
+ * Sets the value of the serviceDescription property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setServiceDescription(String value) {
+ this.serviceDescription = value;
+ }
+
+ /**
+ * Gets the value of the serviceSelflink property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getServiceSelflink() {
+ return serviceSelflink;
+ }
+
+ /**
+ * Sets the value of the serviceSelflink property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setServiceSelflink(String value) {
+ this.serviceSelflink = value;
+ }
+
+ /**
+ * Gets the value of the resourceVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ /**
+ * Sets the value of the resourceVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceVersion(String value) {
+ this.resourceVersion = value;
+ }
+
+ /**
+ * Gets the value of the serviceVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getServiceVersion() {
+ return serviceVersion;
+ }
+
+ /**
+ * Sets the value of the serviceVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setServiceVersion(String value) {
+ this.serviceVersion = value;
+ }
+
+ /**
+ * Gets the value of the relationshipList property.
+ *
+ * @return
+ * possible object is
+ * {@link RelationshipList }
+ *
+ */
+ public RelationshipList getRelationshipList() {
+ return relationshipList;
+ }
+
+ /**
+ * Sets the value of the relationshipList property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RelationshipList }
+ *
+ */
+ public void setRelationshipList(RelationshipList value) {
+ this.relationshipList = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ServiceDesignAndCreation.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ServiceDesignAndCreation.java
new file mode 100644
index 0000000..98b9b62
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ServiceDesignAndCreation.java
@@ -0,0 +1,128 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}services" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}models" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}named-queries" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "services",
+ "models",
+ "namedQueries"
+})
+@XmlRootElement(name = "service-design-and-creation")
+public class ServiceDesignAndCreation
+ implements AAIDatum
+{
+
+ protected Services services;
+ protected Models models;
+ @XmlElement(name = "named-queries")
+ protected NamedQueries namedQueries;
+
+ /**
+ * Gets the value of the services property.
+ *
+ * @return
+ * possible object is
+ * {@link Services }
+ *
+ */
+ public Services getServices() {
+ return services;
+ }
+
+ /**
+ * Sets the value of the services property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Services }
+ *
+ */
+ public void setServices(Services value) {
+ this.services = value;
+ }
+
+ /**
+ * Gets the value of the models property.
+ *
+ * @return
+ * possible object is
+ * {@link Models }
+ *
+ */
+ public Models getModels() {
+ return models;
+ }
+
+ /**
+ * Sets the value of the models property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Models }
+ *
+ */
+ public void setModels(Models value) {
+ this.models = value;
+ }
+
+ /**
+ * Gets the value of the namedQueries property.
+ *
+ * @return
+ * possible object is
+ * {@link NamedQueries }
+ *
+ */
+ public NamedQueries getNamedQueries() {
+ return namedQueries;
+ }
+
+ /**
+ * Sets the value of the namedQueries property.
+ *
+ * @param value
+ * allowed object is
+ * {@link NamedQueries }
+ *
+ */
+ public void setNamedQueries(NamedQueries value) {
+ this.namedQueries = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ServiceInstance.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ServiceInstance.java
new file mode 100644
index 0000000..f8369c9
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ServiceInstance.java
@@ -0,0 +1,521 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="service-instance-id" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="service-instance-name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="persona-model-id" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="persona-model-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="widget-model-id" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="widget-model-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="bandwidth-total" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="bandwidth-up-wan1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="bandwidth-down-wan1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="bandwidth-up-wan2" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="bandwidth-down-wan2" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="vhn-portal-url" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="operational-status" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="service-instance-location-id" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="resource-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}relationship-list" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}metadata" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "serviceInstanceId",
+ "serviceInstanceName",
+ "personaModelId",
+ "personaModelVersion",
+ "widgetModelId",
+ "widgetModelVersion",
+ "bandwidthTotal",
+ "bandwidthUpWan1",
+ "bandwidthDownWan1",
+ "bandwidthUpWan2",
+ "bandwidthDownWan2",
+ "vhnPortalUrl",
+ "operationalStatus",
+ "serviceInstanceLocationId",
+ "resourceVersion",
+ "relationshipList",
+ "metadata"
+})
+@XmlRootElement(name = "service-instance")
+public class ServiceInstance
+ implements AAIDatum
+{
+
+ @XmlElement(name = "service-instance-id", required = true)
+ protected String serviceInstanceId;
+ @XmlElement(name = "service-instance-name")
+ protected String serviceInstanceName;
+ @XmlElement(name = "persona-model-id")
+ protected String personaModelId;
+ @XmlElement(name = "persona-model-version")
+ protected String personaModelVersion;
+ @XmlElement(name = "widget-model-id")
+ protected String widgetModelId;
+ @XmlElement(name = "widget-model-version")
+ protected String widgetModelVersion;
+ @XmlElement(name = "bandwidth-total")
+ protected String bandwidthTotal;
+ @XmlElement(name = "bandwidth-up-wan1")
+ protected String bandwidthUpWan1;
+ @XmlElement(name = "bandwidth-down-wan1")
+ protected String bandwidthDownWan1;
+ @XmlElement(name = "bandwidth-up-wan2")
+ protected String bandwidthUpWan2;
+ @XmlElement(name = "bandwidth-down-wan2")
+ protected String bandwidthDownWan2;
+ @XmlElement(name = "vhn-portal-url")
+ protected String vhnPortalUrl;
+ @XmlElement(name = "operational-status")
+ protected String operationalStatus;
+ @XmlElement(name = "service-instance-location-id")
+ protected String serviceInstanceLocationId;
+ @XmlElement(name = "resource-version")
+ protected String resourceVersion;
+ @XmlElement(name = "relationship-list")
+ protected RelationshipList relationshipList;
+ protected Metadata metadata;
+
+ /**
+ * Gets the value of the serviceInstanceId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getServiceInstanceId() {
+ return serviceInstanceId;
+ }
+
+ /**
+ * Sets the value of the serviceInstanceId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setServiceInstanceId(String value) {
+ this.serviceInstanceId = value;
+ }
+
+ /**
+ * Gets the value of the serviceInstanceName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getServiceInstanceName() {
+ return serviceInstanceName;
+ }
+
+ /**
+ * Sets the value of the serviceInstanceName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setServiceInstanceName(String value) {
+ this.serviceInstanceName = value;
+ }
+
+ /**
+ * Gets the value of the personaModelId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPersonaModelId() {
+ return personaModelId;
+ }
+
+ /**
+ * Sets the value of the personaModelId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPersonaModelId(String value) {
+ this.personaModelId = value;
+ }
+
+ /**
+ * Gets the value of the personaModelVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPersonaModelVersion() {
+ return personaModelVersion;
+ }
+
+ /**
+ * Sets the value of the personaModelVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPersonaModelVersion(String value) {
+ this.personaModelVersion = value;
+ }
+
+ /**
+ * Gets the value of the widgetModelId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getWidgetModelId() {
+ return widgetModelId;
+ }
+
+ /**
+ * Sets the value of the widgetModelId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setWidgetModelId(String value) {
+ this.widgetModelId = value;
+ }
+
+ /**
+ * Gets the value of the widgetModelVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getWidgetModelVersion() {
+ return widgetModelVersion;
+ }
+
+ /**
+ * Sets the value of the widgetModelVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setWidgetModelVersion(String value) {
+ this.widgetModelVersion = value;
+ }
+
+ /**
+ * Gets the value of the bandwidthTotal property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getBandwidthTotal() {
+ return bandwidthTotal;
+ }
+
+ /**
+ * Sets the value of the bandwidthTotal property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setBandwidthTotal(String value) {
+ this.bandwidthTotal = value;
+ }
+
+ /**
+ * Gets the value of the bandwidthUpWan1 property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getBandwidthUpWan1() {
+ return bandwidthUpWan1;
+ }
+
+ /**
+ * Sets the value of the bandwidthUpWan1 property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setBandwidthUpWan1(String value) {
+ this.bandwidthUpWan1 = value;
+ }
+
+ /**
+ * Gets the value of the bandwidthDownWan1 property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getBandwidthDownWan1() {
+ return bandwidthDownWan1;
+ }
+
+ /**
+ * Sets the value of the bandwidthDownWan1 property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setBandwidthDownWan1(String value) {
+ this.bandwidthDownWan1 = value;
+ }
+
+ /**
+ * Gets the value of the bandwidthUpWan2 property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getBandwidthUpWan2() {
+ return bandwidthUpWan2;
+ }
+
+ /**
+ * Sets the value of the bandwidthUpWan2 property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setBandwidthUpWan2(String value) {
+ this.bandwidthUpWan2 = value;
+ }
+
+ /**
+ * Gets the value of the bandwidthDownWan2 property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getBandwidthDownWan2() {
+ return bandwidthDownWan2;
+ }
+
+ /**
+ * Sets the value of the bandwidthDownWan2 property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setBandwidthDownWan2(String value) {
+ this.bandwidthDownWan2 = value;
+ }
+
+ /**
+ * Gets the value of the vhnPortalUrl property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getVhnPortalUrl() {
+ return vhnPortalUrl;
+ }
+
+ /**
+ * Sets the value of the vhnPortalUrl property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setVhnPortalUrl(String value) {
+ this.vhnPortalUrl = value;
+ }
+
+ /**
+ * Gets the value of the operationalStatus property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getOperationalStatus() {
+ return operationalStatus;
+ }
+
+ /**
+ * Sets the value of the operationalStatus property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setOperationalStatus(String value) {
+ this.operationalStatus = value;
+ }
+
+ /**
+ * Gets the value of the serviceInstanceLocationId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getServiceInstanceLocationId() {
+ return serviceInstanceLocationId;
+ }
+
+ /**
+ * Sets the value of the serviceInstanceLocationId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setServiceInstanceLocationId(String value) {
+ this.serviceInstanceLocationId = value;
+ }
+
+ /**
+ * Gets the value of the resourceVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ /**
+ * Sets the value of the resourceVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceVersion(String value) {
+ this.resourceVersion = value;
+ }
+
+ /**
+ * Gets the value of the relationshipList property.
+ *
+ * @return
+ * possible object is
+ * {@link RelationshipList }
+ *
+ */
+ public RelationshipList getRelationshipList() {
+ return relationshipList;
+ }
+
+ /**
+ * Sets the value of the relationshipList property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RelationshipList }
+ *
+ */
+ public void setRelationshipList(RelationshipList value) {
+ this.relationshipList = value;
+ }
+
+ /**
+ * Gets the value of the metadata property.
+ *
+ * @return
+ * possible object is
+ * {@link Metadata }
+ *
+ */
+ public Metadata getMetadata() {
+ return metadata;
+ }
+
+ /**
+ * Sets the value of the metadata property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Metadata }
+ *
+ */
+ public void setMetadata(Metadata value) {
+ this.metadata = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ServiceInstances.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ServiceInstances.java
new file mode 100644
index 0000000..f11eb61
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ServiceInstances.java
@@ -0,0 +1,81 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}service-instance" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "serviceInstance"
+})
+@XmlRootElement(name = "service-instances")
+public class ServiceInstances
+ implements AAIDatum
+{
+
+ @XmlElement(name = "service-instance")
+ protected List<ServiceInstance> serviceInstance;
+
+ /**
+ * Gets the value of the serviceInstance property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the serviceInstance property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getServiceInstance().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link ServiceInstance }
+ *
+ *
+ */
+ public List<ServiceInstance> getServiceInstance() {
+ if (serviceInstance == null) {
+ serviceInstance = new ArrayList<ServiceInstance>();
+ }
+ return this.serviceInstance;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ServiceSubscription.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ServiceSubscription.java
new file mode 100644
index 0000000..981f916
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ServiceSubscription.java
@@ -0,0 +1,186 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="service-type" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="temp-ub-sub-account-id" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="resource-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}service-instances" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}relationship-list" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "serviceType",
+ "tempUbSubAccountId",
+ "resourceVersion",
+ "serviceInstances",
+ "relationshipList"
+})
+@XmlRootElement(name = "service-subscription")
+public class ServiceSubscription
+ implements AAIDatum
+{
+
+ @XmlElement(name = "service-type", required = true)
+ protected String serviceType;
+ @XmlElement(name = "temp-ub-sub-account-id")
+ protected String tempUbSubAccountId;
+ @XmlElement(name = "resource-version")
+ protected String resourceVersion;
+ @XmlElement(name = "service-instances")
+ protected ServiceInstances serviceInstances;
+ @XmlElement(name = "relationship-list")
+ protected RelationshipList relationshipList;
+
+ /**
+ * Gets the value of the serviceType property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getServiceType() {
+ return serviceType;
+ }
+
+ /**
+ * Sets the value of the serviceType property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setServiceType(String value) {
+ this.serviceType = value;
+ }
+
+ /**
+ * Gets the value of the tempUbSubAccountId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getTempUbSubAccountId() {
+ return tempUbSubAccountId;
+ }
+
+ /**
+ * Sets the value of the tempUbSubAccountId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setTempUbSubAccountId(String value) {
+ this.tempUbSubAccountId = value;
+ }
+
+ /**
+ * Gets the value of the resourceVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ /**
+ * Sets the value of the resourceVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceVersion(String value) {
+ this.resourceVersion = value;
+ }
+
+ /**
+ * Gets the value of the serviceInstances property.
+ *
+ * @return
+ * possible object is
+ * {@link ServiceInstances }
+ *
+ */
+ public ServiceInstances getServiceInstances() {
+ return serviceInstances;
+ }
+
+ /**
+ * Sets the value of the serviceInstances property.
+ *
+ * @param value
+ * allowed object is
+ * {@link ServiceInstances }
+ *
+ */
+ public void setServiceInstances(ServiceInstances value) {
+ this.serviceInstances = value;
+ }
+
+ /**
+ * Gets the value of the relationshipList property.
+ *
+ * @return
+ * possible object is
+ * {@link RelationshipList }
+ *
+ */
+ public RelationshipList getRelationshipList() {
+ return relationshipList;
+ }
+
+ /**
+ * Sets the value of the relationshipList property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RelationshipList }
+ *
+ */
+ public void setRelationshipList(RelationshipList value) {
+ this.relationshipList = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ServiceSubscriptions.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ServiceSubscriptions.java
new file mode 100644
index 0000000..d8f2711
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/ServiceSubscriptions.java
@@ -0,0 +1,81 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}service-subscription" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "serviceSubscription"
+})
+@XmlRootElement(name = "service-subscriptions")
+public class ServiceSubscriptions
+ implements AAIDatum
+{
+
+ @XmlElement(name = "service-subscription")
+ protected List<ServiceSubscription> serviceSubscription;
+
+ /**
+ * Gets the value of the serviceSubscription property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the serviceSubscription property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getServiceSubscription().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link ServiceSubscription }
+ *
+ *
+ */
+ public List<ServiceSubscription> getServiceSubscription() {
+ if (serviceSubscription == null) {
+ serviceSubscription = new ArrayList<ServiceSubscription>();
+ }
+ return this.serviceSubscription;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Services.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Services.java
new file mode 100644
index 0000000..7a00462
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Services.java
@@ -0,0 +1,79 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}service" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "service"
+})
+@XmlRootElement(name = "services")
+public class Services
+ implements AAIDatum
+{
+
+ protected List<Service> service;
+
+ /**
+ * Gets the value of the service property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the service property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getService().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link Service }
+ *
+ *
+ */
+ public List<Service> getService() {
+ if (service == null) {
+ service = new ArrayList<Service>();
+ }
+ return this.service;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Snapshot.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Snapshot.java
new file mode 100644
index 0000000..3cf1b9d
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Snapshot.java
@@ -0,0 +1,381 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="snapshot-id" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="snapshot-name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="snapshot-architecture" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="snapshot-os-distro" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="snapshot-os-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="application" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="application-vendor" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="application-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="snapshot-selflink" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="prev-snapshot-id" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="resource-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}relationship-list" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "snapshotId",
+ "snapshotName",
+ "snapshotArchitecture",
+ "snapshotOsDistro",
+ "snapshotOsVersion",
+ "application",
+ "applicationVendor",
+ "applicationVersion",
+ "snapshotSelflink",
+ "prevSnapshotId",
+ "resourceVersion",
+ "relationshipList"
+})
+@XmlRootElement(name = "snapshot")
+public class Snapshot
+ implements AAIDatum
+{
+
+ @XmlElement(name = "snapshot-id", required = true)
+ protected String snapshotId;
+ @XmlElement(name = "snapshot-name")
+ protected String snapshotName;
+ @XmlElement(name = "snapshot-architecture")
+ protected String snapshotArchitecture;
+ @XmlElement(name = "snapshot-os-distro")
+ protected String snapshotOsDistro;
+ @XmlElement(name = "snapshot-os-version")
+ protected String snapshotOsVersion;
+ protected String application;
+ @XmlElement(name = "application-vendor")
+ protected String applicationVendor;
+ @XmlElement(name = "application-version")
+ protected String applicationVersion;
+ @XmlElement(name = "snapshot-selflink")
+ protected String snapshotSelflink;
+ @XmlElement(name = "prev-snapshot-id")
+ protected String prevSnapshotId;
+ @XmlElement(name = "resource-version")
+ protected String resourceVersion;
+ @XmlElement(name = "relationship-list")
+ protected RelationshipList relationshipList;
+
+ /**
+ * Gets the value of the snapshotId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSnapshotId() {
+ return snapshotId;
+ }
+
+ /**
+ * Sets the value of the snapshotId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSnapshotId(String value) {
+ this.snapshotId = value;
+ }
+
+ /**
+ * Gets the value of the snapshotName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSnapshotName() {
+ return snapshotName;
+ }
+
+ /**
+ * Sets the value of the snapshotName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSnapshotName(String value) {
+ this.snapshotName = value;
+ }
+
+ /**
+ * Gets the value of the snapshotArchitecture property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSnapshotArchitecture() {
+ return snapshotArchitecture;
+ }
+
+ /**
+ * Sets the value of the snapshotArchitecture property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSnapshotArchitecture(String value) {
+ this.snapshotArchitecture = value;
+ }
+
+ /**
+ * Gets the value of the snapshotOsDistro property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSnapshotOsDistro() {
+ return snapshotOsDistro;
+ }
+
+ /**
+ * Sets the value of the snapshotOsDistro property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSnapshotOsDistro(String value) {
+ this.snapshotOsDistro = value;
+ }
+
+ /**
+ * Gets the value of the snapshotOsVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSnapshotOsVersion() {
+ return snapshotOsVersion;
+ }
+
+ /**
+ * Sets the value of the snapshotOsVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSnapshotOsVersion(String value) {
+ this.snapshotOsVersion = value;
+ }
+
+ /**
+ * Gets the value of the application property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getApplication() {
+ return application;
+ }
+
+ /**
+ * Sets the value of the application property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setApplication(String value) {
+ this.application = value;
+ }
+
+ /**
+ * Gets the value of the applicationVendor property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getApplicationVendor() {
+ return applicationVendor;
+ }
+
+ /**
+ * Sets the value of the applicationVendor property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setApplicationVendor(String value) {
+ this.applicationVendor = value;
+ }
+
+ /**
+ * Gets the value of the applicationVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getApplicationVersion() {
+ return applicationVersion;
+ }
+
+ /**
+ * Sets the value of the applicationVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setApplicationVersion(String value) {
+ this.applicationVersion = value;
+ }
+
+ /**
+ * Gets the value of the snapshotSelflink property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSnapshotSelflink() {
+ return snapshotSelflink;
+ }
+
+ /**
+ * Sets the value of the snapshotSelflink property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSnapshotSelflink(String value) {
+ this.snapshotSelflink = value;
+ }
+
+ /**
+ * Gets the value of the prevSnapshotId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPrevSnapshotId() {
+ return prevSnapshotId;
+ }
+
+ /**
+ * Sets the value of the prevSnapshotId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPrevSnapshotId(String value) {
+ this.prevSnapshotId = value;
+ }
+
+ /**
+ * Gets the value of the resourceVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ /**
+ * Sets the value of the resourceVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceVersion(String value) {
+ this.resourceVersion = value;
+ }
+
+ /**
+ * Gets the value of the relationshipList property.
+ *
+ * @return
+ * possible object is
+ * {@link RelationshipList }
+ *
+ */
+ public RelationshipList getRelationshipList() {
+ return relationshipList;
+ }
+
+ /**
+ * Sets the value of the relationshipList property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RelationshipList }
+ *
+ */
+ public void setRelationshipList(RelationshipList value) {
+ this.relationshipList = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Snapshots.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Snapshots.java
new file mode 100644
index 0000000..be9e85b
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Snapshots.java
@@ -0,0 +1,79 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}snapshot" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "snapshot"
+})
+@XmlRootElement(name = "snapshots")
+public class Snapshots
+ implements AAIDatum
+{
+
+ protected List<Snapshot> snapshot;
+
+ /**
+ * Gets the value of the snapshot property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the snapshot property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getSnapshot().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link Snapshot }
+ *
+ *
+ */
+ public List<Snapshot> getSnapshot() {
+ if (snapshot == null) {
+ snapshot = new ArrayList<Snapshot>();
+ }
+ return this.snapshot;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/StartNodeFilter.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/StartNodeFilter.java
new file mode 100644
index 0000000..f04a9a0
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/StartNodeFilter.java
@@ -0,0 +1,102 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="property-name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="property-value" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "propertyName",
+ "propertyValue"
+})
+@XmlRootElement(name = "start-node-filter")
+public class StartNodeFilter
+ implements AAIDatum
+{
+
+ @XmlElement(name = "property-name")
+ protected String propertyName;
+ @XmlElement(name = "property-value")
+ protected String propertyValue;
+
+ /**
+ * Gets the value of the propertyName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPropertyName() {
+ return propertyName;
+ }
+
+ /**
+ * Sets the value of the propertyName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPropertyName(String value) {
+ this.propertyName = value;
+ }
+
+ /**
+ * Gets the value of the propertyValue property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPropertyValue() {
+ return propertyValue;
+ }
+
+ /**
+ * Sets the value of the propertyValue property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPropertyValue(String value) {
+ this.propertyValue = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Subnet.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Subnet.java
new file mode 100644
index 0000000..691cccd
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Subnet.java
@@ -0,0 +1,402 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="subnet-id" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="subnet-name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="neutron-subnet-id" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="gateway-address" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="network-start-address" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="cidr-mask" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="ip-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="orchestration-status" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="dhcp-enabled" type="{http://www.w3.org/2001/XMLSchema}boolean"/&gt;
+ * &lt;element name="dhcp-start" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="dhcp-end" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="resource-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}relationship-list" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "subnetId",
+ "subnetName",
+ "neutronSubnetId",
+ "gatewayAddress",
+ "networkStartAddress",
+ "cidrMask",
+ "ipVersion",
+ "orchestrationStatus",
+ "dhcpEnabled",
+ "dhcpStart",
+ "dhcpEnd",
+ "resourceVersion",
+ "relationshipList"
+})
+@XmlRootElement(name = "subnet")
+public class Subnet
+ implements AAIDatum
+{
+
+ @XmlElement(name = "subnet-id", required = true)
+ protected String subnetId;
+ @XmlElement(name = "subnet-name")
+ protected String subnetName;
+ @XmlElement(name = "neutron-subnet-id")
+ protected String neutronSubnetId;
+ @XmlElement(name = "gateway-address")
+ protected String gatewayAddress;
+ @XmlElement(name = "network-start-address")
+ protected String networkStartAddress;
+ @XmlElement(name = "cidr-mask")
+ protected String cidrMask;
+ @XmlElement(name = "ip-version")
+ protected String ipVersion;
+ @XmlElement(name = "orchestration-status")
+ protected String orchestrationStatus;
+ @XmlElement(name = "dhcp-enabled")
+ protected boolean dhcpEnabled;
+ @XmlElement(name = "dhcp-start")
+ protected String dhcpStart;
+ @XmlElement(name = "dhcp-end")
+ protected String dhcpEnd;
+ @XmlElement(name = "resource-version")
+ protected String resourceVersion;
+ @XmlElement(name = "relationship-list")
+ protected RelationshipList relationshipList;
+
+ /**
+ * Gets the value of the subnetId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSubnetId() {
+ return subnetId;
+ }
+
+ /**
+ * Sets the value of the subnetId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSubnetId(String value) {
+ this.subnetId = value;
+ }
+
+ /**
+ * Gets the value of the subnetName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSubnetName() {
+ return subnetName;
+ }
+
+ /**
+ * Sets the value of the subnetName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSubnetName(String value) {
+ this.subnetName = value;
+ }
+
+ /**
+ * Gets the value of the neutronSubnetId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNeutronSubnetId() {
+ return neutronSubnetId;
+ }
+
+ /**
+ * Sets the value of the neutronSubnetId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNeutronSubnetId(String value) {
+ this.neutronSubnetId = value;
+ }
+
+ /**
+ * Gets the value of the gatewayAddress property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getGatewayAddress() {
+ return gatewayAddress;
+ }
+
+ /**
+ * Sets the value of the gatewayAddress property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setGatewayAddress(String value) {
+ this.gatewayAddress = value;
+ }
+
+ /**
+ * Gets the value of the networkStartAddress property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getNetworkStartAddress() {
+ return networkStartAddress;
+ }
+
+ /**
+ * Sets the value of the networkStartAddress property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setNetworkStartAddress(String value) {
+ this.networkStartAddress = value;
+ }
+
+ /**
+ * Gets the value of the cidrMask property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getCidrMask() {
+ return cidrMask;
+ }
+
+ /**
+ * Sets the value of the cidrMask property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setCidrMask(String value) {
+ this.cidrMask = value;
+ }
+
+ /**
+ * Gets the value of the ipVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getIpVersion() {
+ return ipVersion;
+ }
+
+ /**
+ * Sets the value of the ipVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setIpVersion(String value) {
+ this.ipVersion = value;
+ }
+
+ /**
+ * Gets the value of the orchestrationStatus property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getOrchestrationStatus() {
+ return orchestrationStatus;
+ }
+
+ /**
+ * Sets the value of the orchestrationStatus property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setOrchestrationStatus(String value) {
+ this.orchestrationStatus = value;
+ }
+
+ /**
+ * Gets the value of the dhcpEnabled property.
+ *
+ */
+ public boolean isDhcpEnabled() {
+ return dhcpEnabled;
+ }
+
+ /**
+ * Sets the value of the dhcpEnabled property.
+ *
+ */
+ public void setDhcpEnabled(boolean value) {
+ this.dhcpEnabled = value;
+ }
+
+ /**
+ * Gets the value of the dhcpStart property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getDhcpStart() {
+ return dhcpStart;
+ }
+
+ /**
+ * Sets the value of the dhcpStart property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setDhcpStart(String value) {
+ this.dhcpStart = value;
+ }
+
+ /**
+ * Gets the value of the dhcpEnd property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getDhcpEnd() {
+ return dhcpEnd;
+ }
+
+ /**
+ * Sets the value of the dhcpEnd property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setDhcpEnd(String value) {
+ this.dhcpEnd = value;
+ }
+
+ /**
+ * Gets the value of the resourceVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ /**
+ * Sets the value of the resourceVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceVersion(String value) {
+ this.resourceVersion = value;
+ }
+
+ /**
+ * Gets the value of the relationshipList property.
+ *
+ * @return
+ * possible object is
+ * {@link RelationshipList }
+ *
+ */
+ public RelationshipList getRelationshipList() {
+ return relationshipList;
+ }
+
+ /**
+ * Sets the value of the relationshipList property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RelationshipList }
+ *
+ */
+ public void setRelationshipList(RelationshipList value) {
+ this.relationshipList = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Subnets.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Subnets.java
new file mode 100644
index 0000000..b26dc34
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Subnets.java
@@ -0,0 +1,79 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}subnet" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "subnet"
+})
+@XmlRootElement(name = "subnets")
+public class Subnets
+ implements AAIDatum
+{
+
+ protected List<Subnet> subnet;
+
+ /**
+ * Gets the value of the subnet property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the subnet property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getSubnet().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link Subnet }
+ *
+ *
+ */
+ public List<Subnet> getSubnet() {
+ if (subnet == null) {
+ subnet = new ArrayList<Subnet>();
+ }
+ return this.subnet;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/TaggedInventoryItemList.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/TaggedInventoryItemList.java
new file mode 100644
index 0000000..8adcf9a
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/TaggedInventoryItemList.java
@@ -0,0 +1,81 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}inventory-item" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "inventoryItem"
+})
+@XmlRootElement(name = "tagged-inventory-item-list")
+public class TaggedInventoryItemList
+ implements AAIDatum
+{
+
+ @XmlElement(name = "inventory-item")
+ protected List<InventoryItem> inventoryItem;
+
+ /**
+ * Gets the value of the inventoryItem property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the inventoryItem property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getInventoryItem().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link InventoryItem }
+ *
+ *
+ */
+ public List<InventoryItem> getInventoryItem() {
+ if (inventoryItem == null) {
+ inventoryItem = new ArrayList<InventoryItem>();
+ }
+ return this.inventoryItem;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Tenant.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Tenant.java
new file mode 100644
index 0000000..4e5eb1e
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Tenant.java
@@ -0,0 +1,185 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="tenant-id" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="tenant-name" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="resource-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}vservers" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}relationship-list" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "tenantId",
+ "tenantName",
+ "resourceVersion",
+ "vservers",
+ "relationshipList"
+})
+@XmlRootElement(name = "tenant")
+public class Tenant
+ implements AAIDatum
+{
+
+ @XmlElement(name = "tenant-id", required = true)
+ protected String tenantId;
+ @XmlElement(name = "tenant-name", required = true)
+ protected String tenantName;
+ @XmlElement(name = "resource-version")
+ protected String resourceVersion;
+ protected Vservers vservers;
+ @XmlElement(name = "relationship-list")
+ protected RelationshipList relationshipList;
+
+ /**
+ * Gets the value of the tenantId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getTenantId() {
+ return tenantId;
+ }
+
+ /**
+ * Sets the value of the tenantId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setTenantId(String value) {
+ this.tenantId = value;
+ }
+
+ /**
+ * Gets the value of the tenantName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getTenantName() {
+ return tenantName;
+ }
+
+ /**
+ * Sets the value of the tenantName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setTenantName(String value) {
+ this.tenantName = value;
+ }
+
+ /**
+ * Gets the value of the resourceVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ /**
+ * Sets the value of the resourceVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceVersion(String value) {
+ this.resourceVersion = value;
+ }
+
+ /**
+ * Gets the value of the vservers property.
+ *
+ * @return
+ * possible object is
+ * {@link Vservers }
+ *
+ */
+ public Vservers getVservers() {
+ return vservers;
+ }
+
+ /**
+ * Sets the value of the vservers property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Vservers }
+ *
+ */
+ public void setVservers(Vservers value) {
+ this.vservers = value;
+ }
+
+ /**
+ * Gets the value of the relationshipList property.
+ *
+ * @return
+ * possible object is
+ * {@link RelationshipList }
+ *
+ */
+ public RelationshipList getRelationshipList() {
+ return relationshipList;
+ }
+
+ /**
+ * Sets the value of the relationshipList property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RelationshipList }
+ *
+ */
+ public void setRelationshipList(RelationshipList value) {
+ this.relationshipList = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Tenants.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Tenants.java
new file mode 100644
index 0000000..dfafbf3
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Tenants.java
@@ -0,0 +1,79 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}tenant" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "tenant"
+})
+@XmlRootElement(name = "tenants")
+public class Tenants
+ implements AAIDatum
+{
+
+ protected List<Tenant> tenant;
+
+ /**
+ * Gets the value of the tenant property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the tenant property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getTenant().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link Tenant }
+ *
+ *
+ */
+ public List<Tenant> getTenant() {
+ if (tenant == null) {
+ tenant = new ArrayList<Tenant>();
+ }
+ return this.tenant;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Update.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Update.java
new file mode 100644
index 0000000..fec7741
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Update.java
@@ -0,0 +1,169 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="update-node-type" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}update-node-key" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;element name="update-node-uri" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}action" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "updateNodeType",
+ "updateNodeKey",
+ "updateNodeUri",
+ "action"
+})
+@XmlRootElement(name = "update")
+public class Update
+ implements AAIDatum
+{
+
+ @XmlElement(name = "update-node-type", required = true)
+ protected String updateNodeType;
+ @XmlElement(name = "update-node-key")
+ protected List<UpdateNodeKey> updateNodeKey;
+ @XmlElement(name = "update-node-uri")
+ protected String updateNodeUri;
+ protected List<Action> action;
+
+ /**
+ * Gets the value of the updateNodeType property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getUpdateNodeType() {
+ return updateNodeType;
+ }
+
+ /**
+ * Sets the value of the updateNodeType property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setUpdateNodeType(String value) {
+ this.updateNodeType = value;
+ }
+
+ /**
+ * Gets the value of the updateNodeKey property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the updateNodeKey property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getUpdateNodeKey().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link UpdateNodeKey }
+ *
+ *
+ */
+ public List<UpdateNodeKey> getUpdateNodeKey() {
+ if (updateNodeKey == null) {
+ updateNodeKey = new ArrayList<UpdateNodeKey>();
+ }
+ return this.updateNodeKey;
+ }
+
+ /**
+ * Gets the value of the updateNodeUri property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getUpdateNodeUri() {
+ return updateNodeUri;
+ }
+
+ /**
+ * Sets the value of the updateNodeUri property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setUpdateNodeUri(String value) {
+ this.updateNodeUri = value;
+ }
+
+ /**
+ * Gets the value of the action property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the action property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getAction().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link Action }
+ *
+ *
+ */
+ public List<Action> getAction() {
+ if (action == null) {
+ action = new ArrayList<Action>();
+ }
+ return this.action;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/UpdateNodeKey.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/UpdateNodeKey.java
new file mode 100644
index 0000000..3d80775
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/UpdateNodeKey.java
@@ -0,0 +1,102 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="key-name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="key-value" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "keyName",
+ "keyValue"
+})
+@XmlRootElement(name = "update-node-key")
+public class UpdateNodeKey
+ implements AAIDatum
+{
+
+ @XmlElement(name = "key-name")
+ protected String keyName;
+ @XmlElement(name = "key-value")
+ protected String keyValue;
+
+ /**
+ * Gets the value of the keyName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getKeyName() {
+ return keyName;
+ }
+
+ /**
+ * Sets the value of the keyName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setKeyName(String value) {
+ this.keyName = value;
+ }
+
+ /**
+ * Gets the value of the keyValue property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getKeyValue() {
+ return keyValue;
+ }
+
+ /**
+ * Sets the value of the keyValue property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setKeyValue(String value) {
+ this.keyValue = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/VfModule.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/VfModule.java
new file mode 100644
index 0000000..bf331f5
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/VfModule.java
@@ -0,0 +1,374 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="vf-module-id" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="vf-module-name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="heat-stack-id" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="orchestration-status" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="is-base-vf-module" type="{http://www.w3.org/2001/XMLSchema}boolean"/&gt;
+ * &lt;element name="resource-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="persona-model-id" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="persona-model-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="widget-model-id" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="widget-model-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="contrail-service-instance-fqdn" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}relationship-list" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "vfModuleId",
+ "vfModuleName",
+ "heatStackId",
+ "orchestrationStatus",
+ "isBaseVfModule",
+ "resourceVersion",
+ "personaModelId",
+ "personaModelVersion",
+ "widgetModelId",
+ "widgetModelVersion",
+ "contrailServiceInstanceFqdn",
+ "relationshipList"
+})
+@XmlRootElement(name = "vf-module")
+public class VfModule
+ implements AAIDatum
+{
+
+ @XmlElement(name = "vf-module-id", required = true)
+ protected String vfModuleId;
+ @XmlElement(name = "vf-module-name")
+ protected String vfModuleName;
+ @XmlElement(name = "heat-stack-id")
+ protected String heatStackId;
+ @XmlElement(name = "orchestration-status")
+ protected String orchestrationStatus;
+ @XmlElement(name = "is-base-vf-module")
+ protected boolean isBaseVfModule;
+ @XmlElement(name = "resource-version")
+ protected String resourceVersion;
+ @XmlElement(name = "persona-model-id")
+ protected String personaModelId;
+ @XmlElement(name = "persona-model-version")
+ protected String personaModelVersion;
+ @XmlElement(name = "widget-model-id")
+ protected String widgetModelId;
+ @XmlElement(name = "widget-model-version")
+ protected String widgetModelVersion;
+ @XmlElement(name = "contrail-service-instance-fqdn")
+ protected String contrailServiceInstanceFqdn;
+ @XmlElement(name = "relationship-list")
+ protected RelationshipList relationshipList;
+
+ /**
+ * Gets the value of the vfModuleId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getVfModuleId() {
+ return vfModuleId;
+ }
+
+ /**
+ * Sets the value of the vfModuleId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setVfModuleId(String value) {
+ this.vfModuleId = value;
+ }
+
+ /**
+ * Gets the value of the vfModuleName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getVfModuleName() {
+ return vfModuleName;
+ }
+
+ /**
+ * Sets the value of the vfModuleName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setVfModuleName(String value) {
+ this.vfModuleName = value;
+ }
+
+ /**
+ * Gets the value of the heatStackId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getHeatStackId() {
+ return heatStackId;
+ }
+
+ /**
+ * Sets the value of the heatStackId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setHeatStackId(String value) {
+ this.heatStackId = value;
+ }
+
+ /**
+ * Gets the value of the orchestrationStatus property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getOrchestrationStatus() {
+ return orchestrationStatus;
+ }
+
+ /**
+ * Sets the value of the orchestrationStatus property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setOrchestrationStatus(String value) {
+ this.orchestrationStatus = value;
+ }
+
+ /**
+ * Gets the value of the isBaseVfModule property.
+ *
+ */
+ public boolean isIsBaseVfModule() {
+ return isBaseVfModule;
+ }
+
+ /**
+ * Sets the value of the isBaseVfModule property.
+ *
+ */
+ public void setIsBaseVfModule(boolean value) {
+ this.isBaseVfModule = value;
+ }
+
+ /**
+ * Gets the value of the resourceVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ /**
+ * Sets the value of the resourceVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceVersion(String value) {
+ this.resourceVersion = value;
+ }
+
+ /**
+ * Gets the value of the personaModelId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPersonaModelId() {
+ return personaModelId;
+ }
+
+ /**
+ * Sets the value of the personaModelId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPersonaModelId(String value) {
+ this.personaModelId = value;
+ }
+
+ /**
+ * Gets the value of the personaModelVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPersonaModelVersion() {
+ return personaModelVersion;
+ }
+
+ /**
+ * Sets the value of the personaModelVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPersonaModelVersion(String value) {
+ this.personaModelVersion = value;
+ }
+
+ /**
+ * Gets the value of the widgetModelId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getWidgetModelId() {
+ return widgetModelId;
+ }
+
+ /**
+ * Sets the value of the widgetModelId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setWidgetModelId(String value) {
+ this.widgetModelId = value;
+ }
+
+ /**
+ * Gets the value of the widgetModelVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getWidgetModelVersion() {
+ return widgetModelVersion;
+ }
+
+ /**
+ * Sets the value of the widgetModelVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setWidgetModelVersion(String value) {
+ this.widgetModelVersion = value;
+ }
+
+ /**
+ * Gets the value of the contrailServiceInstanceFqdn property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getContrailServiceInstanceFqdn() {
+ return contrailServiceInstanceFqdn;
+ }
+
+ /**
+ * Sets the value of the contrailServiceInstanceFqdn property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setContrailServiceInstanceFqdn(String value) {
+ this.contrailServiceInstanceFqdn = value;
+ }
+
+ /**
+ * Gets the value of the relationshipList property.
+ *
+ * @return
+ * possible object is
+ * {@link RelationshipList }
+ *
+ */
+ public RelationshipList getRelationshipList() {
+ return relationshipList;
+ }
+
+ /**
+ * Sets the value of the relationshipList property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RelationshipList }
+ *
+ */
+ public void setRelationshipList(RelationshipList value) {
+ this.relationshipList = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/VfModules.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/VfModules.java
new file mode 100644
index 0000000..8e13c9e
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/VfModules.java
@@ -0,0 +1,81 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}vf-module" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "vfModule"
+})
+@XmlRootElement(name = "vf-modules")
+public class VfModules
+ implements AAIDatum
+{
+
+ @XmlElement(name = "vf-module")
+ protected List<VfModule> vfModule;
+
+ /**
+ * Gets the value of the vfModule property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the vfModule property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getVfModule().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link VfModule }
+ *
+ *
+ */
+ public List<VfModule> getVfModule() {
+ if (vfModule == null) {
+ vfModule = new ArrayList<VfModule>();
+ }
+ return this.vfModule;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Vlan.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Vlan.java
new file mode 100644
index 0000000..d7da63c
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Vlan.java
@@ -0,0 +1,397 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="vlan-interface" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="vlan-id-inner" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/&gt;
+ * &lt;element name="vlan-id-outer" type="{http://www.w3.org/2001/XMLSchema}unsignedInt" minOccurs="0"/&gt;
+ * &lt;element name="resource-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="speed-value" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="speed-units" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="vlan-description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="backdoor-connection" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="vpn-id" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}relationship-list" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}l3-interface-ipv4-address-list" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}l3-interface-ipv6-address-list" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "vlanInterface",
+ "vlanIdInner",
+ "vlanIdOuter",
+ "resourceVersion",
+ "speedValue",
+ "speedUnits",
+ "vlanDescription",
+ "backdoorConnection",
+ "vpnId",
+ "relationshipList",
+ "l3InterfaceIpv4AddressList",
+ "l3InterfaceIpv6AddressList"
+})
+@XmlRootElement(name = "vlan")
+public class Vlan
+ implements AAIDatum
+{
+
+ @XmlElement(name = "vlan-interface", required = true)
+ protected String vlanInterface;
+ @XmlElement(name = "vlan-id-inner")
+ @XmlSchemaType(name = "unsignedInt")
+ protected Long vlanIdInner;
+ @XmlElement(name = "vlan-id-outer")
+ @XmlSchemaType(name = "unsignedInt")
+ protected Long vlanIdOuter;
+ @XmlElement(name = "resource-version")
+ protected String resourceVersion;
+ @XmlElement(name = "speed-value")
+ protected String speedValue;
+ @XmlElement(name = "speed-units")
+ protected String speedUnits;
+ @XmlElement(name = "vlan-description")
+ protected String vlanDescription;
+ @XmlElement(name = "backdoor-connection")
+ protected String backdoorConnection;
+ @XmlElement(name = "vpn-id")
+ protected String vpnId;
+ @XmlElement(name = "relationship-list")
+ protected RelationshipList relationshipList;
+ @XmlElement(name = "l3-interface-ipv4-address-list")
+ protected List<L3InterfaceIpv4AddressList> l3InterfaceIpv4AddressList;
+ @XmlElement(name = "l3-interface-ipv6-address-list")
+ protected List<L3InterfaceIpv6AddressList> l3InterfaceIpv6AddressList;
+
+ /**
+ * Gets the value of the vlanInterface property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getVlanInterface() {
+ return vlanInterface;
+ }
+
+ /**
+ * Sets the value of the vlanInterface property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setVlanInterface(String value) {
+ this.vlanInterface = value;
+ }
+
+ /**
+ * Gets the value of the vlanIdInner property.
+ *
+ * @return
+ * possible object is
+ * {@link Long }
+ *
+ */
+ public Long getVlanIdInner() {
+ return vlanIdInner;
+ }
+
+ /**
+ * Sets the value of the vlanIdInner property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Long }
+ *
+ */
+ public void setVlanIdInner(Long value) {
+ this.vlanIdInner = value;
+ }
+
+ /**
+ * Gets the value of the vlanIdOuter property.
+ *
+ * @return
+ * possible object is
+ * {@link Long }
+ *
+ */
+ public Long getVlanIdOuter() {
+ return vlanIdOuter;
+ }
+
+ /**
+ * Sets the value of the vlanIdOuter property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Long }
+ *
+ */
+ public void setVlanIdOuter(Long value) {
+ this.vlanIdOuter = value;
+ }
+
+ /**
+ * Gets the value of the resourceVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ /**
+ * Sets the value of the resourceVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceVersion(String value) {
+ this.resourceVersion = value;
+ }
+
+ /**
+ * Gets the value of the speedValue property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSpeedValue() {
+ return speedValue;
+ }
+
+ /**
+ * Sets the value of the speedValue property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSpeedValue(String value) {
+ this.speedValue = value;
+ }
+
+ /**
+ * Gets the value of the speedUnits property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSpeedUnits() {
+ return speedUnits;
+ }
+
+ /**
+ * Sets the value of the speedUnits property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSpeedUnits(String value) {
+ this.speedUnits = value;
+ }
+
+ /**
+ * Gets the value of the vlanDescription property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getVlanDescription() {
+ return vlanDescription;
+ }
+
+ /**
+ * Sets the value of the vlanDescription property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setVlanDescription(String value) {
+ this.vlanDescription = value;
+ }
+
+ /**
+ * Gets the value of the backdoorConnection property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getBackdoorConnection() {
+ return backdoorConnection;
+ }
+
+ /**
+ * Sets the value of the backdoorConnection property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setBackdoorConnection(String value) {
+ this.backdoorConnection = value;
+ }
+
+ /**
+ * Gets the value of the vpnId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getVpnId() {
+ return vpnId;
+ }
+
+ /**
+ * Sets the value of the vpnId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setVpnId(String value) {
+ this.vpnId = value;
+ }
+
+ /**
+ * Gets the value of the relationshipList property.
+ *
+ * @return
+ * possible object is
+ * {@link RelationshipList }
+ *
+ */
+ public RelationshipList getRelationshipList() {
+ return relationshipList;
+ }
+
+ /**
+ * Sets the value of the relationshipList property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RelationshipList }
+ *
+ */
+ public void setRelationshipList(RelationshipList value) {
+ this.relationshipList = value;
+ }
+
+ /**
+ * Gets the value of the l3InterfaceIpv4AddressList property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the l3InterfaceIpv4AddressList property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getL3InterfaceIpv4AddressList().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link L3InterfaceIpv4AddressList }
+ *
+ *
+ */
+ public List<L3InterfaceIpv4AddressList> getL3InterfaceIpv4AddressList() {
+ if (l3InterfaceIpv4AddressList == null) {
+ l3InterfaceIpv4AddressList = new ArrayList<L3InterfaceIpv4AddressList>();
+ }
+ return this.l3InterfaceIpv4AddressList;
+ }
+
+ /**
+ * Gets the value of the l3InterfaceIpv6AddressList property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the l3InterfaceIpv6AddressList property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getL3InterfaceIpv6AddressList().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link L3InterfaceIpv6AddressList }
+ *
+ *
+ */
+ public List<L3InterfaceIpv6AddressList> getL3InterfaceIpv6AddressList() {
+ if (l3InterfaceIpv6AddressList == null) {
+ l3InterfaceIpv6AddressList = new ArrayList<L3InterfaceIpv6AddressList>();
+ }
+ return this.l3InterfaceIpv6AddressList;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Vlans.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Vlans.java
new file mode 100644
index 0000000..3e02f71
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Vlans.java
@@ -0,0 +1,79 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}vlan" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "vlan"
+})
+@XmlRootElement(name = "vlans")
+public class Vlans
+ implements AAIDatum
+{
+
+ protected List<Vlan> vlan;
+
+ /**
+ * Gets the value of the vlan property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the vlan property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getVlan().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link Vlan }
+ *
+ *
+ */
+ public List<Vlan> getVlan() {
+ if (vlan == null) {
+ vlan = new ArrayList<Vlan>();
+ }
+ return this.vlan;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Vnfc.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Vnfc.java
new file mode 100644
index 0000000..c4f2dbb
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Vnfc.java
@@ -0,0 +1,338 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="vnfc-name" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="vnfc-function-code" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="vnfc-type" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="prov-status" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="orchestration-status" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="ipaddress-v4-oam-vip" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="in-maint" type="{http://www.w3.org/2001/XMLSchema}boolean"/&gt;
+ * &lt;element name="is-closed-loop-disabled" type="{http://www.w3.org/2001/XMLSchema}boolean"/&gt;
+ * &lt;element name="group-notation" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="resource-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}relationship-list" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "vnfcName",
+ "vnfcFunctionCode",
+ "vnfcType",
+ "provStatus",
+ "orchestrationStatus",
+ "ipaddressV4OamVip",
+ "inMaint",
+ "isClosedLoopDisabled",
+ "groupNotation",
+ "resourceVersion",
+ "relationshipList"
+})
+@XmlRootElement(name = "vnfc")
+public class Vnfc
+ implements AAIDatum
+{
+
+ @XmlElement(name = "vnfc-name", required = true)
+ protected String vnfcName;
+ @XmlElement(name = "vnfc-function-code", required = true)
+ protected String vnfcFunctionCode;
+ @XmlElement(name = "vnfc-type", required = true)
+ protected String vnfcType;
+ @XmlElement(name = "prov-status")
+ protected String provStatus;
+ @XmlElement(name = "orchestration-status")
+ protected String orchestrationStatus;
+ @XmlElement(name = "ipaddress-v4-oam-vip")
+ protected String ipaddressV4OamVip;
+ @XmlElement(name = "in-maint")
+ protected boolean inMaint;
+ @XmlElement(name = "is-closed-loop-disabled")
+ protected boolean isClosedLoopDisabled;
+ @XmlElement(name = "group-notation")
+ protected String groupNotation;
+ @XmlElement(name = "resource-version")
+ protected String resourceVersion;
+ @XmlElement(name = "relationship-list")
+ protected RelationshipList relationshipList;
+
+ /**
+ * Gets the value of the vnfcName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getVnfcName() {
+ return vnfcName;
+ }
+
+ /**
+ * Sets the value of the vnfcName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setVnfcName(String value) {
+ this.vnfcName = value;
+ }
+
+ /**
+ * Gets the value of the vnfcFunctionCode property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getVnfcFunctionCode() {
+ return vnfcFunctionCode;
+ }
+
+ /**
+ * Sets the value of the vnfcFunctionCode property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setVnfcFunctionCode(String value) {
+ this.vnfcFunctionCode = value;
+ }
+
+ /**
+ * Gets the value of the vnfcType property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getVnfcType() {
+ return vnfcType;
+ }
+
+ /**
+ * Sets the value of the vnfcType property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setVnfcType(String value) {
+ this.vnfcType = value;
+ }
+
+ /**
+ * Gets the value of the provStatus property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getProvStatus() {
+ return provStatus;
+ }
+
+ /**
+ * Sets the value of the provStatus property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setProvStatus(String value) {
+ this.provStatus = value;
+ }
+
+ /**
+ * Gets the value of the orchestrationStatus property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getOrchestrationStatus() {
+ return orchestrationStatus;
+ }
+
+ /**
+ * Sets the value of the orchestrationStatus property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setOrchestrationStatus(String value) {
+ this.orchestrationStatus = value;
+ }
+
+ /**
+ * Gets the value of the ipaddressV4OamVip property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getIpaddressV4OamVip() {
+ return ipaddressV4OamVip;
+ }
+
+ /**
+ * Sets the value of the ipaddressV4OamVip property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setIpaddressV4OamVip(String value) {
+ this.ipaddressV4OamVip = value;
+ }
+
+ /**
+ * Gets the value of the inMaint property.
+ *
+ */
+ public boolean isInMaint() {
+ return inMaint;
+ }
+
+ /**
+ * Sets the value of the inMaint property.
+ *
+ */
+ public void setInMaint(boolean value) {
+ this.inMaint = value;
+ }
+
+ /**
+ * Gets the value of the isClosedLoopDisabled property.
+ *
+ */
+ public boolean isIsClosedLoopDisabled() {
+ return isClosedLoopDisabled;
+ }
+
+ /**
+ * Sets the value of the isClosedLoopDisabled property.
+ *
+ */
+ public void setIsClosedLoopDisabled(boolean value) {
+ this.isClosedLoopDisabled = value;
+ }
+
+ /**
+ * Gets the value of the groupNotation property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getGroupNotation() {
+ return groupNotation;
+ }
+
+ /**
+ * Sets the value of the groupNotation property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setGroupNotation(String value) {
+ this.groupNotation = value;
+ }
+
+ /**
+ * Gets the value of the resourceVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ /**
+ * Sets the value of the resourceVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceVersion(String value) {
+ this.resourceVersion = value;
+ }
+
+ /**
+ * Gets the value of the relationshipList property.
+ *
+ * @return
+ * possible object is
+ * {@link RelationshipList }
+ *
+ */
+ public RelationshipList getRelationshipList() {
+ return relationshipList;
+ }
+
+ /**
+ * Sets the value of the relationshipList property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RelationshipList }
+ *
+ */
+ public void setRelationshipList(RelationshipList value) {
+ this.relationshipList = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Vnfcs.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Vnfcs.java
new file mode 100644
index 0000000..467413b
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Vnfcs.java
@@ -0,0 +1,79 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}vnfc" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "vnfc"
+})
+@XmlRootElement(name = "vnfcs")
+public class Vnfcs
+ implements AAIDatum
+{
+
+ protected List<Vnfc> vnfc;
+
+ /**
+ * Gets the value of the vnfc property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the vnfc property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getVnfc().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link Vnfc }
+ *
+ *
+ */
+ public List<Vnfc> getVnfc() {
+ if (vnfc == null) {
+ vnfc = new ArrayList<Vnfc>();
+ }
+ return this.vnfc;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Volume.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Volume.java
new file mode 100644
index 0000000..d98465b
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Volume.java
@@ -0,0 +1,158 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="volume-id" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="volume-selflink" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="resource-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}relationship-list" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "volumeId",
+ "volumeSelflink",
+ "resourceVersion",
+ "relationshipList"
+})
+@XmlRootElement(name = "volume")
+public class Volume
+ implements AAIDatum
+{
+
+ @XmlElement(name = "volume-id", required = true)
+ protected String volumeId;
+ @XmlElement(name = "volume-selflink", required = true)
+ protected String volumeSelflink;
+ @XmlElement(name = "resource-version")
+ protected String resourceVersion;
+ @XmlElement(name = "relationship-list")
+ protected RelationshipList relationshipList;
+
+ /**
+ * Gets the value of the volumeId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getVolumeId() {
+ return volumeId;
+ }
+
+ /**
+ * Sets the value of the volumeId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setVolumeId(String value) {
+ this.volumeId = value;
+ }
+
+ /**
+ * Gets the value of the volumeSelflink property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getVolumeSelflink() {
+ return volumeSelflink;
+ }
+
+ /**
+ * Sets the value of the volumeSelflink property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setVolumeSelflink(String value) {
+ this.volumeSelflink = value;
+ }
+
+ /**
+ * Gets the value of the resourceVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ /**
+ * Sets the value of the resourceVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceVersion(String value) {
+ this.resourceVersion = value;
+ }
+
+ /**
+ * Gets the value of the relationshipList property.
+ *
+ * @return
+ * possible object is
+ * {@link RelationshipList }
+ *
+ */
+ public RelationshipList getRelationshipList() {
+ return relationshipList;
+ }
+
+ /**
+ * Sets the value of the relationshipList property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RelationshipList }
+ *
+ */
+ public void setRelationshipList(RelationshipList value) {
+ this.relationshipList = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/VolumeGroup.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/VolumeGroup.java
new file mode 100644
index 0000000..a338946
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/VolumeGroup.java
@@ -0,0 +1,242 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="volume-group-id" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="volume-group-name" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="heat-stack-id" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="vnf-type" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="orchestration-status" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="resource-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}relationship-list" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "volumeGroupId",
+ "volumeGroupName",
+ "heatStackId",
+ "vnfType",
+ "orchestrationStatus",
+ "resourceVersion",
+ "relationshipList"
+})
+@XmlRootElement(name = "volume-group")
+public class VolumeGroup
+ implements AAIDatum
+{
+
+ @XmlElement(name = "volume-group-id", required = true)
+ protected String volumeGroupId;
+ @XmlElement(name = "volume-group-name", required = true)
+ protected String volumeGroupName;
+ @XmlElement(name = "heat-stack-id")
+ protected String heatStackId;
+ @XmlElement(name = "vnf-type", required = true)
+ protected String vnfType;
+ @XmlElement(name = "orchestration-status")
+ protected String orchestrationStatus;
+ @XmlElement(name = "resource-version")
+ protected String resourceVersion;
+ @XmlElement(name = "relationship-list")
+ protected RelationshipList relationshipList;
+
+ /**
+ * Gets the value of the volumeGroupId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getVolumeGroupId() {
+ return volumeGroupId;
+ }
+
+ /**
+ * Sets the value of the volumeGroupId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setVolumeGroupId(String value) {
+ this.volumeGroupId = value;
+ }
+
+ /**
+ * Gets the value of the volumeGroupName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getVolumeGroupName() {
+ return volumeGroupName;
+ }
+
+ /**
+ * Sets the value of the volumeGroupName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setVolumeGroupName(String value) {
+ this.volumeGroupName = value;
+ }
+
+ /**
+ * Gets the value of the heatStackId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getHeatStackId() {
+ return heatStackId;
+ }
+
+ /**
+ * Sets the value of the heatStackId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setHeatStackId(String value) {
+ this.heatStackId = value;
+ }
+
+ /**
+ * Gets the value of the vnfType property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getVnfType() {
+ return vnfType;
+ }
+
+ /**
+ * Sets the value of the vnfType property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setVnfType(String value) {
+ this.vnfType = value;
+ }
+
+ /**
+ * Gets the value of the orchestrationStatus property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getOrchestrationStatus() {
+ return orchestrationStatus;
+ }
+
+ /**
+ * Sets the value of the orchestrationStatus property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setOrchestrationStatus(String value) {
+ this.orchestrationStatus = value;
+ }
+
+ /**
+ * Gets the value of the resourceVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ /**
+ * Sets the value of the resourceVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceVersion(String value) {
+ this.resourceVersion = value;
+ }
+
+ /**
+ * Gets the value of the relationshipList property.
+ *
+ * @return
+ * possible object is
+ * {@link RelationshipList }
+ *
+ */
+ public RelationshipList getRelationshipList() {
+ return relationshipList;
+ }
+
+ /**
+ * Sets the value of the relationshipList property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RelationshipList }
+ *
+ */
+ public void setRelationshipList(RelationshipList value) {
+ this.relationshipList = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/VolumeGroups.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/VolumeGroups.java
new file mode 100644
index 0000000..cf80b31
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/VolumeGroups.java
@@ -0,0 +1,81 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}volume-group" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "volumeGroup"
+})
+@XmlRootElement(name = "volume-groups")
+public class VolumeGroups
+ implements AAIDatum
+{
+
+ @XmlElement(name = "volume-group")
+ protected List<VolumeGroup> volumeGroup;
+
+ /**
+ * Gets the value of the volumeGroup property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the volumeGroup property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getVolumeGroup().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link VolumeGroup }
+ *
+ *
+ */
+ public List<VolumeGroup> getVolumeGroup() {
+ if (volumeGroup == null) {
+ volumeGroup = new ArrayList<VolumeGroup>();
+ }
+ return this.volumeGroup;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Volumes.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Volumes.java
new file mode 100644
index 0000000..f429a2e
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Volumes.java
@@ -0,0 +1,79 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}volume" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "volume"
+})
+@XmlRootElement(name = "volumes")
+public class Volumes
+ implements AAIDatum
+{
+
+ protected List<Volume> volume;
+
+ /**
+ * Gets the value of the volume property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the volume property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getVolume().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link Volume }
+ *
+ *
+ */
+ public List<Volume> getVolume() {
+ if (volume == null) {
+ volume = new ArrayList<Volume>();
+ }
+ return this.volume;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Vserver.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Vserver.java
new file mode 100644
index 0000000..f011042
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Vserver.java
@@ -0,0 +1,337 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element name="vserver-id" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="vserver-name" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="vserver-name2" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="prov-status" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element name="vserver-selflink" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
+ * &lt;element name="in-maint" type="{http://www.w3.org/2001/XMLSchema}boolean"/&gt;
+ * &lt;element name="is-closed-loop-disabled" type="{http://www.w3.org/2001/XMLSchema}boolean"/&gt;
+ * &lt;element name="resource-version" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}volumes" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}relationship-list" minOccurs="0"/&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}l-interfaces" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "vserverId",
+ "vserverName",
+ "vserverName2",
+ "provStatus",
+ "vserverSelflink",
+ "inMaint",
+ "isClosedLoopDisabled",
+ "resourceVersion",
+ "volumes",
+ "relationshipList",
+ "lInterfaces"
+})
+@XmlRootElement(name = "vserver")
+public class Vserver
+ implements AAIDatum
+{
+
+ @XmlElement(name = "vserver-id", required = true)
+ protected String vserverId;
+ @XmlElement(name = "vserver-name", required = true)
+ protected String vserverName;
+ @XmlElement(name = "vserver-name2")
+ protected String vserverName2;
+ @XmlElement(name = "prov-status")
+ protected String provStatus;
+ @XmlElement(name = "vserver-selflink", required = true)
+ protected String vserverSelflink;
+ @XmlElement(name = "in-maint")
+ protected boolean inMaint;
+ @XmlElement(name = "is-closed-loop-disabled")
+ protected boolean isClosedLoopDisabled;
+ @XmlElement(name = "resource-version")
+ protected String resourceVersion;
+ protected Volumes volumes;
+ @XmlElement(name = "relationship-list")
+ protected RelationshipList relationshipList;
+ @XmlElement(name = "l-interfaces")
+ protected LInterfaces lInterfaces;
+
+ /**
+ * Gets the value of the vserverId property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getVserverId() {
+ return vserverId;
+ }
+
+ /**
+ * Sets the value of the vserverId property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setVserverId(String value) {
+ this.vserverId = value;
+ }
+
+ /**
+ * Gets the value of the vserverName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getVserverName() {
+ return vserverName;
+ }
+
+ /**
+ * Sets the value of the vserverName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setVserverName(String value) {
+ this.vserverName = value;
+ }
+
+ /**
+ * Gets the value of the vserverName2 property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getVserverName2() {
+ return vserverName2;
+ }
+
+ /**
+ * Sets the value of the vserverName2 property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setVserverName2(String value) {
+ this.vserverName2 = value;
+ }
+
+ /**
+ * Gets the value of the provStatus property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getProvStatus() {
+ return provStatus;
+ }
+
+ /**
+ * Sets the value of the provStatus property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setProvStatus(String value) {
+ this.provStatus = value;
+ }
+
+ /**
+ * Gets the value of the vserverSelflink property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getVserverSelflink() {
+ return vserverSelflink;
+ }
+
+ /**
+ * Sets the value of the vserverSelflink property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setVserverSelflink(String value) {
+ this.vserverSelflink = value;
+ }
+
+ /**
+ * Gets the value of the inMaint property.
+ *
+ */
+ public boolean isInMaint() {
+ return inMaint;
+ }
+
+ /**
+ * Sets the value of the inMaint property.
+ *
+ */
+ public void setInMaint(boolean value) {
+ this.inMaint = value;
+ }
+
+ /**
+ * Gets the value of the isClosedLoopDisabled property.
+ *
+ */
+ public boolean isIsClosedLoopDisabled() {
+ return isClosedLoopDisabled;
+ }
+
+ /**
+ * Sets the value of the isClosedLoopDisabled property.
+ *
+ */
+ public void setIsClosedLoopDisabled(boolean value) {
+ this.isClosedLoopDisabled = value;
+ }
+
+ /**
+ * Gets the value of the resourceVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ /**
+ * Sets the value of the resourceVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResourceVersion(String value) {
+ this.resourceVersion = value;
+ }
+
+ /**
+ * Gets the value of the volumes property.
+ *
+ * @return
+ * possible object is
+ * {@link Volumes }
+ *
+ */
+ public Volumes getVolumes() {
+ return volumes;
+ }
+
+ /**
+ * Sets the value of the volumes property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Volumes }
+ *
+ */
+ public void setVolumes(Volumes value) {
+ this.volumes = value;
+ }
+
+ /**
+ * Gets the value of the relationshipList property.
+ *
+ * @return
+ * possible object is
+ * {@link RelationshipList }
+ *
+ */
+ public RelationshipList getRelationshipList() {
+ return relationshipList;
+ }
+
+ /**
+ * Sets the value of the relationshipList property.
+ *
+ * @param value
+ * allowed object is
+ * {@link RelationshipList }
+ *
+ */
+ public void setRelationshipList(RelationshipList value) {
+ this.relationshipList = value;
+ }
+
+ /**
+ * Gets the value of the lInterfaces property.
+ *
+ * @return
+ * possible object is
+ * {@link LInterfaces }
+ *
+ */
+ public LInterfaces getLInterfaces() {
+ return lInterfaces;
+ }
+
+ /**
+ * Sets the value of the lInterfaces property.
+ *
+ * @param value
+ * allowed object is
+ * {@link LInterfaces }
+ *
+ */
+ public void setLInterfaces(LInterfaces value) {
+ this.lInterfaces = value;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Vservers.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Vservers.java
new file mode 100644
index 0000000..a56b8af
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/Vservers.java
@@ -0,0 +1,79 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+
+package org.openecomp.aai.inventory.v8;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://org.openecomp.aai.inventory/v8}vserver" maxOccurs="unbounded" minOccurs="0"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "vserver"
+})
+@XmlRootElement(name = "vservers")
+public class Vservers
+ implements AAIDatum
+{
+
+ protected List<Vserver> vserver;
+
+ /**
+ * Gets the value of the vserver property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the vserver property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getVserver().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link Vserver }
+ *
+ *
+ */
+ public List<Vserver> getVserver() {
+ if (vserver == null) {
+ vserver = new ArrayList<Vserver>();
+ }
+ return this.vserver;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/package-info.java b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/package-info.java
new file mode 100644
index 0000000..3876eed
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/aai/inventory/v8/package-info.java
@@ -0,0 +1,9 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2017.02.14 at 01:05:25 PM EST
+//
+
+@javax.xml.bind.annotation.XmlSchema(namespace = "http://org.openecomp.aai.inventory/v8", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
+package org.openecomp.aai.inventory.v8;
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIClient.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIClient.java
new file mode 100644
index 0000000..3217139
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIClient.java
@@ -0,0 +1,150 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import java.net.URL;
+import java.util.Map;
+
+import org.openecomp.sdnc.sli.SvcLogicContext;
+import org.openecomp.sdnc.sli.SvcLogicException;
+import org.openecomp.sdnc.sli.SvcLogicJavaPlugin;
+import org.openecomp.sdnc.sli.SvcLogicResource;
+import org.openecomp.sdnc.sli.SvcLogicResource.QueryStatus;
+import org.openecomp.sdnc.sli.aai.data.notify.NotifyEvent;
+import org.openecomp.sdnc.sli.aai.data.v1507.VServer;
+import org.openecomp.sdnc.sli.aai.update.Update;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import org.openecomp.aai.inventory.v8.AvailabilityZone;
+import org.openecomp.aai.inventory.v8.GenericVnf;
+import org.openecomp.aai.inventory.v8.L3Network;
+import org.openecomp.aai.inventory.v8.PInterface;
+import org.openecomp.aai.inventory.v8.PhysicalLink;
+import org.openecomp.aai.inventory.v8.Pserver;
+import org.openecomp.aai.inventory.v8.SearchResults;
+import org.openecomp.aai.inventory.v8.Service;
+import org.openecomp.aai.inventory.v8.ServiceInstance;
+import org.openecomp.aai.inventory.v8.Tenant;
+import org.openecomp.aai.inventory.v8.Vserver;
+
+public interface AAIClient extends SvcLogicResource, SvcLogicJavaPlugin {
+
+ // Service Inteface
+ public ServiceInstance requestServiceInterfaceData(String svc_instance_id) throws AAIServiceException;
+ public ServiceInstance requestServiceInterfaceData(String customer_id, String service_type, String svc_instance_id) throws AAIServiceException;
+ public boolean postServiceInterfaceData(String customer_id, String service_type, String svc_instance_id, ServiceInstance request) throws AAIServiceException;
+ public SearchResults requestServiceInstanceURL(String svc_instance_id) throws AAIServiceException;
+
+ // VServers
+ public Vserver requestVServerData(String tenant_id, String vserver_id, String cloudOwner, String cloudRegionId) throws AAIServiceException;
+ public boolean postVServerData(String tenantId, String vserverId, String cloudOwner, String cloudRegionId, Vserver request) throws AAIServiceException;
+ public boolean deleteVServerData(String tenant_id, String vserver_id, String cloudOwner, String cloudRegionId, String resourceVersion) throws AAIServiceException;
+
+ public URL requestVserverURLNodeQuery(String vserver_name) throws AAIServiceException;
+ public String getTenantIdFromVserverUrl(URL url);
+ public String getCloudOwnerFromVserverUrl(URL url);
+ public String getCloudRegionFromVserverUrl(URL url);
+ public String getVServerIdFromVserverUrl(URL url, String tennantId);
+ public Vserver requestVServerDataByURL(URL url) throws AAIServiceException;
+
+ // --------------------------------- 1507 ---------------------------
+ // Data Change
+ public VServer dataChangeRequestVServerData(URL url) throws AAIServiceException;
+
+ public Pserver dataChangeRequestPServerData(URL url) throws AAIServiceException;
+
+ //Availability-Zone:
+ public AvailabilityZone dataChangeRequestAvailabilityZoneData(URL url) throws AAIServiceException;
+
+ /* DELETE */
+ public boolean dataChangeDeleteVServerData(URL url) throws AAIServiceException;
+
+ public boolean dataChangeDeleteCtagPoolData(URL url) throws AAIServiceException;
+
+ public boolean dataChangeDeleteVplsPeData(URL url) throws AAIServiceException;
+
+ public boolean dataChangeDeleteVpeData(URL url) throws AAIServiceException;
+
+ public boolean dataChangeDeleteDvsSwitchData(URL url) throws AAIServiceException;
+ //OAM-Network:
+ public boolean dataChangeDeleteOAMNetworkData(URL url) throws AAIServiceException;
+ //Availability-Zone:
+ public boolean dataChangeDeleteAvailabilityZoneData(URL url) throws AAIServiceException;
+ //Complex:
+ public boolean dataChangeDeleteComplexData(URL url) throws AAIServiceException;
+
+ // ----------------- Release 1510 ----------------------
+ // // GenericVNF
+ public GenericVnf requestGenericVnfData(String vnf_id) throws AAIServiceException;
+ public boolean postGenericVnfData(String vnf_id, GenericVnf request) throws AAIServiceException;
+ public boolean deleteGenericVnfData(String vnf_id, String resourceVersion) throws AAIServiceException;
+
+ // PInterface
+ public PInterface requestPInterfaceData(String hostname, String interfaceName) throws AAIServiceException;
+ public boolean postPInterfaceData(String hostname, String interfaceName, PInterface request) throws AAIServiceException;
+ public boolean deletePInterfaceData(String hostname, String interfaceName, String resourceVersion) throws AAIServiceException;
+
+ // Physical Link
+ public PhysicalLink requestPhysicalLinkData(String vnf_id) throws AAIServiceException;
+ public boolean postPhysicalLinkData(String vnf_id, PhysicalLink request) throws AAIServiceException;
+ public boolean deletePhysicalLinkData(String vnf_id, String resourceVersion) throws AAIServiceException;
+
+ // PServers
+ public Pserver requestPServerData(String hostname) throws AAIServiceException;
+ public boolean postPServerData(String hostname, Pserver server) throws AAIServiceException;
+ public boolean deletePServerData(String hostname, String resourceVersion) throws AAIServiceException;
+
+ // L3Networks
+ public L3Network requestL3NetworkData(String networkId) throws AAIServiceException;
+ public L3Network requestL3NetworkQueryByName(String networkId) throws AAIServiceException;
+ public boolean postL3NetworkData(String networkId, L3Network request) throws AAIServiceException;
+ public boolean deleteL3NetworkData(String networkId, String resourceVersion) throws AAIServiceException;
+
+ // UBB Notify
+ public boolean sendNotify(NotifyEvent event, String serviceInstanceId, String pathCode) throws AAIServiceException;
+
+ // Services
+ public Service requestServiceData(String serviceId) throws AAIServiceException;
+ public boolean postServiceData(String serviceId, Service request) throws AAIServiceException;
+ public boolean deleteServiceData(String serviceId, String resourceVersion) throws AAIServiceException;
+
+ // Node Query - 1602
+ public SearchResults requestNodeQuery(String type, String entityIdentifier, String entityName) throws AAIServiceException;
+ public String requestDataByURL(URL url) throws AAIServiceException;
+// public Object requestDataInstanceNodeQuery(String type, String vnf_name) throws AAIServiceException;
+ public GenericVnf requestGenericVnfeNodeQuery(String vnf_name) throws AAIServiceException;
+
+ // // tenant
+ public Tenant requestTenantData(String tenant_id, String cloudOwner, String cloudRegionId) throws AAIServiceException;
+ public Tenant requestTenantDataByName(String tenant_name, String cloudOwner, String cloudRegionId) throws AAIServiceException;
+ public boolean postTenantData(String tenant_id, String cloudOwner, String cloudRegionId, Tenant request) throws AAIServiceException;
+// public boolean deleteGenericVnfData(String vnf_id, String resourceVersion) throws AAIServiceException;
+
+ public boolean updateAnAIEntry(Update entity) throws AAIServiceException;
+
+ public QueryStatus backup(Map<String, String> params, SvcLogicContext ctx) throws SvcLogicException;
+ public QueryStatus restore(Map<String, String> params, SvcLogicContext ctx) throws SvcLogicException;
+
+ public void logKeyError(String keys);
+ ObjectMapper getObjectMapper();
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIDeclarations.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIDeclarations.java
new file mode 100644
index 0000000..b21ad57
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIDeclarations.java
@@ -0,0 +1,1946 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import java.io.UnsupportedEncodingException;
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.SortedSet;
+import java.util.TreeSet;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import javax.xml.bind.annotation.XmlType;
+
+import org.apache.commons.lang3.StringUtils;
+import org.openecomp.sdnc.sli.SvcLogicContext;
+import org.openecomp.sdnc.sli.SvcLogicException;
+import org.openecomp.sdnc.sli.aai.AAIService.AAIRequestExecutor;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+import org.openecomp.sdnc.sli.aai.query.InstanceFilter;
+import org.openecomp.sdnc.sli.aai.query.InstanceFilters;
+import org.openecomp.sdnc.sli.aai.query.NamedQuery;
+import org.openecomp.sdnc.sli.aai.query.NamedQueryData;
+import org.openecomp.sdnc.sli.aai.query.QueryParameters;
+import org.openecomp.sdnc.sli.aai.update.Action;
+import org.openecomp.sdnc.sli.aai.update.ActionDatum;
+import org.openecomp.sdnc.sli.aai.update.Update;
+import org.openecomp.sdnc.sli.aai.update.UpdateNodeKey;
+import org.slf4j.Logger;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import org.openecomp.aai.inventory.v8.GenericVnf;
+import org.openecomp.aai.inventory.v8.InventoryResponseItem;
+import org.openecomp.aai.inventory.v8.InventoryResponseItems;
+import org.openecomp.aai.inventory.v8.LogicalLink;
+import org.openecomp.aai.inventory.v8.Metadata;
+import org.openecomp.aai.inventory.v8.Metadatum;
+import org.openecomp.aai.inventory.v8.Pnf;
+import org.openecomp.aai.inventory.v8.Relationship;
+import org.openecomp.aai.inventory.v8.RelationshipData;
+import org.openecomp.aai.inventory.v8.RelationshipList;
+import org.openecomp.aai.inventory.v8.ResultData;
+import org.openecomp.aai.inventory.v8.SearchResults;
+import org.openecomp.aai.inventory.v8.Vlan;
+import org.openecomp.aai.inventory.v8.Vlans;
+import org.openecomp.aai.inventory.v8.Vserver;
+
+
+public abstract class AAIDeclarations implements AAIClient {
+
+ public static final String TRUSTSTORE_PATH = "org.openecomp.sdnc.sli.aai.ssl.trust";
+ public static final String TRUSTSTORE_PSSWD = "org.openecomp.sdnc.sli.aai.ssl.trust.psswd";
+ public static final String KEYSTORE_PATH = "org.openecomp.sdnc.sli.aai.ssl.key";
+ public static final String KEYSTORE_PSSWD = "org.openecomp.sdnc.sli.aai.ssl.key.psswd";
+
+ public static final String CLIENT_NAME = "org.openecomp.sdnc.sli.aai.client.name";
+ public static final String CLIENT_PWWD = "org.openecomp.sdnc.sli.aai.client.psswd";
+
+ public static final String APPLICATION_ID = "org.openecomp.sdnc.sli.aai.application";
+
+ public static final String CONNECTION_TIMEOUT = "connection.timeout";
+ public static final String READ_TIMEOUT = "read.timeout";
+
+ public static final String TARGET_URI = "org.openecomp.sdnc.sli.aai.uri";
+
+ // Availability zones query
+ public static final String QUERY_PATH = "org.openecomp.sdnc.sli.aai.path.query";
+
+ // Update
+ public static final String UPDATE_PATH = "org.openecomp.sdnc.sli.aai.update";
+
+ // VCE
+ public static final String NETWORK_VCE_PATH = "org.openecomp.sdnc.sli.aai.path.vce";
+
+ // VPE
+ public static final String NETWORK_VPE_PATH = "org.openecomp.sdnc.sli.aai.path.vpe";
+
+ // VPLS-PE
+ public static final String NETWORK_VPLS_PE_PATH = "org.openecomp.sdnc.sli.aai.path.vpls.pe";
+
+ // Service instance
+ public static final String SVC_INSTANCE_PATH = "org.openecomp.sdnc.sli.aai.path.svcinst";
+ public static final String SVC_INST_QRY_PATH = "org.openecomp.sdnc.sli.aai.path.svcinst.query";
+
+ // customer
+ public static final String CUSTOMER_PATH = "org.openecomp.sdnc.sli.aai.path.customer";
+
+ // Complexes
+ public static final String NETWORK_COMPLEX_PATH = "org.openecomp.sdnc.sli.aai.path.complex";
+
+ // PServer
+ public static final String NETWORK_PSERVER_PATH = "org.openecomp.sdnc.sli.aai.path.pserver";
+
+ // VServer
+ public static final String NETWORK_VSERVER_PATH = "org.openecomp.sdnc.sli.aai.path.vserver";
+
+ // DVS Seitch
+ public static final String NETWORK_DVSSWITCH_PATH = "org.openecomp.sdnc.sli.aai.path.dvsswitch";
+
+ // GENERIC VNF
+ public static final String GENERIC_VNF_PATH = "org.openecomp.sdnc.sli.aai.path.generic.vnf";
+
+ // CTAG Pool
+ public static final String CTAG_POOLS_PATH = "org.openecomp.sdnc.sli.aai.path.ctag.pools";
+ public static final String CTAG_POOL_PATH = "org.openecomp.sdnc.sli.aai.path.ctag.pool";
+
+ // L3 Network
+ public static final String L3_NETWORK_PATH = "org.openecomp.sdnc.sli.aai.path.l3network";
+ public static final String L3_NETWORK_PATH_QUERY_NAME = "org.openecomp.sdnc.sli.aai.path.l3network.query.name";
+
+ // VPN Bindings
+ public static final String VPN_BINDING_PATH = "org.openecomp.sdnc.sli.aai.path.vpn.binding";
+
+ public static final String VNF_IMAGE_PATH = "org.openecomp.sdnc.sli.aai.path.vnf.image";
+ public static final String VNF_IMAGE_QUERY_PATH = "org.openecomp.sdnc.sli.aai.path.vnf.image.query";
+
+ public static final String QUERY_FORMAT = "org.openecomp.sdnc.sli.aai.param.format";
+ public static final String PARAM_VNF_TYPE = "org.openecomp.sdnc.sli.aai.param.vnf_type";
+ public static final String PARAM_PHYS_LOC_ID = "org.openecomp.sdnc.sli.aai.param.physical.location.id";
+ public static final String PARAM_SERVICE_TYPE = "org.openecomp.sdnc.sli.aai.param.service.type";
+ public static final String CERTIFICATE_HOST_ERROR = "org.openecomp.sdnc.sli.aai.host.certificate.ignore";
+
+ // UBB Notify
+ public static final String UBB_NOTIFY_PATH = "org.openecomp.sdnc.sli.aai.path.notify";
+ public static final String SELFLINK_AVPN = "org.openecomp.sdnc.sli.aai.notify.selflink.avpn";
+ public static final String SELFLINK_FQDN = "org.openecomp.sdnc.sli.aai.notify.selflink.fqdn";
+
+ //Service
+ public static final String SERVICE_PATH = "org.openecomp.sdnc.sli.aai.path.service";
+
+ // P-Interfaces
+ public static final String P_INTERFACE_PATH = "org.openecomp.sdnc.sli.aai.path.pserver.pinterface";
+
+ // Physical Link
+ public static final String PHYSICAL_LINK_PATH = "org.openecomp.sdnc.sli.aai.path.physical.link";
+
+ // site-pair-sets
+ public static final String SITE_PAIR_SET_PATH = "org.openecomp.sdnc.sli.aai.path.site.pair.set";
+
+ // node query (1602)
+ public static final String QUERY_NODES_PATH = "org.openecomp.sdnc.sli.aai.query.nodes";
+
+
+ protected abstract Logger getLogger();
+ public abstract AAIRequestExecutor getExecutor();
+
+
+ @Override
+ public QueryStatus query(String resource, boolean localOnly, String select, String key, String prefix, String orderBy, SvcLogicContext ctx)
+ throws SvcLogicException {
+
+ getLogger().debug("AAIService.query \tresource = "+resource);
+
+ String vnfId = null;
+ String vnfName = null;
+ HashMap<String, String> nameValues = keyToHashMap(key, ctx);
+ getLogger().debug("key = "+ nameValues.toString());
+
+ // process data using new model
+ boolean useNewModelProcessing = true;
+ // process server query by name the old way
+ if(("vserver".equals(resource) || "vserver2".equals(resource))){
+ if(nameValues.containsKey("vserver_name") || nameValues.containsKey("vserver-name"))
+ useNewModelProcessing = false;
+ }
+ if("generic-vnf".equals(resource)){
+ if(nameValues.containsKey("vnf_name") || nameValues.containsKey("vnf-name"))
+ useNewModelProcessing = false;
+ }
+
+ // process data using new model
+ if(useNewModelProcessing && AAIRequest.createRequest(resource, nameValues) != null) {
+
+ try {
+ return newModelQuery(resource, localOnly, select, key, prefix, orderBy, ctx);
+ } catch (Exception exc) {
+ getLogger().warn("Failed query - returning FAILURE", exc);
+ return QueryStatus.FAILURE;
+ }
+ }
+
+ ObjectMapper mapper = getObjectMapper();
+ Map<String,Object> attributes = new HashMap<String,Object>();
+
+ String modifier = null;
+
+ if(resource.contains(":")) {
+ String[] tokens = resource.split(":");
+ resource = tokens[0];
+ if(tokens.length > 1) {
+ modifier = tokens[1];
+ }
+ }
+
+ resource = resource.toLowerCase().replace("-", "_");
+
+ try {
+
+ switch(resource) {
+ case "generic_vnf":
+ vnfId = nameValues.get("vnf_id");
+ vnfName = nameValues.get("vnf_name");
+ if(vnfId != null && !vnfId.isEmpty()) {
+ // at this point of the project this part should not be executed
+ vnfId = vnfId.trim().replace("'", "").replace("$", "").replace("'", "");
+ GenericVnf vnf = this.requestGenericVnfData(vnfId);
+ if(vnf == null) {
+ return QueryStatus.NOT_FOUND;
+ }
+
+ attributes = mapper.convertValue(vnf, attributes.getClass());
+ } else if(vnfName != null && !vnfName.isEmpty()) {
+ try {
+ vnfName = vnfName.trim().replace("'", "").replace("$", "").replace("'", "");
+ GenericVnf vnf = this.requestGenericVnfeNodeQuery(vnfName);
+ if(vnf == null) {
+ return QueryStatus.NOT_FOUND;
+ }
+ vnfId=vnf.getVnfId();
+ nameValues.put("vnf_id", vnfId);
+ attributes = mapper.convertValue(vnf, attributes.getClass());
+ } catch (AAIServiceException exc) {
+ int errorCode = exc.getReturnCode();
+ switch(errorCode) {
+ case 400:
+ case 404:
+ case 412:
+ break;
+ default:
+ getLogger().warn("Caught exception trying to refresh generic VNF", exc);
+ }
+ ctx.setAttribute(prefix + ".error.message", exc.getMessage());
+ if(errorCode >= 300) {
+ ctx.setAttribute(prefix + ".error.http.response-code", "" + exc.getReturnCode());
+ }
+ return QueryStatus.FAILURE;
+ }
+ } else {
+ getLogger().warn("No arguments are available to process generic VNF");
+ return QueryStatus.FAILURE;
+ }
+ break;
+ case "vserver":
+ case "vserver2":
+ String vserverName = nameValues.get("vserver_name");
+ String vserverId = nameValues.get("vserver_id");
+ String tenantId = nameValues.get("teannt_id");
+
+ if(vserverName != null) vserverName = vserverName.trim().replace("'", "").replace("$", "").replace("'", "");
+ if(vserverId != null) vserverId = vserverId.trim().replace("'", "").replace("$", "").replace("'", "");
+ if(tenantId != null) tenantId = tenantId.trim().replace("'", "").replace("$", "").replace("'", "");
+
+ if(vserverName != null) {
+ try {
+// add cloud region to return data
+ URL vserverUrl = this.requestVserverURLNodeQuery(vserverName);
+ if(vserverUrl == null) {
+ return QueryStatus.NOT_FOUND;
+ }
+
+ tenantId = getTenantIdFromVserverUrl(vserverUrl);
+ String cloudOwner = getCloudOwnerFromVserverUrl(vserverUrl);
+ String cloudRegionId = getCloudRegionFromVserverUrl(vserverUrl);
+
+ Vserver vserver = this.requestVServerDataByURL(vserverUrl);
+ if(vserver == null) {
+ return QueryStatus.NOT_FOUND;
+ }
+ attributes = mapper.convertValue(vserver, attributes.getClass());
+ if(!attributes.containsKey("tenant-id") && tenantId != null){
+ attributes.put("tenant-id", tenantId);
+ }
+ if(!attributes.containsKey("cloud-owner") && cloudOwner != null){
+ attributes.put("cloud-owner", cloudOwner);
+ }
+ if(!attributes.containsKey("cloud-region-id") && cloudRegionId != null){
+ attributes.put("cloud-region-id", cloudRegionId);
+ }
+ } catch (AAIServiceException e) {
+ getLogger().warn("Caught exception trying to refresh generic VNF", e);
+ }
+ } else if(vserverId != null && tenantId != null) {
+ Vserver vserver = this.requestVServerData(tenantId, vserverId, "att-aic", "AAIAIC25");
+ if(vserver == null) {
+ return QueryStatus.NOT_FOUND;
+ }
+ attributes = mapper.convertValue(vserver, attributes.getClass());
+ if(!attributes.containsKey("tenant-id") && tenantId != null){
+ attributes.put("tenant-id", tenantId);
+ }
+ } else {
+ return QueryStatus.FAILURE;
+ }
+ break;
+
+ default:
+ return QueryStatus.FAILURE;
+ }
+
+ QueryStatus retval = QueryStatus.SUCCESS;
+
+ if (attributes == null || attributes.isEmpty()) {
+ retval = QueryStatus.NOT_FOUND;
+ getLogger().debug("No data found");
+ } else {
+ if (ctx != null) {
+ if (prefix != null) {
+ ArrayList<String> keys = new ArrayList<String>(attributes.keySet());
+
+ int numCols = keys.size();
+
+ for (int i = 0; i < numCols; i++) {
+ String colValue = null;
+ String colName = keys.get(i);
+ Object object = attributes.get(colName);
+
+ if(object != null && object instanceof String) {
+ colValue = (String)object;
+
+ if (prefix != null) {
+ getLogger().debug("Setting "+prefix + "." + colName.replaceAll("_", "-")+" = "+ colValue);
+ ctx.setAttribute(prefix + "." + colName.replaceAll("_", "-"), colValue);
+ } else {
+ getLogger().debug("Setting " + colValue.replaceAll("_", "-")+" = "+colValue);
+ ctx.setAttribute(colValue.replaceAll("_", "-"), colValue);
+ }
+ } else if(object != null && object instanceof Map) {
+ if(colName.equals(modifier) || colName.equals("relationship-list")){
+ String localNodifier = modifier;
+ if(localNodifier == null)
+ localNodifier = "relationship-list";
+ Map<String, Object> properties = (Map<String, Object>)object;
+ writeMap(properties, prefix+"."+localNodifier, ctx);
+ }
+ }
+ }
+ }
+ }
+ }
+ getLogger().debug("Query - returning " + retval);
+ return (retval);
+
+ } catch (Exception exc) {
+ getLogger().warn("Failed query - returning FAILURE", exc);
+ return QueryStatus.FAILURE;
+ }
+
+// return QueryStatus.SUCCESS;
+ }
+
+ public void writeMap(Map<String, Object> properties, String prefix, SvcLogicContext ctx) {
+ Set<String> mapKeys = properties.keySet();
+
+ for(String mapKey : mapKeys) {
+ Object entity = properties.get(mapKey);
+ if(entity instanceof ArrayList) {
+ writeList((ArrayList<?>)entity, prefix + "." + mapKey, ctx);
+ } else
+ if(entity instanceof String) {
+ ctx.setAttribute(prefix + "." + mapKey, entity.toString());
+ getLogger().debug(prefix + "." + mapKey + " : " + entity.toString());
+ } else
+ if(entity instanceof Map) {
+ String localPrefix = prefix;
+ if(mapKey != null) {
+ localPrefix = String.format("%s.%s", prefix, mapKey);
+ }
+ writeMap( (Map<String, Object>)entity, localPrefix, ctx);
+ }
+ }
+ }
+
+ private void writeList(ArrayList<?> list, String prefix, SvcLogicContext ctx) {
+ for(int i = 0; i < list.size(); i++ ) {
+ Object entity = list.get(i);
+ if(entity instanceof Map) {
+ writeMap( (Map<String, Object>)entity, prefix + "[" + i + "]", ctx);
+ } else
+ if(entity instanceof String) {
+ ctx.setAttribute(prefix, entity.toString());
+ getLogger().debug(prefix + " : " + entity.toString());
+ }
+ }
+
+ if(list.size() > 0) {
+ ctx.setAttribute(prefix + "_length", Integer.toString(list.size()));
+ getLogger().debug(prefix + "_length" + " : " + Integer.toString(list.size()));
+ }
+ }
+
+ @Override
+ public QueryStatus save(String resource, boolean force, boolean localOnly, String key, Map<String, String> params, String prefix, SvcLogicContext ctx)
+ throws SvcLogicException {
+
+ getLogger().debug("AAIService.save\tresource="+resource);
+
+ if(resource == null || resource.isEmpty()) {
+ getLogger().warn("AAIService.save has unspecified resource");
+ return QueryStatus.FAILURE;
+ }
+ // keys passed
+ HashMap<String, String> nameValues = keyToHashMap(key, ctx);
+ getLogger().debug("key = "+ Arrays.toString(nameValues.entrySet().toArray()));
+
+ // process params
+ if(params.containsKey("prefix")) {
+ Map<String, String> tmpParams = ctxGetBeginsWith(ctx, params.get("prefix"));
+ if(!tmpParams.isEmpty()) {
+ params.putAll(tmpParams);
+// params.remove("prefix");
+ }
+ }
+ // params passed
+ getLogger().debug("parms = "+ Arrays.toString(params.entrySet().toArray()));
+
+
+ boolean useNewModelProcessing = true;
+ // process server query by name the old way
+ if(("vserver".equals(resource) || "vserver2".equals(resource))){
+ if(nameValues.containsKey("vserver-name")) {
+ useNewModelProcessing = false;
+ }
+
+ if(!params.containsKey("vserver-selflink")) {
+
+ AAIRequest request = AAIRequest.createRequest(resource, nameValues);
+ URL path = null;
+ try {
+ request.processRequestPathValues(nameValues);
+ path = request.getRequestUrl("GET", null);
+ params.put("vserver-selflink", path.toString());
+ } catch (UnsupportedEncodingException | MalformedURLException e) {
+ params.put("vserver-selflink", "/vserver");
+ }
+ }
+ }
+
+ // process data using new model
+ if(useNewModelProcessing && AAIRequest.createRequest(resource, nameValues) != null) {
+
+ try {
+ if(!resource.contains(":")){
+ return newModelSave(resource, force, key, params, prefix, ctx);
+ } else {
+ String[] tokens = resource.split(":");
+ String localResource = tokens[0];
+ String dependency = tokens[1];
+ // get the object
+ AAIDatum instance = newModelObjectRequest( localResource, nameValues, prefix, ctx);
+ if(instance == null) {
+ return QueryStatus.NOT_FOUND;
+ }
+
+ switch(dependency){
+ case "relationship-list":
+ newModelProcessRelationshipList(instance, params, prefix, ctx);
+ break;
+ }
+ // create a method to update relationship-list
+ AAIRequest request = AAIRequest.createRequest(localResource, nameValues);
+ request.setRequestObject(instance);
+ request.processRequestPathValues(nameValues);
+
+ if(getExecutor().post(request) == true) {
+ getLogger().debug("Save relationship list - returning SUCCESS");
+ return QueryStatus.SUCCESS;
+ } else {
+ getLogger().debug("Save relationship list - returning FAILURE");
+ return QueryStatus.FAILURE;
+ }
+ }
+ } catch (Exception exc) {
+ ctx.setAttribute(prefix + ".error.message", exc.getMessage());
+ if(exc instanceof AAIServiceException) {
+ AAIServiceException aaiexc = (AAIServiceException)exc;
+ if(aaiexc.getReturnCode() >= 300) {
+ ctx.setAttribute(prefix + ".error.http.response-code", "" + aaiexc.getReturnCode());
+ }
+
+ if(aaiexc.getReturnCode() == 404) {
+ return QueryStatus.NOT_FOUND;
+ }
+ }
+ getLogger().warn("Failed save() - returning FAILURE", exc);
+ return QueryStatus.FAILURE;
+ }
+ } else {
+ String reSource = resource.toLowerCase().replace("-", "_");
+ String vnfId = null;
+
+ try {
+ switch(reSource) {
+ case "generic_vnf":
+ case "generic-vnf":
+ vnfId = nameValues.get("vnf_id");
+ if(vnfId == null) {
+ getLogger().debug("Save(generic-vnf) with no vnf-id specified. Returning FAILURE");
+ return QueryStatus.FAILURE;
+ }
+ vnfId = vnfId.trim().replace("'", "").replace("$", "").replace("'", "");
+ GenericVnf vnf = this.requestGenericVnfData(vnfId);
+ String status = params.get("prov-status");
+ boolean updated = false;
+ if(status != null && !status.isEmpty()) {
+ vnf.setProvStatus(status);
+ }
+ if(updated) {
+ this.postGenericVnfData(vnfId, vnf);
+ }
+ break;
+ case "vpe":
+ return update( resource, key, params, prefix, ctx) ;
+
+ default:
+ getLogger().debug("Save() executing default path - returning FAILURE");
+ return QueryStatus.FAILURE;
+ }
+ } catch (Exception exc) {
+ getLogger().warn("Failed save - returning FAILURE", exc);
+ ctx.setAttribute(prefix + ".error.message", exc.getMessage());
+ return QueryStatus.FAILURE;
+ }
+ }
+
+ getLogger().debug("Save - returning SUCCESS");
+ return QueryStatus.SUCCESS;
+ }
+
+ @Override
+ public QueryStatus update(String resource, String key, Map<String, String> parms, String prefix, SvcLogicContext ctx) throws SvcLogicException {
+
+ resource = resource.toLowerCase();
+ HashMap<String, String> nameValues = keyToHashMap(key, ctx);
+ getLogger().debug("key = "+ Arrays.toString(nameValues.entrySet().toArray()));
+ getLogger().debug("parms = "+ Arrays.toString(parms.entrySet().toArray()));
+
+ AAIRequest request = AAIRequest.createRequest(resource, nameValues);
+ if(request == null) {
+ if("generic-vnf".equals(resource)) {
+ request = new GenericVnfRequest();
+ }
+ }
+
+ String resourceType = resource;
+ if(request != null) {
+ resourceType = request.getPrimaryResourceName(resource);
+ }
+
+ try {
+ Update update = new Update();
+ update.setUpdateNodeType(resourceType);
+
+ List<UpdateNodeKey> updateNodeKeyList = update.getUpdateNodeKey();
+ if(updateNodeKeyList == null) {
+ updateNodeKeyList = new ArrayList<UpdateNodeKey>();
+ }
+
+ Set<String>keys = nameValues.keySet();
+
+ for(String argument: keys) {
+ if(nameValues.containsKey(argument)){
+ String value = nameValues.get(argument);
+ if(value != null && !value.isEmpty()) {
+ argument = argument.replaceAll("_", "-");
+ value = value.trim().replaceAll("'", "").replace("$", "").replace("'", "");
+ // set node key
+ UpdateNodeKey updateNodeKey = new UpdateNodeKey();
+ if(request != null)
+ updateNodeKey.setKeyName( request.formatKey(argument));
+ else
+ updateNodeKey.setKeyName(argument);
+ updateNodeKey.setKeyValue(value);
+
+ updateNodeKeyList.add(updateNodeKey);
+ }
+ }
+ }
+
+
+ // set actions
+ List<Action> actionList = update.getAction();
+ if(actionList == null) {
+ actionList = new ArrayList<Action>();
+ }
+ Action action = new Action();
+ action.setActionType("replace");
+
+ List<ActionDatum> actionData = action.getActionData();
+ if(actionData == null) {
+ actionData = new ArrayList<ActionDatum>();
+ }
+
+ keys = parms.keySet();
+
+ for(String name : keys) {
+ ActionDatum actionDatum = new ActionDatum();
+ actionDatum.setPropertyName(name);
+ String value = parms.get(name);
+ actionDatum.setPropertyValue(value);
+
+ actionData.add(actionDatum);
+ }
+
+ actionList.add(action);
+
+ this.updateAnAIEntry(update);
+ } catch(AAIServiceException aaiexc) {
+ if(aaiexc.getReturnCode() == 404)
+ return QueryStatus.NOT_FOUND;
+ else
+ return QueryStatus.FAILURE;
+ } catch (Exception exc) {
+ getLogger().warn("Failed update - returning FAILURE", exc);
+ return QueryStatus.FAILURE;
+ }
+
+ getLogger().debug("Update - returning SUCCESS");
+ return QueryStatus.SUCCESS;
+ }
+
+ @Override
+ public QueryStatus delete(String resource, String key, SvcLogicContext ctx) throws SvcLogicException {
+ HashMap<String, String> nameValues = keyToHashMap(key, ctx);
+ getLogger().debug("key = "+ Arrays.toString(nameValues.entrySet().toArray()));
+
+ if(AAIRequest.createRequest(resource, nameValues) != null) {
+ if(resource.contains(":")) {
+ return processDeleteRelationshipList(resource, key, ctx, nameValues);
+ }
+
+
+ try {
+ QueryStatus retval = QueryStatus.SUCCESS;
+
+ retval = newModelQuery(resource, false, null, key, "tmpDelete", null, ctx);
+
+ if(retval == null || retval != QueryStatus.SUCCESS) {
+ return retval;
+ }
+
+ String resourceVersion = ctx.getAttribute("tmpDelete.resource-version");
+ if(resourceVersion == null) {
+ return QueryStatus.NOT_FOUND;
+ }
+
+ try {
+ AAIRequest request = AAIRequest.createRequest(resource, nameValues);
+ if(request == null) {
+ return QueryStatus.FAILURE;
+ }
+
+ request.processRequestPathValues(nameValues);
+
+ if(getExecutor().delete(request, resourceVersion)) {
+ return QueryStatus.SUCCESS;
+ }
+ } catch(AAIServiceException aaiexc) {
+ if(aaiexc.getReturnCode() == 404)
+ return QueryStatus.NOT_FOUND;
+ else
+ return QueryStatus.FAILURE;
+
+ } catch (Exception exc) {
+ getLogger().warn("requestGenericVnfData", exc);
+ return QueryStatus.FAILURE;
+ }
+
+ } catch (Exception exc) {
+ getLogger().warn("Failed delete - returning FAILURE", exc);
+ return QueryStatus.FAILURE;
+ }
+ } else {
+ String resoourceName = resource;
+ String identifier = null;
+
+ if(resoourceName == null)
+ return QueryStatus.FAILURE;
+
+ if(resoourceName.contains(":")) {
+ String[] tokens = resoourceName.split(":");
+ if(tokens != null && tokens.length > 0) {
+ resoourceName = tokens[0];
+ identifier = tokens[1];
+ }
+ }
+ if("relationship-list".equals(identifier) || "relationshipList".equals(identifier)) {
+// RelationshipRequest relationshipRequest = new RelationshipRequest();
+ if("generic-vnf".equals(resoourceName)){
+ String vnfId = nameValues.get("vnf_id");
+ String relatedTo = nameValues.get("related_to");
+ vnfId = vnfId.trim().replace("'", "").replace("$", "").replace("'", "");
+ relatedTo = relatedTo.trim().replace("'", "").replace("$", "").replace("'", "");
+
+ GenericVnf vnf;
+ try {
+ vnf = this.requestGenericVnfData(vnfId);
+ if(vnf == null)
+ return QueryStatus.NOT_FOUND;
+ } catch (AAIServiceException exc) {
+ getLogger().warn("Failed delete - returning NOT_FOUND", exc);
+ return QueryStatus.NOT_FOUND;
+ }
+ boolean itemRemoved = false;
+ RelationshipList relationshipList = vnf.getRelationshipList();
+ List<Relationship> relationships = relationshipList.getRelationship();
+ List<Relationship> iterableList = new LinkedList<Relationship>(relationships);
+ for(Relationship relationship : iterableList) {
+ if(relationship.getRelatedTo().equals(relatedTo)) {
+ relationships.remove(relationship);
+ itemRemoved = true;
+ }
+ }
+
+ if(!itemRemoved)
+ return QueryStatus.NOT_FOUND;
+
+ try {
+ this.postGenericVnfData(vnf.getVnfId(), vnf);
+ } catch (AAIServiceException exc) {
+ if(exc.getReturnCode() == 404){
+ return QueryStatus.NOT_FOUND;
+ } else {
+ getLogger().warn("Failed delete - returning FAILURE", exc);
+ return QueryStatus.FAILURE;
+ }
+ }
+ return QueryStatus.SUCCESS;
+ }
+ }
+ }
+ return QueryStatus.FAILURE;
+ }
+
+ @Override
+ public QueryStatus exists(String resource, String key, String prefix, SvcLogicContext ctx) throws SvcLogicException {
+ return query(resource, false, null, key, prefix, null, ctx);
+ }
+
+ @Override
+ public QueryStatus isAvailable(String arg0, String arg1, String arg2, SvcLogicContext arg3)
+ throws SvcLogicException {
+ // TODO Auto-generated method stub
+ throw new SvcLogicException("Method AAIService.isAvailable() has not been implemented yet");
+ }
+
+ @Override
+ public QueryStatus notify(String resource, String action, String key, SvcLogicContext ctx) throws SvcLogicException {
+ // TODO Auto-generated method stub
+ throw new SvcLogicException("Method AAIService.notify() has not been implemented yet");
+ }
+
+// @Override
+ public QueryStatus newModelQuery(String resource, boolean localOnly, String select, String key, String prefix, String orderBy, SvcLogicContext ctx) {
+
+ Object response = null;
+ QueryStatus retval = QueryStatus.SUCCESS;
+ String modifier = null;
+
+ HashMap<String, String> nameValues = keyToHashMap(key, ctx);
+ if(resource.contains(":")) {
+ modifier = resource.split(":")[1];
+ }
+
+ try {
+ AAIRequest request = AAIRequest.createRequest(resource, nameValues);
+ if(request == null) {
+ return QueryStatus.FAILURE;
+ }
+
+ Map<String, String> params = new HashMap<String, String>();
+ request.processRequestPathValues(nameValues);
+ if(nameValues.containsKey("prefix")){
+ Map<String, String> tmpParams = ctxGetBeginsWith(ctx, nameValues.get("prefix"));
+ if(!tmpParams.isEmpty()) {
+ params.putAll(tmpParams);
+ }
+ if("named-query".equals(resource))
+ request.setRequestObject(extractNamedQueryDataFromQueryPrefix(nameValues, params));
+ }
+ String rv = getExecutor().get(request);
+ if(rv == null) {
+ return QueryStatus.NOT_FOUND;
+ }
+
+ response = request.jsonStringToObject(rv);
+ if(response == null) {
+ return QueryStatus.NOT_FOUND;
+ }
+
+ if("generic-query".equals(resource)) {
+ SearchResults rd = SearchResults.class.cast(response);
+ List<ResultData> rdList = rd.getResultData();
+ if(rdList == null || rdList.isEmpty()) {
+ return QueryStatus.NOT_FOUND;
+ }
+ ResultData rDatum = rdList.get(0);
+ nameValues.put("selflink", rDatum.getResourceLink());
+ AAIRequest req2 = AAIRequest.createRequest(rDatum.getResourceType(), nameValues);
+ req2.processRequestPathValues(nameValues);
+ rv = getExecutor().get(req2);
+ if(rv == null) {
+ return QueryStatus.NOT_FOUND;
+ }
+
+ response = req2.jsonStringToObject(rv);
+ if(response == null) {
+ return QueryStatus.NOT_FOUND;
+ }
+ }
+
+ if("named-query".equals(resource)) {
+ InventoryResponseItems rd = InventoryResponseItems.class.cast(response);
+ List<InventoryResponseItem> iRIlist = rd.getInventoryResponseItem();
+ if(iRIlist == null || iRIlist.isEmpty()) {
+ return QueryStatus.NOT_FOUND;
+ }
+
+ ObjectMapper mapper = getObjectMapper();
+ Map<String, Object> subnetsList = mapper.convertValue(rd, Map.class);
+ writeMap(subnetsList, prefix, ctx);
+ return QueryStatus.SUCCESS;
+// writeList((ArrayList)iRIlist, String.format("%s.%s", prefix, "inventory-response-items"), ctx);
+ }
+
+ if("nodes-query".equals(resource)) {
+ SearchResults rd = SearchResults.class.cast(response);
+ List<ResultData> rdList = rd.getResultData();
+ if(rdList == null || rdList.isEmpty()) {
+ return QueryStatus.NOT_FOUND;
+ }
+ ResultData rDatum = rdList.get(0);
+ response = rDatum;
+// writeList((ArrayList)rdList, prefix, ctx);
+ }
+
+ String preFix = null;
+ if(prefix == null || prefix.isEmpty()) {
+ preFix = "";
+ } else {
+ preFix = prefix + ".";
+ }
+
+ Map<String,Object> props = objectToProperties(response);
+ Set<String> keys = props.keySet();
+ for(String theKey: keys) {
+ if(getLogger().isTraceEnabled())
+ getLogger().trace(theKey);
+
+ Object value = props.get(theKey);
+ if(value == null)
+ continue;
+ Object type = value.getClass();
+ if(value instanceof String) {
+ ctx.setAttribute(preFix + theKey, value.toString());
+ continue;
+ }
+ if(value instanceof Boolean) {
+ ctx.setAttribute(preFix + theKey, value.toString());
+ continue;
+ }
+ if(value instanceof Integer) {
+ ctx.setAttribute(preFix + theKey, value.toString());
+ continue;
+ }
+ if(value instanceof Long) {
+ ctx.setAttribute(preFix + theKey, value.toString());
+ continue;
+ }
+
+ if(value instanceof ArrayList) {
+ ArrayList array = ArrayList.class.cast(value);
+ for(int i = 0; i < array.size(); i++) {
+ ctx.setAttribute(String.format("%s%s[%d]", preFix, theKey, i), array.get(i).toString());
+ }
+ continue;
+ }
+
+ if("relationship-list".equals(theKey)){
+ Map<String, Object> relationshipList = (Map<String, Object>)value;
+ // we are interested in seeing just the selected relationship
+ if(theKey.equals(modifier)) {
+ List<?> relationships = (List<?>)relationshipList.get("relationship");
+ if(relationships != null && !relationships.isEmpty()) {
+
+ List newRelationships = new LinkedList();
+ newRelationships.addAll(relationships);
+
+ for(Object obj : newRelationships){
+ if(obj instanceof Map<?, ?>) {
+ Map<?, ?> relProperties = (Map<?, ?>)obj;
+ if(relProperties.containsKey("related-to")) {
+ Object relPropsRelatedTo = relProperties.get("related-to");
+
+ String relatedTo = nameValues.get("related_to");
+ if(relatedTo != null) {
+ relatedTo = relatedTo.trim().replace("'", "").replace("$", "").replace("'", "");
+ if(!relatedTo.equals(relPropsRelatedTo)) {
+ relationships.remove(relProperties);
+ }
+ continue;
+ } else {
+ continue;
+ }
+ }
+ }
+ }
+ }
+ }
+ writeMap(relationshipList, String.format("%s.%s", prefix, theKey), ctx);
+ continue;
+ }
+
+// if("subnets".equals(theKey)){
+// Map<String, Object> subnetsList = (Map<String, Object>)value;
+// writeMap(subnetsList, String.format("%s.%s", prefix, theKey), ctx);
+// }
+
+ if(value instanceof Map) {
+ Map<String, Object> subnetsList = (Map<String, Object>)value;
+ writeMap(subnetsList, String.format("%s.%s", prefix, theKey), ctx);
+ continue;
+ }
+
+ }
+ } catch(AAIServiceException aaiexc) {
+ int errorCode = aaiexc.getReturnCode();
+ ctx.setAttribute(prefix + ".error.message", aaiexc.getMessage());
+ if(errorCode >= 300) {
+ ctx.setAttribute(prefix + ".error.http.response-code", "" + aaiexc.getReturnCode());
+ }
+
+ if(aaiexc.getReturnCode() == 404)
+ return QueryStatus.NOT_FOUND;
+
+ return QueryStatus.FAILURE;
+ } catch (Exception exc) {
+ getLogger().warn("requestGenericVnfData", exc);
+ ctx.setAttribute(prefix + ".error.message", exc.getMessage());
+ return QueryStatus.FAILURE;
+ }
+
+ return retval;
+ }
+
+
+ public QueryStatus newModelBackupRequest(String resource, Map<String, String> params, String prefix, SvcLogicContext ctx) {
+
+ QueryStatus retval = QueryStatus.SUCCESS;
+ HashMap<String, String> nameValues = new HashMap<String, String>();
+
+ try {
+ AAIRequest request = AAIRequest.createRequest(resource, nameValues);
+ if(request == null) {
+ return QueryStatus.FAILURE;
+ }
+
+ boolean argsFound = false;
+ String[] arguments = request.getArgsList();
+ for(String name : arguments) {
+ String tmpName = name.replaceAll("-", "_");
+ String value = params.get(tmpName);
+ if(value != null && !value.isEmpty()) {
+ value = value.trim().replace("'", "").replace("$", "").replace("'", "");
+ request.addRequestProperty(name, value);
+ argsFound = true;
+ }
+ }
+ if(!argsFound) {
+ getLogger().warn("No arguments were found. Terminating backup request.");
+ return QueryStatus.FAILURE;
+ }
+
+ String rv = getExecutor().get(request);
+ ctx.setAttribute(prefix, rv);
+ } catch(AAIServiceException aaiexc) {
+ if(aaiexc.getReturnCode() == 404)
+ return QueryStatus.NOT_FOUND;
+
+ return QueryStatus.FAILURE;
+ } catch (Exception exc) {
+ getLogger().warn("newModelBackupRequest", exc);
+ return QueryStatus.FAILURE;
+ }
+
+ return retval;
+ }
+
+ public AAIDatum newModelObjectRequest(String resource, Map<String, String> params, String prefix, SvcLogicContext ctx)
+ throws AAIServiceException {
+
+ AAIDatum response = null;
+
+ try {
+ AAIRequest request = AAIRequest.createRequest(resource, params);
+ if(request == null) {
+ return null;
+ }
+ String[] arguments = request.getArgsList();
+ for(String name : arguments) {
+ String tmpName = name.replaceAll("-", "_");
+ String value = params.get(tmpName);
+ if(value != null && !value.isEmpty()) {
+ value = value.trim().replace("'", "").replace("$", "").replace("'", "");
+ request.addRequestProperty(name, value);
+ }
+ }
+ String rv = getExecutor().get(request);
+ response = request.jsonStringToObject(rv);
+ } catch(AAIServiceException aaiexc) {
+ throw aaiexc;
+ } catch (Exception exc) {
+ getLogger().warn("newModelBackupRequest", exc);
+ throw new AAIServiceException(exc);
+ }
+
+ return response;
+ }
+
+
+ @Override
+ public QueryStatus release(String arg0, String arg1, SvcLogicContext arg2) throws SvcLogicException {
+ // TODO Auto-generated method stub
+ throw new SvcLogicException("Method AAIService.release() has not been implemented yet");
+ }
+
+ @Override
+ public QueryStatus reserve(String arg0, String arg1, String arg2, String arg3, SvcLogicContext arg4)
+ throws SvcLogicException {
+ // TODO Auto-generated method stub
+ throw new SvcLogicException("Method AAIService.reserve() has not been implemented yet");
+ }
+
+ private QueryStatus newModelSave(String resource, boolean force, String key, Map<String, String> parms, String prefix, SvcLogicContext ctx) {
+ getLogger().debug("Executing newModelSave for resource : " + resource);
+ HashMap<String, String> nameValues = keyToHashMap(key, ctx);
+
+ try {
+ ArrayList<String> subResources = new ArrayList<String>();
+ Set<String> set = parms.keySet();
+ Map<String, Method> setters = new HashMap<String, Method>();
+ Map<String, Method> getters = new HashMap<String, Method>();
+
+ // 1. find class
+ AAIRequest request = AAIRequest.createRequest(resource, nameValues);
+ Class<? extends AAIDatum> resourceClass = request.getModelClass();
+ getLogger().debug(resourceClass.getName());
+ AAIDatum instance = resourceClass.newInstance();
+
+ {
+ Annotation[] annotations = resourceClass.getAnnotations();
+ for(Annotation annotation : annotations) {
+ Class<? extends Annotation> anotationType = annotation.annotationType();
+ String annotationName = anotationType.getName();
+// if("com.fasterxml.jackson.annotation.JsonPropertyOrder".equals(annotationName)){
+
+ // 2. find string property setters and getters for the lists
+ if("javax.xml.bind.annotation.XmlType".equals(annotationName)){
+ XmlType order = (XmlType)annotation;
+ String[] values = order.propOrder();
+ for(String value : values) {
+ String id = camelCaseToDashedString(value);
+ Field field = resourceClass.getDeclaredField(value);
+ Class<?> type = field.getType();
+ Method setter = null;
+ try {
+ setter = resourceClass.getMethod("set"+StringUtils.capitalize(value), type);
+ if(type.getName().startsWith("java.lang")) {
+ try {
+ setter.setAccessible(true);
+ Object arglist[] = new Object[1];
+ arglist[0] = parms.get(id);
+
+ if(arglist[0] != null) {
+ if(!type.getName().equals("java.lang.String")) {
+// getLogger().debug(String.format("Processing %s with parameter %s", types[0].getName(), value));
+ arglist[0] = valueOf(type, parms.get(id));
+ }
+ Object o = setter.invoke(instance, arglist);
+ }
+ set.remove(id);
+
+ } catch (Exception x) {
+ Throwable cause = x.getCause();
+ getLogger().warn("Failed process for " + resourceClass.getName(), x);
+ }
+ } else {
+ setters.put(id, setter);
+ }
+ } catch(Exception exc) {
+
+ }
+
+ Method getter = null;
+ try {
+ getter = resourceClass.getMethod("get"+StringUtils.capitalize(value));
+ if(!type.getName().equals("java.lang.String")) {
+ getters.put(id, getter);
+ }
+ } catch(Exception exc) {
+
+ }
+
+ }
+ subResources.addAll(Arrays.asList(values));
+ }
+ }
+ }
+
+ // remove getters that have matching setter
+ for(String setKey : setters.keySet()) {
+ if(getters.containsKey(setKey)) {
+ getters.remove(setKey);
+ }
+ }
+
+ Set<String> relationshipKeys = new TreeSet<String>();
+ Set<String> vlansKeys = new TreeSet<String>();
+ Set<String> metadataKeys = new TreeSet<String>();
+
+ for(String attribute : set) {
+ String value = parms.get(attribute);
+ if(attribute.startsWith("relationship-list")) {
+ relationshipKeys.add(attribute);
+ } else if(attribute.startsWith("vlans")) {
+ vlansKeys.add(attribute);
+ } else if(attribute.startsWith("metadata")) {
+ metadataKeys.add(attribute);
+ }
+ }
+ // 3. find list property getters
+ for(String attribute : set) {
+ String value = parms.get(attribute);
+ Method method = getters.get(attribute);
+ if(method != null) {
+ try {
+ method.setAccessible(true);
+ Object arglist[] = new Object[0];
+// arglist[0] = value;
+ Class<?>[] types = method.getParameterTypes();
+ if(types.length == 0){
+ Object o = method.invoke(instance, arglist);
+ if(o instanceof ArrayList) {
+ ArrayList<String> values = (ArrayList<String>)o;
+// getLogger().debug(String.format("Processing %s with parameter %s", types[0].getName(), value));
+ value = value.replace("[", "").replace("]", "");
+ List<String> items = Arrays.asList(value.split("\\s*,\\s*"));
+ for(String s : items) {
+ values.add(s.trim());
+ }
+ }
+ }
+ } catch (Exception x) {
+ Throwable cause = x.getCause();
+ getLogger().warn("Failed process for " + resourceClass.getName(), x);
+ }
+ }
+ }
+ // 4. Process Relationships
+ // add relationship list
+ if( (subResources.contains("relationship-list") || subResources.contains("relationshipList")) && !relationshipKeys.isEmpty()) {
+ RelationshipList relationshipList = null;
+ Object obj = null;
+ Method getRelationshipListMethod = resourceClass.getMethod("getRelationshipList");
+ if(getRelationshipListMethod != null){
+ try {
+ getRelationshipListMethod.setAccessible(true);
+ obj = getRelationshipListMethod.invoke(instance);
+ } catch (InvocationTargetException x) {
+ Throwable cause = x.getCause();
+ }
+ }
+ if(obj != null && obj instanceof RelationshipList){
+ relationshipList = (RelationshipList)obj;
+ } else {
+ relationshipList = new RelationshipList();
+ Method setRelationshipListMethod = resourceClass.getMethod("setRelationshipList", RelationshipList.class);
+ if(setRelationshipListMethod != null){
+ try {
+ setRelationshipListMethod.setAccessible(true);
+ Object arglist[] = new Object[1];
+ arglist[0] = relationshipList;
+
+ obj = setRelationshipListMethod.invoke(instance, arglist);
+ } catch (InvocationTargetException x) {
+ Throwable cause = x.getCause();
+ }
+ }
+ }
+
+ List<Relationship> relationships = relationshipList.getRelationship();
+
+ int i = 0;
+ while(true){
+ int j = 0;
+ String searchKey = "relationship-list.relationship[" + i + "].related-to";
+ if(!parms.containsKey(searchKey))
+ break;
+ Relationship relationship = new Relationship();
+ relationships.add(relationship);
+
+ String relatedTo = parms.get(searchKey);
+ relationship.setRelatedTo(relatedTo);
+
+ List<RelationshipData> relData = relationship.getRelationshipData();
+// if(relData == null) {
+// relData = new LinkedList<RelationshipData>();
+// relationship.setRelationshipData(relData);
+// }
+
+ while(true) {
+ String searchRelationshipKey = "relationship-list.relationship[" + i + "].relationship-data[" + j + "].relationship-key";
+ String searchRelationshipValue = "relationship-list.relationship[" + i + "].relationship-data[" + j + "].relationship-value";
+ if(!parms.containsKey(searchRelationshipKey))
+ break;
+
+ RelationshipData relDatum = new RelationshipData();
+ relDatum.setRelationshipKey(parms.get(searchRelationshipKey));
+ relDatum.setRelationshipValue(parms.get(searchRelationshipValue));
+ relData.add(relDatum);
+ j++;
+ }
+
+ i++;
+ }
+ }
+
+ // 4. vlans
+ if(subResources.contains("vlans") && !vlansKeys.isEmpty()) {
+ Object obj = null;
+ Vlans vlanList = null;
+ Method getVLansMethod = resourceClass.getMethod("getVlans");
+ if(getVLansMethod != null){
+ try {
+ getVLansMethod.setAccessible(true);
+ obj = getVLansMethod.invoke(instance);
+ } catch (InvocationTargetException x) {
+ Throwable cause = x.getCause();
+ }
+ }
+ if(obj != null && obj instanceof Vlans){
+ vlanList = (Vlans)obj;
+ } else {
+ vlanList = new Vlans();
+ Method setVlansMethod = resourceClass.getMethod("setVlans", Vlans.class);
+ if(setVlansMethod != null){
+ try {
+ setVlansMethod.setAccessible(true);
+ Object arglist[] = new Object[1];
+ arglist[0] = vlanList;
+
+ obj = setVlansMethod.invoke(instance, arglist);
+ } catch (InvocationTargetException x) {
+ Throwable cause = x.getCause();
+ }
+ }
+ }
+
+ int i = 0;
+ while(true){
+ String searchKey = "vlans.vlan[" + i + "].vlan-interface";
+ if(!parms.containsKey(searchKey))
+ break;
+
+ String vlanInterface = parms.get("vlans.vlan[" + i + "].vlan-interface");
+ String vlanIdInner = parms.get("vlans.vlan[" + i + "].vlan-id-inner");
+ String vlanIdOute = parms.get("vlans.vlan[" + i + "].vlan-id-outer");
+ String speedValue = parms.get("vlans.vlan[" + i + "].speed-value");
+ String speedUnits = parms.get("vlans.vlan[" + i + "].speed-units");
+
+ Vlan vlan = new Vlan();
+ vlan.setVlanInterface(vlanInterface);
+
+ if(vlanIdInner != null) {
+ Long iVlanIdInner = Long.parseLong(vlanIdInner);
+ vlan.setVlanIdInner(iVlanIdInner);
+ }
+
+ if(vlanIdOute != null) {
+ Long iVlanIdOuter = Long.parseLong(vlanIdOute);
+ vlan.setVlanIdOuter(iVlanIdOuter);
+ }
+
+ if(speedValue != null) {
+ vlan.setSpeedValue(speedValue);
+ vlan.setSpeedUnits(speedUnits);
+ }
+
+ vlanList.getVlan().add(vlan);
+ i++;
+ }
+ }
+
+ // 5. metadata
+ if(subResources.contains("metadata") && !metadataKeys.isEmpty()) {
+ Object obj = null;
+ Metadata metadataList = null;
+ Method getMetadataMethod = resourceClass.getMethod("getMetadata");
+ if(getMetadataMethod != null){
+ try {
+ getMetadataMethod.setAccessible(true);
+ obj = getMetadataMethod.invoke(instance);
+ } catch (InvocationTargetException x) {
+ Throwable cause = x.getCause();
+ }
+ }
+ if(obj != null && obj instanceof Metadata){
+ metadataList = (Metadata)obj;
+ } else {
+ metadataList = new Metadata();
+ Method setMetadataMethod = resourceClass.getMethod("setMetadata", Metadata.class);
+ if(setMetadataMethod != null){
+ try {
+ setMetadataMethod.setAccessible(true);
+ Object arglist[] = new Object[1];
+ arglist[0] = metadataList;
+
+ obj = setMetadataMethod.invoke(instance, arglist);
+ } catch (InvocationTargetException x) {
+ Throwable cause = x.getCause();
+ }
+ }
+ }
+
+ if(metadataList.getMetadatum() == null) {
+// metadataList.setMetadatum(new ArrayList<Metadatum>());
+ }
+
+ // process data
+ int i = 0;
+ while(true){
+ String metaKey = "metadata.metadatum[" + i + "].meta-key";
+ if(!parms.containsKey(metaKey))
+ break;
+
+ String metaValue = parms.get("metadata.metadatum[" + i + "].meta-value");
+
+ Metadatum vlan = new Metadatum();
+ vlan.setMetaname(metaKey);
+ vlan.setMetaval(metaValue);
+
+ metadataList.getMetadatum().add(vlan);
+ i++;
+ }
+
+ }
+
+
+ // 6. Prepare AAI request
+// HashMap<String, String> nameValues = keyToHashMap(key, ctx);
+ Set<String> keys = nameValues.keySet();
+ for(String haslo : keys) { getLogger().debug("Key = " + haslo + "\tValue = ->" + nameValues.get(haslo) + "<-"); }
+ String[] args = request.getArgsList();
+ for(String arg : args) {
+ String modifiedKey = arg.replaceAll("-", "_");
+ if(nameValues.containsKey(modifiedKey)) {
+ String argValue = nameValues.get(modifiedKey);
+ if(argValue != null) argValue = argValue.trim().replace("'", "").replace("$", "").replace("'", "");
+ request.addRequestProperty(arg, argValue);
+ }
+ }
+ request.setRequestObject(instance);
+ getExecutor().post(request);
+
+ } catch(AAIServiceException exc){
+ ctx.setAttribute(prefix + ".error.message", exc.getMessage());
+ int returnCode = exc.getReturnCode();
+ if(returnCode >= 300) {
+ ctx.setAttribute(prefix + ".error.http.response-code", "" + exc.getReturnCode());
+ }
+
+ if(returnCode == 400 || returnCode == 412)
+ return QueryStatus.FAILURE;
+ else if(returnCode == 404)
+ return QueryStatus.NOT_FOUND;
+ else {
+ getLogger().warn("Failed newModelSave - returning FAILURE", exc);
+ return QueryStatus.FAILURE;
+ }
+ } catch(Exception exc){
+ getLogger().warn("Failed newModelSave - returning FAILURE", exc);
+ ctx.setAttribute(prefix + ".error.message", exc.getMessage());
+ return QueryStatus.FAILURE;
+ }
+
+ getLogger().debug("newModelSave - returning SUCCESS");
+ return QueryStatus.SUCCESS;
+ }
+
+ private static final String regex = "([A-Z][a-z,0-9]+)";
+ private static final String replacement = "-$1";
+
+ private String camelCaseToDashedString(String propOrder) {
+ return propOrder.replaceAll(regex, replacement).toLowerCase();
+ }
+
+ private QueryStatus newModelProcessRelationshipList(Object instance, Map<String, String> params, String prefix, SvcLogicContext ctx) throws Exception {
+
+ Class resourceClass = instance.getClass();
+
+ Set<String> relationshipKeys = new TreeSet<String>();
+
+ Set<String> set = params.keySet();
+
+ for(String attribute : set) {
+ String value = params.get(attribute);
+
+ if(attribute.startsWith("relationship-list")) {
+ relationshipKeys.add(attribute);
+ }
+ }
+
+ // 3. Process Relationships
+ // add relationship list
+ if(!relationshipKeys.isEmpty()) {
+ RelationshipList relationshipList = null;
+ Object obj = null;
+ Method getRelationshipListMethod = resourceClass.getMethod("getRelationshipList");
+ if(getRelationshipListMethod != null){
+ try {
+ getRelationshipListMethod.setAccessible(true);
+ obj = getRelationshipListMethod.invoke(instance);
+ } catch (InvocationTargetException x) {
+ Throwable cause = x.getCause();
+ }
+ }
+ if(obj != null && obj instanceof RelationshipList){
+ relationshipList = (RelationshipList)obj;
+ } else {
+ relationshipList = new RelationshipList();
+ Method setRelationshipListMethod = resourceClass.getMethod("setRelationshipList", RelationshipList.class);
+ if(setRelationshipListMethod != null){
+ try {
+ setRelationshipListMethod.setAccessible(true);
+ Object arglist[] = new Object[1];
+ arglist[0] = relationshipList;
+
+ obj = setRelationshipListMethod.invoke(instance, arglist);
+ } catch (InvocationTargetException x) {
+ Throwable cause = x.getCause();
+ }
+ }
+ }
+
+ boolean createdNewRelationships = false;
+ List<Relationship> relationships = relationshipList.getRelationship();
+ if(relationships == null) {
+ relationships = new ArrayList<Relationship>();
+ createdNewRelationships = true;
+ }
+
+ int i = 0;
+ int j = 0;
+ while(true){
+ String searchKey = "relationship-list.relationship[" + i + "].related-to";
+ if(!params.containsKey(searchKey))
+ break;
+
+ j = 0;
+ String relatedTo = params.get(searchKey);
+
+ Relationship relationship = null; //findRelationship(relationships, relatedTo);
+ if(relationship == null) {
+ relationship = new Relationship();
+ relationships.add(relationship);
+ relationship.setRelatedTo(relatedTo);
+ }
+
+
+ List<RelationshipData> relData = relationship.getRelationshipData();
+// if(relData == null) {
+// relData = new LinkedList<RelationshipDatum>();
+// relationship.setRelationshipData(relData);
+// }
+
+ while(true) {
+ String searchRelationshipKey = "relationship-list.relationship[" + i + "].relationship-data[" + j + "].relationship-key";
+ String searchRelationshipValue = "relationship-list.relationship[" + i + "].relationship-data[" + j + "].relationship-value";
+ if(!params.containsKey(searchRelationshipKey))
+ break;
+
+ RelationshipData relDatum = new RelationshipData();
+ relDatum.setRelationshipKey(params.get(searchRelationshipKey));
+ relDatum.setRelationshipValue(params.get(searchRelationshipValue));
+ relData.add(relDatum);
+ j++;
+ }
+
+ i++;
+ }
+ }
+
+ return QueryStatus.SUCCESS;
+ }
+
+ private Relationship findRelationship(List<Relationship> relationships, String relatedTo) {
+ if(relatedTo == null)
+ return null;
+
+ for(Relationship relationship : relationships) {
+ if(relationship.getRelatedTo().equals(relatedTo)){
+ return relationship;
+ }
+ }
+ return null;
+ }
+
+ protected HashMap<String,String> keyToHashMap(String key, SvcLogicContext ctx) {
+ if (key == null) {
+ return (null);
+ }
+
+ getLogger().debug("Converting key [" + key + "] to where clause");
+
+ if (key.startsWith("'") && key.endsWith("'")) {
+ key = key.substring(1, key.length() - 1);
+
+ getLogger().debug("Stripped outer single quotes - key is now [" + key + "]");
+ }
+
+ String[] keyTerms = key.split("\\s+");
+
+ StringBuffer whereBuff = new StringBuffer();
+ String term1 = null;
+ String op = null;
+ String term2 = null;
+ HashMap<String, String> results = new HashMap<String, String>();
+
+ for (int i = 0; i < keyTerms.length; i++) {
+ if (term1 == null) {
+ if ("and".equalsIgnoreCase(keyTerms[i])
+ || "or".equalsIgnoreCase(keyTerms[i])) {
+ // Skip over ADD/OR
+ } else {
+ term1 = resolveTerm(keyTerms[i], ctx);
+ }
+ } else if (op == null) {
+ if ("==".equals(keyTerms[i])) {
+ op = "=";
+ } else {
+ op = keyTerms[i];
+ }
+ } else {
+ term2 = resolveTerm(keyTerms[i], ctx);
+ term2 = term2.trim().replace("'", "").replace("$", "").replace("'", "");
+ results.put(term1, term2);
+
+ term1 = null;
+ op = null;
+ term2 = null;
+ }
+ }
+
+ return (results);
+ }
+
+ private String resolveTerm(String term, SvcLogicContext ctx) {
+ if (term == null) {
+ return (null);
+ }
+
+ getLogger().debug("resolveTerm: term is " + term);
+
+ if (term.startsWith("$") && (ctx != null)) {
+ // Resolve any index variables.
+
+ return ("'" + resolveCtxVariable(term.substring(1), ctx) + "'");
+ } else if (term.startsWith("'") || term.startsWith("\"")) {
+ return (term);
+ } else {
+ return (term.replaceAll("-", "_"));
+
+ }
+
+ }
+
+ private String resolveCtxVariable(String ctxVarName, SvcLogicContext ctx) {
+
+ if (ctxVarName.indexOf('[') == -1) {
+ // Ctx variable contains no arrays
+ return (ctx.getAttribute(ctxVarName));
+ }
+
+ // Resolve any array references
+ StringBuffer sbuff = new StringBuffer();
+ String[] ctxVarParts = ctxVarName.split("\\[");
+ sbuff.append(ctxVarParts[0]);
+ for (int i = 1; i < ctxVarParts.length; i++) {
+ if (ctxVarParts[i].startsWith("$")) {
+ int endBracketLoc = ctxVarParts[i].indexOf("]");
+ if (endBracketLoc == -1) {
+ // Missing end bracket ... give up parsing
+ getLogger().warn("Variable reference " + ctxVarName
+ + " seems to be missing a ']'");
+ return (ctx.getAttribute(ctxVarName));
+ }
+
+ String idxVarName = ctxVarParts[i].substring(1, endBracketLoc);
+ String remainder = ctxVarParts[i].substring(endBracketLoc);
+
+ sbuff.append("[");
+ sbuff.append(ctx.getAttribute(idxVarName));
+ sbuff.append(remainder);
+
+ } else {
+ // Index is not a variable reference
+ sbuff.append("[");
+ sbuff.append(ctxVarParts[i]);
+ }
+ }
+
+ return (ctx.getAttribute(sbuff.toString()));
+ }
+
+
+ public QueryStatus backup(Map<String, String> params, SvcLogicContext ctx) throws SvcLogicException {
+ String resource = params.get("resource").toLowerCase();
+ String prefix = params.get("data-key");
+
+ HashMap<String, String> nameValues = new HashMap<String, String>();
+ if(AAIRequest.createRequest(resource, nameValues) != null) {
+
+ try {
+ return newModelBackupRequest(resource, params, prefix, ctx);
+ } catch (Exception exc) {
+ getLogger().warn("Failed backup - returning FAILURE", exc);
+ return QueryStatus.FAILURE;
+ }
+ }
+
+ return QueryStatus.NOT_FOUND;
+ }
+
+ @Override
+ public QueryStatus restore(Map<String, String> params, SvcLogicContext ctx) throws SvcLogicException {
+
+ QueryStatus retval = QueryStatus.SUCCESS;
+ String resource = params.get("resource").toLowerCase();
+ String prefix = params.get("data-key");
+
+ HashMap<String, String> nameValues = new HashMap<String, String>();
+ if(AAIRequest.createRequest(resource, nameValues) != null) {
+
+ try {
+ retval = newModelBackupRequest(resource, params, "tmpRestore", ctx);
+ if(retval == QueryStatus.SUCCESS) {
+ String current_json = ctx.getAttribute("tmpRestore");
+ ctx. setAttribute("tmpRestore", null);
+
+ String snapshot_json = ctx.getAttribute(prefix);
+ }
+ } catch (Exception exc) {
+ getLogger().warn("Failed restore - returning FAILURE", exc);
+ return QueryStatus.FAILURE;
+ }
+ }
+
+ return QueryStatus.NOT_FOUND;
+ }
+
+ private Map<String, Object> objectToProperties(Object object) {
+ ObjectMapper mapper = getObjectMapper();
+ return mapper.convertValue(object, Map.class);
+ }
+
+ static <T> T valueOf(Class<T> klazz, String arg) {
+ Exception cause = null;
+ T ret = null;
+ try {
+ ret = klazz.cast(
+ klazz.getDeclaredMethod("valueOf", String.class)
+ .invoke(null, arg)
+ );
+ } catch (NoSuchMethodException e) {
+ cause = e;
+ } catch (IllegalAccessException e) {
+ cause = e;
+ } catch (InvocationTargetException e) {
+ cause = e;
+ }
+ if (cause == null) {
+ return ret;
+ } else {
+ throw new IllegalArgumentException(cause);
+ }
+ }
+
+ private QueryStatus processDeleteRelationshipList(String resource, String key, SvcLogicContext ctx, HashMap<String, String> nameValues) {
+ try {
+ AAIRequest request = AAIRequest.createRequest(resource, nameValues);
+ if(request == null) {
+ return QueryStatus.FAILURE;
+ }
+
+ request.processRequestPathValues(nameValues);
+ URL url = request.getRequestUrl("GET", null);
+
+ Class resourceClass = request.getModelClass();
+ Object instance = getResource(url.toString(), resourceClass);
+
+ // get resource version
+ String resourceVersion = null;
+ Method getResourceVersionMethod = resourceClass.getMethod("getResourceVersion");
+ if(getResourceVersionMethod != null){
+ try {
+ getResourceVersionMethod.setAccessible(true);
+ Object object = getResourceVersionMethod.invoke(instance);
+ if(object != null)
+ resourceVersion = object.toString();
+ } catch (InvocationTargetException x) {
+ Throwable cause = x.getCause();
+ }
+ }
+
+ RelationshipList relationshipList = null;
+ Object obj = null;
+ Method getRelationshipListMethod = resourceClass.getMethod("getRelationshipList");
+ if(getRelationshipListMethod != null){
+ try {
+ getRelationshipListMethod.setAccessible(true);
+ obj = getRelationshipListMethod.invoke(instance);
+ } catch (InvocationTargetException x) {
+ Throwable cause = x.getCause();
+ }
+ }
+ if(obj != null && obj instanceof RelationshipList){
+ relationshipList = (RelationshipList)obj;
+ } else {
+ getLogger().debug("No relationships found to process.");
+ return QueryStatus.NOT_FOUND;
+ }
+
+ if(relationshipList.getRelationship() == null || relationshipList.getRelationship().isEmpty()) {
+ return QueryStatus.NOT_FOUND;
+ }
+ String relatedTo = nameValues.get("related_to");
+ if(relatedTo == null) {
+ return QueryStatus.FAILURE;
+ }
+
+ relatedTo = relatedTo.replaceAll("_", "-");
+
+ List<Relationship> relationships = relationshipList.getRelationship();
+ List<Relationship> relationshipsToDelete = new LinkedList<Relationship>();
+
+ for(Relationship relationship : relationships) {
+ getLogger().debug(String.format("Comparing existing relationship of '%s' to keyword '%s'", relationship.getRelatedTo(), relatedTo));
+ if(relatedTo.equals(relationship.getRelatedTo())) {
+ getLogger().debug("Found relationship");
+// targetRelationship = relationship;
+ relationshipsToDelete.add(relationship);
+ }
+ }
+ if(relationshipsToDelete == null || relationshipsToDelete.isEmpty()) {
+ getLogger().info(String.format("Relationship has not been found for %s", key));
+ return QueryStatus.NOT_FOUND;
+ }
+
+ String path = url.toString();
+ path = path + "/relationship-list/relationship";
+ URL deleteUrl = new URL(path);
+
+ ObjectMapper mapper = getObjectMapper();
+
+ boolean cumulativeResponse = true;
+
+ for(Relationship targetRelationship : relationshipsToDelete) {
+ String json_text = mapper.writeValueAsString(targetRelationship);
+ boolean response = deleteRelationshipList(deleteUrl, json_text);
+ if(!response)
+ cumulativeResponse = response;
+
+ }
+
+ if(!cumulativeResponse)
+ return QueryStatus.FAILURE;
+
+ return QueryStatus.SUCCESS;
+
+ } catch(Exception exc) {
+ getLogger().warn("processDelete", exc);
+ return QueryStatus.FAILURE;
+ }
+ }
+
+ public static final Map<String, String> ctxGetBeginsWith( SvcLogicContext ctx, String prefix ) {
+ Map<String, String> tmpPrefixMap = new HashMap<String, String>();
+
+ if(prefix == null || prefix.isEmpty()){
+ return tmpPrefixMap;
+ }
+
+ for( String key : ctx.getAttributeKeySet() ) {
+ if( key.startsWith(prefix) ) {
+ String tmpKey = key.substring(prefix.length() + 1);
+ tmpPrefixMap.put( tmpKey, ctx.getAttribute(key));
+ }
+ }
+
+ Map<String, String> prefixMap = new HashMap<String, String>();
+ Pattern p = Pattern.compile(".*\\[\\d\\]");
+
+ SortedSet<String> keys = new TreeSet(tmpPrefixMap.keySet () );
+ for(String key : keys) {
+ Matcher m = p.matcher(key);
+ if(m.matches()) {
+ continue;
+ } else if(key.endsWith("_length")) {
+ String listKey = key.substring(0, key.indexOf("_length"));
+ int max = Integer.parseInt(tmpPrefixMap.get(key));
+
+ ArrayList<String> data = new ArrayList<String>();
+ for(int x = 0; x < max; x++){
+ String tmpKey = String.format("%s[%d]", listKey, x);
+ String tmpValue = tmpPrefixMap.get(tmpKey);
+ if(tmpValue != null && !tmpValue.isEmpty()) {
+ data.add(tmpValue);
+ }
+ }
+ if(!data.isEmpty()) {
+ prefixMap.put(listKey, data.toString());
+ } else {
+ prefixMap.put(key, tmpPrefixMap.get(key));
+ }
+ } else {
+ prefixMap.put(key, tmpPrefixMap.get(key));
+ }
+ }
+
+ return prefixMap;
+ }
+
+ /**
+ */
+ private NamedQueryData extractNamedQueryDataFromQueryPrefix(HashMap<String, String> nameValues, Map<String, String> parms) {
+ if(parms.isEmpty()) {
+ return null;
+ }
+
+ NamedQueryData data = new NamedQueryData();
+
+ // query parameters
+ if(data.getQueryParameters() == null) {
+ data.setQueryParameters(new QueryParameters());
+ }
+ String namedQueryUuid = nameValues.get("named-query-uuid".replaceAll("-", "_"));
+ if(namedQueryUuid == null) {
+ namedQueryUuid = parms.get("query-parameters.named-query.named-query-uuid");
+ }
+ NamedQuery namedQuery = new NamedQuery();
+ namedQuery.setNamedQueryUuid(namedQueryUuid);
+ data.getQueryParameters().setNamedQuery(namedQuery);
+
+ // instance filters
+ if(data.getInstanceFilters() == null) {
+ data.setInstanceFilters(new InstanceFilters());
+ }
+
+
+ String quantity = parms.get("instance-filters.instance-filter_length");
+ if(quantity != null && StringUtils.isNumeric(quantity)) {
+ int max = Integer.parseInt(quantity);
+ for(int i = 0; i < max; i++) {
+ String keyPattern = String.format("instance-filters.instance-filter[%d].", i);
+ Set<String> keys = parms.keySet();
+ for(String key: keys) {
+ if(key.startsWith(keyPattern)){
+ String value = parms.get(key);
+ String remainder = key.substring(keyPattern.length());
+ String[] split = remainder.split("\\.");
+ getLogger().debug(String.format("%s", remainder));
+ if("logical-link".equals(split[0])) {
+ InstanceFilter insf = null;
+ if(data.getInstanceFilters().getInstanceFilter().isEmpty()) {
+ insf = new InstanceFilter();
+ data.getInstanceFilters().getInstanceFilter().add(insf);
+ } else {
+ insf = data.getInstanceFilters().getInstanceFilter().get(0);
+ }
+ LogicalLink logicalLink = insf.getLogicalLink();
+ if(logicalLink == null) {
+ logicalLink = new LogicalLink();
+ insf.setLogicalLink(logicalLink);
+ }
+
+ switch(split[1]) {
+ case "link-name":
+ logicalLink.setLinkName(value);
+ break;
+ case "link-type":
+ logicalLink.setLinkType(value);
+ break;
+ case "operational-state":
+ logicalLink.setOperationalStatus(value);
+ break;
+ }
+
+ } else if("pnf".equals(split[0])) {
+ Pnf pnf = new Pnf();
+ pnf.setPnfName(value);
+
+ InstanceFilter insf = new InstanceFilter();
+ insf.setPnf(pnf);
+ data.getInstanceFilters().getInstanceFilter().add(insf);
+ }
+ }
+ }
+ }
+ }
+
+ return data;
+ }
+
+ public abstract <T> T getResource(String key, Class<T> type) throws AAIServiceException ;
+ protected abstract boolean deleteRelationshipList(URL url, String caller) throws AAIServiceException;
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIExecutorInterface.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIExecutorInterface.java
new file mode 100644
index 0000000..e549a50
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIExecutorInterface.java
@@ -0,0 +1,29 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+public interface AAIExecutorInterface {
+ Object get(AAIRequest request) throws AAIServiceException;
+ Object post(AAIRequest request) throws AAIServiceException;
+ Boolean delete(AAIRequest request, String resourceVersion) throws AAIServiceException;
+ Object query(AAIRequest request, Class clas) throws AAIServiceException;
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIRequest.java
new file mode 100644
index 0000000..dc4b8fc
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIRequest.java
@@ -0,0 +1,260 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLEncoder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Properties;
+
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.fasterxml.jackson.core.JsonParseException;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.AnnotationIntrospector;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.JsonMappingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.type.TypeFactory;
+import com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector;
+
+public abstract class AAIRequest {
+ protected static final Logger LOG = LoggerFactory.getLogger(AAIRequest.class);
+
+ protected static final String TARGET_URI = "org.openecomp.sdnc.sli.aai.uri";
+
+ protected static final String MASTER_REQUEST = "master-request";
+
+ public static final String RESOURCE_VERSION = "resource-version";
+
+ protected static Properties configProperties;
+ protected final String target_uri;
+ protected static AAIService aaiService;
+
+ protected AAIDatum requestDatum;
+
+ protected final Properties requestProperties = new Properties();
+
+
+ public static AAIRequest createRequest(String resoourceName, Map<String, String> nameValues){
+
+ String resoource = resoourceName;
+
+ if(resoource == null)
+ return null;
+
+ if(resoource.contains(":")) {
+ String[] tokens = resoource.split(":");
+ if(tokens != null && tokens.length > 0) {
+ resoource = tokens[0];
+ }
+ }
+
+ if(nameValues.containsKey("selflink")){
+ AAIRequest localRequest = createRequest(resoource, new HashMap<String, String>());
+ if(localRequest != null)
+ return new SelfLinkRequest(localRequest.getModelClass());
+ else
+ return null;
+ }
+
+ switch(resoource){
+ case "cloud-region":
+ return new CloudRegionRequest();
+ case "customer":
+ return new CustomerRequest();
+ case "generic-query":
+ return new GenericQueryRequest();
+ case "generic-vnf":
+ return new GenericVnfRequest();
+ case "logical-link":
+ return new LogicalLinkRequest();
+ case "l-interface":
+ if(nameValues.containsKey("generic_vnf.vnf_id") || nameValues.containsKey("vnf_id")) {
+ return new GenericVnfLInterfaceRequest();
+ }
+ case "linterface":
+ return new LInterfaceRequest(LInterfaceRequest.TYPE.L2_BRIDGE_SBG);
+ case "l2-bridge-sbg":
+ return new SubInterfaceRequest(SubInterfaceRequest.TYPE.L2_BRIDGE_SBG);
+ case "l2-bridge-bgf":
+ return new SubInterfaceRequest(SubInterfaceRequest.TYPE.L2_BRIDGE_BGF);
+ case "l3-interface-ipv4-address-list":
+ return new L3InterfaceIpv4AddressListRequest();
+ case "l3-interface-ipv6-address-list":
+ return new L3InterfaceIpv6AddressListRequest();
+ case "l3-network":
+ return new L3NetworkRequest();
+ case "l3-network-subnet":
+ case "subnet":
+ return new SubnetRequest();
+ case "lag-interface":
+ return new LagInterfacePnfRequest();
+ case "named-query":
+ return new NamedQueryRequest();
+ case "nodes-query":
+ return new NodesQueryRequest();
+ case "p-interface":
+ if(nameValues.containsKey(PInterfaceRequest.HOSTNAME) || nameValues.containsKey(PInterfaceRequest.PSERVER_HOSTNAME)){
+ return new PInterfaceRequest();
+ }
+ if(nameValues.containsKey(PnfRequest.PNF_NAME.replaceAll("-", "_")) || nameValues.containsKey(PnfRequest.PNF_PNF_NAME.replaceAll("-", "_"))){
+ return new PInterfacePnfRequest();
+ }
+ return null;
+ case "physical-link":
+ return new PhysicalLinkRequest();
+ case "pnf":
+ return new PnfRequest();
+ case "pserver":
+ return new PServerRequest();
+ case "service":
+ return new ServiceRequest();
+ case "service-instance":
+ return new ServiceInstanceRequest();
+ case "service-subscription":
+ return new ServiceSubscriptionRequest();
+ case "tenant":
+ return new TenantRequest();
+ case "vnfc":
+ return new VnfcRequest();
+ case "vserver":
+ case "vserver2":
+ return new VserverRequest();
+ case "vf-module":
+ return new VfModuleRequest();
+ case "vlan":
+ if(nameValues.containsKey(GenVnfrVLanRequest.VNF_ID))
+ return new GenVnfrVLanRequest();
+ else if(nameValues.containsKey(VServerVLanRequest.VSERVER_ID))
+ return new VServerVLanRequest();
+ else {
+ LOG.warn("VLAN request is not supported based on the key structure " + nameValues.keySet().toString());
+ return new VLanRequest();
+ }
+ case "volume-group":
+ return new VolumeGroupRequest();
+ case "echo":
+ case "test":
+ return new EchoRequest();
+ default:
+ return null;
+ }
+ }
+
+ public static void setProperties(Properties props, AAIService aaiService) {
+ AAIRequest.configProperties = props;
+ AAIRequest.aaiService = aaiService;
+ }
+
+ public AAIRequest() {
+ target_uri = configProperties.getProperty(TARGET_URI);
+ }
+
+ public final void addRequestProperty(String key, String value) {
+ requestProperties.put(key, value);
+ }
+
+ public final void setRequestObject(AAIDatum value) {
+ requestDatum = value;
+ }
+
+ public final AAIDatum getRequestObject() {
+ return requestDatum;
+ }
+
+ public final void addMasterRequest(AAIRequest masterRequest) {
+ requestProperties.put(MASTER_REQUEST, masterRequest);
+ }
+
+ protected static String encodeQuery(String param) throws UnsupportedEncodingException {
+ return URLEncoder.encode(param, "UTF-8").replace("+", "%20");
+ }
+
+ protected void handleException(AAIRequest lInterfaceRequest, JsonProcessingException exc) {
+ aaiService.getLogger().warn("Could not deserialize object of type " + lInterfaceRequest.getClass().getSimpleName(), exc) ;
+ }
+
+ public abstract URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException;
+ public abstract URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException;
+
+ public abstract String toJSONString();
+
+ public abstract String[] getArgsList();
+
+ public abstract Class<? extends AAIDatum> getModelClass() ;
+
+ public String getPrimaryResourceName(String resource) {
+ return resource;
+ }
+
+ public String formatKey(String argument) {
+ return argument;
+ }
+
+ public AAIDatum jsonStringToObject(String jsonData) throws JsonParseException, JsonMappingException, IOException {
+ if(jsonData == null) {
+ return null;
+ }
+
+ AAIDatum response = null;
+ ObjectMapper mapper = getObjectMapper();
+ response = mapper.readValue(jsonData, getModelClass());
+ return response;
+ }
+
+ public void processRequestPathValues(Map<String, String> nameValues) {
+
+ String[] arguments = this.getArgsList();
+ for(String name : arguments) {
+ String tmpName = name.replaceAll("-", "_");
+ String value = nameValues.get(tmpName);
+ if(value != null && !value.isEmpty()) {
+ value = value.trim().replace("'", "").replace("$", "").replace("'", "");
+ this.addRequestProperty(name, value);
+ }
+ }
+ }
+
+ public static String processPathData(String request_url, Properties requestProperties) throws UnsupportedEncodingException {
+ return request_url;
+ }
+
+ public boolean isDeleteDataRequired() {
+ return false;
+ }
+
+ ObjectMapper getObjectMapper() {
+ ObjectMapper mapper = new ObjectMapper();
+ AnnotationIntrospector introspector = new JaxbAnnotationIntrospector(TypeFactory.defaultInstance());
+ // if ONLY using JAXB annotations:
+ mapper.setAnnotationIntrospector(introspector);
+ mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
+ return mapper;
+ }
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIService.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIService.java
new file mode 100644
index 0000000..5b9ec75
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIService.java
@@ -0,0 +1,3301 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+
+import java.io.BufferedReader;
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
+import java.io.UnsupportedEncodingException;
+import java.net.HttpURLConnection;
+import java.net.MalformedURLException;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.TimeZone;
+import java.util.UUID;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import javax.net.ssl.HostnameVerifier;
+import javax.net.ssl.HttpsURLConnection;
+import javax.net.ssl.SSLSession;
+import javax.ws.rs.HttpMethod;
+import javax.ws.rs.core.UriBuilder;
+
+import org.apache.commons.codec.binary.Base64;
+import org.apache.commons.lang3.StringUtils;
+import org.openecomp.aai.inventory.v8.AvailabilityZone;
+import org.openecomp.aai.inventory.v8.GenericVnf;
+import org.openecomp.aai.inventory.v8.L3Network;
+import org.openecomp.aai.inventory.v8.PInterface;
+import org.openecomp.aai.inventory.v8.PhysicalLink;
+import org.openecomp.aai.inventory.v8.Pserver;
+import org.openecomp.aai.inventory.v8.ResultData;
+import org.openecomp.aai.inventory.v8.SearchResults;
+import org.openecomp.aai.inventory.v8.Service;
+import org.openecomp.aai.inventory.v8.ServiceInstance;
+import org.openecomp.aai.inventory.v8.Tenant;
+import org.openecomp.aai.inventory.v8.Vserver;
+import org.openecomp.sdnc.sli.ConfigurationException;
+import org.openecomp.sdnc.sli.MetricLogger;
+import org.openecomp.sdnc.sli.SvcLogicContext;
+import org.openecomp.sdnc.sli.SvcLogicException;
+import org.openecomp.sdnc.sli.SvcLogicResource;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+import org.openecomp.sdnc.sli.aai.data.ErrorResponse;
+import org.openecomp.sdnc.sli.aai.data.RequestError;
+import org.openecomp.sdnc.sli.aai.data.ResourceVersion;
+import org.openecomp.sdnc.sli.aai.data.ServiceException;
+import org.openecomp.sdnc.sli.aai.data.notify.NotifyEvent;
+import org.openecomp.sdnc.sli.aai.data.v1507.VServer;
+import org.openecomp.sdnc.sli.aai.update.Update;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.fasterxml.jackson.databind.AnnotationIntrospector;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector;
+import com.fasterxml.jackson.databind.type.TypeFactory;
+import com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector;
+
+
+public class AAIService extends AAIDeclarations implements AAIClient, SvcLogicResource {
+
+ public static final String AAICLIENT_PROPERTIES = "/aaiclient.properties";
+
+ private static final Logger LOG = LoggerFactory.getLogger(AAIService.class);
+
+ private final String truststore_path;
+ private final String truststore_password;
+// private final String keystore_path;
+// private final String keystore_password;
+ private final Boolean ignore_certificate_host_error;
+
+ private final String target_uri;
+ private final String query_path;
+ private final String network_vce_path;
+
+ private final String network_vpe_path;
+
+ private final String network_vpls_pe_path;
+
+ private final String network_complex_path;
+
+ private final String network_pserver_path;
+
+ private final String network_vserver_path;
+
+ private final String ctag_pool_path;
+
+ private final String svc_instance_path;
+ private final String svc_inst_qry_path;
+
+ private final String generic_vnf_path;
+
+ private final String network_dvsswitch_path;
+
+ private final String l3_network_path;
+ private final String l3_network_path_query_name;
+
+ private final String vpn_binding_path;
+
+ private final String vnf_image_path;
+ private final String vnf_image_query_path;
+
+ private final String param_format; //= "filter=%s:%s";
+ private final String param_vnf_type; //= "vnf-type";
+ private final String param_physical_location_id; //= "physical-location-id";
+ private final String param_service_type; //= "service-type";
+
+ private final String ubb_notify_path;
+ private final String selflink_avpn;
+ private final String selflink_fqdn;
+
+ private final String p_interface_path;
+ private final String physical_link_path;
+ private final String customer_path;
+
+ private final String service_path;
+ private final String site_pair_set_path;
+
+ private final int connection_timeout;
+ private final int read_timeout;
+
+ // 1602
+ private final String query_nodes_path;
+ private final String update_path;
+
+ private final String application_id;
+
+ // authentication credentials
+ private String user_name;
+ private String user_password;
+
+ private final MetricLogger ml = new MetricLogger();
+
+ private final AAIRequestExecutor executor;
+
+ public AAIService(URL propURL) {
+ LOG.info("Entered AAIService.ctor");
+ Properties props = null;
+ try {
+ props = initialize(propURL);
+ AAIRequest.setProperties(props, this);
+
+ } catch(Exception exc){
+ LOG.error("AicAAIResource.static", exc);
+ }
+
+ executor = new AAIRequestExecutor();
+
+ user_name = props.getProperty(CLIENT_NAME);
+ user_password = props.getProperty(CLIENT_PWWD);
+
+ if(user_name == null || user_name.isEmpty()){
+ LOG.debug("Basic user name is not set");
+ }
+ if(user_password == null || user_password.isEmpty()) {
+ LOG.debug("Basic password is not set");
+ }
+
+ truststore_path = props.getProperty(TRUSTSTORE_PATH);
+ truststore_password = props.getProperty(TRUSTSTORE_PSSWD);
+
+ target_uri = props.getProperty(TARGET_URI);
+ query_path = props.getProperty(QUERY_PATH);
+ update_path = props.getProperty(UPDATE_PATH);
+
+ String applicationId =props.getProperty(APPLICATION_ID);
+ if(applicationId == null || applicationId.isEmpty()) {
+ applicationId = "SDNC";
+ }
+ application_id = applicationId;
+
+ // connection timeout
+ int tmpConnectionTimeout = 30000;
+ int tmpReadTimeout = 30000;
+
+ try {
+ String tmpValue = null;
+ tmpValue = props.getProperty(CONNECTION_TIMEOUT, "30000");
+ tmpConnectionTimeout = Integer.parseInt(tmpValue);
+ tmpValue = props.getProperty(READ_TIMEOUT, "30000");
+ tmpReadTimeout = Integer.parseInt(tmpValue);
+ } catch(Exception exc) {
+ LOG.error("Failed setting connection timeout", exc);
+ tmpConnectionTimeout = 30000;
+ tmpReadTimeout = 30000;
+ }
+ connection_timeout = tmpConnectionTimeout;
+ read_timeout = tmpReadTimeout;
+
+ network_vce_path = props.getProperty(NETWORK_VCE_PATH);
+
+ network_vpe_path = props.getProperty(NETWORK_VPE_PATH);
+
+ network_vpls_pe_path =props.getProperty(NETWORK_VPLS_PE_PATH);
+
+ network_complex_path =props.getProperty(NETWORK_COMPLEX_PATH);
+
+ network_pserver_path =props.getProperty(NETWORK_PSERVER_PATH);
+
+ network_vserver_path =props.getProperty(NETWORK_VSERVER_PATH);
+
+ ctag_pool_path =props.getProperty(CTAG_POOL_PATH);
+
+
+ svc_instance_path = props.getProperty(SVC_INSTANCE_PATH); // "/aai/v1/business/customers/customer/{customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances");
+// "/aai/v1/business/customers/customer/ma9181-203-customerid/service-subscriptions/service-subscription/ma9181%20Hosted%20Voice/service-instances";
+
+// svc_inst_qry_path = props.getProperty(SVC_INST_QRY_PATH, "/aai/v1/search/generic-query?key=service-instance.service-instance-id:ma9181-204-instance&start-node-type=service-instance&include=service-instance");
+ svc_inst_qry_path = props.getProperty(SVC_INST_QRY_PATH); // "/aai/v1/search/generic-query?key=service-instance.service-instance-id:{svc-instance-id}&start-node-type=service-instance&include=service-instance");
+
+
+ param_format = props.getProperty(QUERY_FORMAT, "filter=%s:%s");
+ param_vnf_type = props.getProperty(PARAM_VNF_TYPE, "vnf-type");
+ param_physical_location_id = props.getProperty(PARAM_PHYS_LOC_ID, "physical-location-id");
+ param_service_type = props.getProperty(PARAM_SERVICE_TYPE, "service-type");
+
+ // P-Interfaces
+ p_interface_path = props.getProperty(P_INTERFACE_PATH);
+
+ // Physical Link
+ physical_link_path = props.getProperty(PHYSICAL_LINK_PATH);
+
+ generic_vnf_path = props.getProperty(GENERIC_VNF_PATH);
+
+ network_dvsswitch_path = props.getProperty(NETWORK_DVSSWITCH_PATH);
+
+ l3_network_path = props.getProperty(L3_NETWORK_PATH);
+ l3_network_path_query_name = props.getProperty(L3_NETWORK_PATH_QUERY_NAME);
+
+ vpn_binding_path = props.getProperty(VPN_BINDING_PATH);
+
+ vnf_image_path = props.getProperty(VNF_IMAGE_PATH);
+ vnf_image_query_path = props.getProperty(VNF_IMAGE_QUERY_PATH);
+
+ ubb_notify_path = props.getProperty(UBB_NOTIFY_PATH);
+ selflink_avpn = props.getProperty(SELFLINK_AVPN);
+ selflink_fqdn = props.getProperty(SELFLINK_FQDN);
+
+ customer_path = props.getProperty(CUSTOMER_PATH);
+
+ service_path = props.getProperty(SERVICE_PATH);
+
+ site_pair_set_path = props.getProperty(SITE_PAIR_SET_PATH);
+
+ query_nodes_path = props.getProperty(QUERY_NODES_PATH);
+
+ String iche = props.getProperty(CERTIFICATE_HOST_ERROR);
+ boolean host_error = false;
+ if(iche != null && !iche.isEmpty()) {
+ host_error = Boolean.valueOf(iche);
+ }
+
+ ignore_certificate_host_error = host_error;
+
+ HttpsURLConnection.setDefaultHostnameVerifier( new HostnameVerifier(){
+ public boolean verify(String string,SSLSession ssls) {
+ return ignore_certificate_host_error;
+ }
+ });
+
+ if(truststore_path != null && truststore_password != null && (new File(truststore_path)).exists()) {
+ System.setProperty("javax.net.ssl.trustStore", truststore_path);
+ System.setProperty("javax.net.ssl.trustStorePassword", truststore_password);
+ }
+
+ LOG.info("AAIResource.ctor initialized.");
+ }
+
+ /**
+ *
+ * @param http_req_url
+ * @param method
+ * @return
+ * @throws Exception
+ */
+ protected HttpURLConnection getConfiguredConnection(URL http_req_url, String method) throws Exception {
+ HttpURLConnection con = (HttpURLConnection) http_req_url.openConnection();
+
+ // Set up the connection properties
+ con.setRequestProperty( "Connection", "close" );
+ con.setDoInput(true);
+ con.setDoOutput(true);
+ con.setUseCaches(false);
+ con.setConnectTimeout( connection_timeout );
+ con.setReadTimeout( read_timeout );
+ con.setRequestMethod( method );
+ con.setRequestProperty( "Accept", "application/json" );
+ con.setRequestProperty( "Content-Type", "application/json" );
+ con.setRequestProperty("X-FromAppId", application_id);
+ con.setRequestProperty("X-TransactionId",TransactionIdTracker.getNextTransactionId());
+
+ if(user_name != null && !user_name.isEmpty() && user_password != null && !user_password.isEmpty()) {
+ String basicAuth = "Basic " + new String(Base64.encodeBase64((user_name + ":" + user_password).getBytes()));
+ con.setRequestProperty ("Authorization", basicAuth);
+ }
+
+ return con;
+ }
+
+
+ @Override
+ public GenericVnf requestGenericVnfData(String vnf_id) throws AAIServiceException {
+ GenericVnf response = null;
+
+ try {
+ AAIRequest request = new GenericVnfRequest();
+ request.addRequestProperty(GenericVnfRequest.GENERIC_VNF_ID, vnf_id);
+ String rv = executor.get(request);
+ if(rv != null) {
+ ObjectMapper mapper = getObjectMapper();
+ response = mapper.readValue(rv, GenericVnf.class);
+ }
+ } catch(AAIServiceException aaiexc) {
+ throw aaiexc;
+ } catch (Exception exc) {
+ LOG.warn(new Object(){}.getClass().getEnclosingMethod().getName(), exc);
+ throw new AAIServiceException(exc);
+ }
+
+ return response;
+
+ }
+
+ @Override
+ public boolean postGenericVnfData(String vnf_id, GenericVnf data) throws AAIServiceException {
+ boolean response = false;
+
+ try {
+ AAIRequest request = new GenericVnfRequest();
+ request.addRequestProperty(GenericVnfRequest.GENERIC_VNF_ID, vnf_id);
+ request.setRequestObject(data);
+ response = executor.post(request);
+ } catch(AAIServiceException aaiexc) {
+ throw aaiexc;
+ } catch (Exception exc) {
+ LOG.warn("requestGenericVnfData", exc);
+ throw new AAIServiceException(exc);
+ }
+ return response;
+ }
+
+ @Override
+ public boolean deleteGenericVnfData(String vnf_id, String resourceVersion) throws AAIServiceException {
+ boolean response = false;
+ InputStream inputStream = null;
+
+ try {
+
+ String request_url = target_uri+generic_vnf_path;
+
+ String encoded_vnf = encodeQuery(vnf_id);
+ request_url = request_url.replace("{vnf-id}", encoded_vnf) ;
+ if(resourceVersion!=null) {
+ request_url = request_url +"?resource-version="+resourceVersion;
+ }
+ URL http_req_url = new URL(request_url);
+
+ HttpURLConnection con = getConfiguredConnection(http_req_url, HttpMethod.DELETE);
+
+ LOGwriteFirstTrace(HttpMethod.DELETE, http_req_url.toString());
+ LOGwriteDateTrace("vnf_id", vnf_id);
+
+ // Check for errors
+ int responseCode = con.getResponseCode();
+ if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
+ inputStream = con.getInputStream();
+ } else {
+ inputStream = con.getErrorStream();
+ }
+
+ // Process the response
+ LOG.debug("HttpURLConnection result:" + responseCode);
+ if(inputStream == null) inputStream = new ByteArrayInputStream("".getBytes(StandardCharsets.UTF_8));
+ BufferedReader reader = new BufferedReader( new InputStreamReader( inputStream ) );
+ String line = null;
+
+ ObjectMapper mapper = getObjectMapper();
+
+ if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
+ StringBuilder stringBuilder = new StringBuilder();
+
+ while( ( line = reader.readLine() ) != null ) {
+ stringBuilder.append( line );
+ }
+ LOGwriteEndingTrace(responseCode, "SUCCESS", stringBuilder.toString());
+ response = true;
+ } else if(responseCode == HttpURLConnection.HTTP_NOT_FOUND ) {
+ LOGwriteEndingTrace(responseCode, "HTTP_NOT_FOUND", "Entry does not exist.");
+ response = false;
+ } else {
+ ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
+ LOGwriteEndingTrace(responseCode, "FAILURE", mapper.writeValueAsString(errorresponse));
+ throw new AAIServiceException(responseCode, errorresponse);
+ }
+
+ } catch(AAIServiceException aaiexc) {
+ throw aaiexc;
+ } catch (Exception exc) {
+ LOG.warn("deleteGenericVnfData", exc);
+ throw new AAIServiceException(exc);
+ } finally {
+ if(inputStream != null){
+ try {
+ inputStream.close();
+ } catch(Exception exc) {
+
+ }
+ }
+ }
+ return response;
+ }
+
+
+
+ @Override
+ public SearchResults requestServiceInstanceURL(String svc_instance_id) throws AAIServiceException {
+ SearchResults response = null;
+ InputStream inputStream = null;
+
+ try {
+ String path = svc_inst_qry_path;
+ path = path.replace("{svc-instance-id}", encodeQuery(svc_instance_id));
+
+ String request_url = target_uri+path;
+ URL http_req_url = new URL(request_url);
+
+ HttpURLConnection con = getConfiguredConnection(http_req_url, HttpMethod.GET);
+
+ LOGwriteFirstTrace(HttpMethod.GET, http_req_url.toString());
+ LOGwriteDateTrace("svc_instance_id", svc_instance_id);
+
+ // Check for errors
+ int responseCode = con.getResponseCode();
+ if (responseCode == HttpURLConnection.HTTP_OK) {
+ inputStream = con.getInputStream();
+ } else {
+ inputStream = con.getErrorStream();
+ }
+
+ // Process the response
+ LOG.debug("HttpURLConnection result:" + responseCode);
+ if(inputStream == null) inputStream = new ByteArrayInputStream("".getBytes(StandardCharsets.UTF_8));
+ BufferedReader reader = new BufferedReader( new InputStreamReader( inputStream ) );
+
+ ObjectMapper mapper = new ObjectMapper();
+ AnnotationIntrospector introspector = new JaxbAnnotationIntrospector(TypeFactory.defaultInstance());
+ // if ONLY using JAXB annotations:
+ mapper.setAnnotationIntrospector(introspector);
+ mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
+
+ if (responseCode == HttpURLConnection.HTTP_OK) {
+// StringBuilder stringBuilder = new StringBuilder("\n");
+// String line = null;
+// while( ( line = reader.readLine() ) != null ) {
+// stringBuilder.append("\n").append( line );
+// }
+// LOG.info(stringBuilder.toString());
+ response = mapper.readValue(reader, SearchResults.class);
+ LOGwriteEndingTrace(HttpURLConnection.HTTP_OK, "SUCCESS", mapper.writeValueAsString(response));
+ } else if(responseCode == HttpURLConnection.HTTP_NOT_FOUND ) {
+ LOGwriteEndingTrace(responseCode, "HTTP_NOT_FOUND", "Entry does not exist.");
+ return response;
+ } else {
+ ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
+ LOGwriteEndingTrace(responseCode, "FAILURE", mapper.writeValueAsString(errorresponse));
+ throw new AAIServiceException(responseCode, errorresponse);
+ }
+
+ } catch(AAIServiceException aaiexc) {
+ throw aaiexc;
+ } catch (Exception exc) {
+ LOG.warn("requestServiceInstanceURL", exc);
+ throw new AAIServiceException(exc);
+ } finally {
+ if(inputStream != null){
+ try {
+ inputStream.close();
+ } catch(Exception exc) {
+
+ }
+ }
+ }
+ return response;
+ }
+
+
+ @Override
+ public ServiceInstance requestServiceInterfaceData(String svc_instance_id) throws AAIServiceException {
+ ServiceInstance response = null;
+ InputStream inputStream = null;
+
+ try {
+ SearchResults search_result = this.requestServiceInstanceURL(svc_instance_id);
+ ResultData[] array = search_result.getResultData().toArray(new ResultData[0]);
+ ResultData datum = array[0];
+
+ String request_url = datum.getResourceLink();
+ request_url = encodeCustomerURL(request_url);
+
+ URL http_req_url = new URL(request_url);
+ HttpURLConnection con = getConfiguredConnection(http_req_url, HttpMethod.GET);
+
+ LOGwriteFirstTrace(HttpMethod.GET, http_req_url.toString());
+ LOGwriteDateTrace("svc_instance_id", svc_instance_id);
+
+ // Check for errors
+ int responseCode = con.getResponseCode();
+ if (responseCode == HttpURLConnection.HTTP_OK) {
+ inputStream = con.getInputStream();
+ } else {
+ inputStream = con.getErrorStream();
+ }
+
+ // Process the response
+ LOG.debug("HttpURLConnection result:" + responseCode);
+ if(inputStream == null) inputStream = new ByteArrayInputStream("".getBytes(StandardCharsets.UTF_8));
+ BufferedReader reader = new BufferedReader( new InputStreamReader( inputStream ) );
+
+ ObjectMapper mapper = getObjectMapper();
+
+ if (responseCode == HttpURLConnection.HTTP_OK) {
+// StringBuilder stringBuilder = new StringBuilder("\n");
+// String line = null;
+// while( ( line = reader.readLine() ) != null ) {
+// stringBuilder.append("\n").append( line );
+// }
+// LOG.info(stringBuilder.toString());
+ response = mapper.readValue(reader, ServiceInstance.class);
+ LOGwriteEndingTrace(HttpURLConnection.HTTP_OK, "SUCCESS", mapper.writeValueAsString(response));
+ } else if(responseCode == HttpURLConnection.HTTP_NOT_FOUND ) {
+ LOGwriteEndingTrace(responseCode, "HTTP_NOT_FOUND", "Entry does not exist.");
+ return response;
+ } else {
+ ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
+ LOGwriteEndingTrace(responseCode, "FAILURE", mapper.writeValueAsString(errorresponse));
+ throw new AAIServiceException(responseCode, errorresponse);
+ }
+
+ } catch(AAIServiceException aaiexc) {
+ throw aaiexc;
+ } catch (Exception exc) {
+ LOG.warn("requestServiceInterfaceData", exc);
+ throw new AAIServiceException(exc);
+ } finally {
+ if(inputStream != null){
+ try {
+ inputStream.close();
+ } catch(Exception exc) {
+
+ }
+ }
+ }
+ return response;
+ }
+
+
+ @Override
+ public ServiceInstance requestServiceInterfaceData(String customer_id, String service_type, String svc_instance_id) throws AAIServiceException {
+ ServiceInstance response = null;
+ InputStream inputStream = null;
+
+ try {
+ String path = svc_instance_path;
+ path = path.replace("{customer-id}", encodeQuery(customer_id));
+ path = path.replace("{service-type}", encodeQuery(service_type));
+ String request_url = target_uri+path;
+ if(!request_url.endsWith("/")) {
+ request_url = request_url + "/service-instance/";
+ } else {
+ request_url = request_url + "service-instance/";
+ }
+ request_url = request_url + encodeQuery(svc_instance_id);
+ URL http_req_url = new URL(request_url);
+
+ HttpURLConnection con = getConfiguredConnection(http_req_url, HttpMethod.GET);
+
+ LOGwriteFirstTrace(HttpMethod.GET, http_req_url.toString());
+ LOGwriteDateTrace("customer_id", customer_id);
+ LOGwriteDateTrace("service_type", service_type);
+ LOGwriteDateTrace("svc_instance_id", svc_instance_id);
+
+ // Check for errors
+ int responseCode = con.getResponseCode();
+ if (responseCode == HttpURLConnection.HTTP_OK) {
+ inputStream = con.getInputStream();
+ } else {
+ inputStream = con.getErrorStream();
+ }
+
+ // Process the response
+ LOG.debug("HttpURLConnection result:" + responseCode);
+ if(inputStream == null) inputStream = new ByteArrayInputStream("".getBytes(StandardCharsets.UTF_8));
+ BufferedReader reader = new BufferedReader( new InputStreamReader( inputStream ) );
+
+ ObjectMapper mapper = getObjectMapper();
+
+ if (responseCode == HttpURLConnection.HTTP_OK) {
+// StringBuilder stringBuilder = new StringBuilder("\n");
+// String line = null;
+// while( ( line = reader.readLine() ) != null ) {
+// stringBuilder.append("\n").append( line );
+// }
+// LOG.info(stringBuilder.toString());
+ response = mapper.readValue(reader, ServiceInstance.class);
+ LOGwriteEndingTrace(HttpURLConnection.HTTP_OK, "SUCCESS", mapper.writeValueAsString(response));
+ } else if(responseCode == HttpURLConnection.HTTP_NOT_FOUND ) {
+ LOGwriteEndingTrace(responseCode, "HTTP_NOT_FOUND", "Entry does not exist.");
+ return response;
+ } else {
+ ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
+ LOGwriteEndingTrace(responseCode, "FAILURE", mapper.writeValueAsString(errorresponse));
+ throw new AAIServiceException(responseCode, errorresponse);
+ }
+
+ } catch(AAIServiceException aaiexc) {
+ throw aaiexc;
+ } catch (Exception exc) {
+ LOG.warn("requestServiceInterfaceData", exc);
+ throw new AAIServiceException(exc);
+ } finally {
+ if(inputStream != null){
+ try {
+ inputStream.close();
+ } catch(Exception exc) {
+
+ }
+ }
+ }
+ return response;
+ }
+
+ @Override
+ public boolean postServiceInterfaceData(String customer_id, String service_type, String svc_instance_id, ServiceInstance request) throws AAIServiceException {
+
+ InputStream inputStream = null;
+
+ try {
+ ObjectMapper mapper = getObjectMapper();
+ String json_text = mapper.writeValueAsString(request);
+
+ String path = svc_instance_path;
+ path = path.replace("{customer-id}", encodeQuery(customer_id));
+ path = path.replace("{service-type}", encodeQuery(service_type));
+ String request_url = target_uri+path;
+ if(!request_url.endsWith("/")) {
+ request_url = request_url + "/service-instance/";
+ } else {
+ request_url = request_url + "service-instance/";
+ }
+ request_url = request_url + encodeQuery(svc_instance_id);
+ URL http_req_url = new URL(request_url);
+
+ HttpURLConnection con = getConfiguredConnection(http_req_url, HttpMethod.PUT);
+
+ OutputStreamWriter osw = new OutputStreamWriter(con.getOutputStream());
+ osw.write(json_text);
+ osw.flush();
+ osw.close();
+
+
+ LOGwriteFirstTrace("PUT", request_url);
+ LOGwriteDateTrace("customer_id", customer_id);
+ LOGwriteDateTrace("service_type", service_type);
+ LOGwriteDateTrace("svc_instance_id", svc_instance_id);
+ LOGwriteDateTrace("RelationshipList", json_text);
+
+ // Check for errors
+ int responseCode = con.getResponseCode();
+ if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_CREATED || responseCode == HttpURLConnection.HTTP_ACCEPTED || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
+ inputStream = con.getInputStream();
+ } else {
+ inputStream = con.getErrorStream();
+ }
+
+ // Process the response
+ BufferedReader reader;
+ String line = null;
+ reader = new BufferedReader( new InputStreamReader( inputStream ) );
+
+ if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_CREATED || responseCode == HttpURLConnection.HTTP_ACCEPTED || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
+ StringBuilder stringBuilder = new StringBuilder();
+
+ while( ( line = reader.readLine() ) != null ) {
+ stringBuilder.append( line );
+ }
+ LOGwriteEndingTrace(responseCode, "SUCCESS", (stringBuilder != null) ? stringBuilder.toString() : "{no-data}");
+ return true;
+ } else {
+ ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
+ LOGwriteEndingTrace(responseCode, "FAILURE", mapper.writeValueAsString(errorresponse));
+
+ throw new AAIServiceException(responseCode, errorresponse);
+ }
+ } catch(AAIServiceException aaiexc) {
+ throw aaiexc;
+ } catch (Exception exc) {
+ LOG.warn("postServiceInterfaceData", exc);
+ throw new AAIServiceException(exc);
+ } finally {
+ try {
+ if(inputStream != null)
+ inputStream.close();
+ } catch (Exception exc) {
+
+ }
+ }
+ }
+
+ /*
+ * Supporting methosd
+ */
+ private URL getRequestURL(String service_type, String vnf_type, String physical_location_id) throws MalformedURLException, URISyntaxException, UnsupportedEncodingException {
+
+ StringBuilder query = new StringBuilder();
+ query.append("filter=vnf-type:").append(encodeQuery(vnf_type));
+ query.append("&filter=service-type:").append(encodeQuery(service_type));
+ query.append("&filter=physical-location-id:").append(physical_location_id);
+
+ UriBuilder builder = javax.ws.rs.core.UriBuilder.fromUri(target_uri).path(query_path).replaceQuery(query.toString());
+// String y = x.build().toString();
+
+ return builder.build().toURL();
+
+ }
+
+ private static Properties initialize(URL url ) throws ConfigurationException {
+
+ if(url == null) {
+ throw new NullPointerException();
+ }
+
+ InputStream is = null;
+ Properties props = new Properties();
+
+ try {
+ if(LOG.isDebugEnabled())
+ LOG.info("Property file is: " + url.toString());
+
+ is = url.openStream();
+
+ props.load(is);
+ if(LOG.isDebugEnabled()) {
+ LOG.info("Properties loaded: " + props.size());
+ Enumeration<Object> en = props.keys();
+
+ while(en.hasMoreElements()) {
+ String key = (String)en.nextElement();
+ String property = props.getProperty(key);
+ LOG.debug(key + " : " + property);
+ }
+ }
+ } catch (Exception e) {
+ throw new ConfigurationException("Could not load properties file.", e);
+ }
+ return props;
+ }
+
+ static class TransactionIdTracker {
+// protected static AtomicLong tracker = new AtomicLong();
+
+ public static String getNextTransactionId() {
+// long id = tracker.getAndIncrement();
+// String transactionId = String.format("N%016X", id);
+ String transactionId = UUID.randomUUID().toString();
+ return transactionId;
+ }
+
+ }
+
+ protected void LOGwriteFirstTrace(String method, String url) {
+ String time = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").format(System.currentTimeMillis());
+ LOG.info("A&AI transaction :");
+ LOG.info("Request Time : " + time + ", Method : " + method);
+ LOG.info("Request URL : "+ url);
+ }
+
+ protected void LOGwriteDateTrace(String name, String data) {
+ LOG.info("Input - " + name + " : " + data);
+ }
+
+ protected void LOGwriteEndingTrace(int response_code, String comment, String data) {
+ LOG.info("Response code : " + response_code +", " + comment);
+ LOG.info(String.format("Response data : %s", data));
+ }
+
+ protected String encodeQuery(String param) throws UnsupportedEncodingException {
+ return URLEncoder.encode(param, "UTF-8").replace("+", "%20");
+ }
+
+ private String encodeCustomerURL(final String selection)
+ {
+ String encrypted_url = selection;
+ String apnpattern =
+ "/aai/v2/business/customers/customer/(.+)/service-subscriptions/service-subscription/(.+)/service-instances/service-instance/(.+)/";
+ Pattern pattern = Pattern.compile(apnpattern);
+
+ try {
+ URL url = new URL(selection);
+ String path = url.getPath();
+
+ LOG.info("Trying to match apn to <" + path + ">");
+
+ Matcher matcher = pattern.matcher(path);
+
+ while(matcher.find()) {
+ String customer = matcher.group(1);
+ String subscription = matcher.group(2);
+ String service = matcher.group(3);
+
+ encrypted_url = selection.replace(customer, encodeQuery(customer));
+ encrypted_url = encrypted_url.replace(subscription, encodeQuery(subscription));
+ encrypted_url = encrypted_url.replace(service, encodeQuery(service));
+ }
+ } catch (Exception e) {
+ LOG.warn("", e);
+ }
+
+ return encrypted_url;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.openecomp.sdnc.sli.aai.AAIClient#requestVServersData(java.lang.String, java.lang.String)
+ */
+ @Override
+ public Vserver requestVServerData(String tenant_id, String vserver_id, String cloudOwner, String cloudRegionId) throws AAIServiceException {
+ Vserver response = null;
+
+ try {
+ AAIRequest request = new VserverRequest();
+ request.addRequestProperty(TenantRequest.TENANT_TENANT_ID, tenant_id);
+ request.addRequestProperty(VserverRequest.VSERVER_VSERVER_ID, vserver_id);
+ request.addRequestProperty(CloudRegionRequest.CLOUD_REGION_CLOUD_OWNER, cloudOwner);
+ request.addRequestProperty(CloudRegionRequest.CLOUD_REGION_CLOUD_REGION_ID, cloudRegionId);
+
+ String rv = executor.get(request);
+ if(rv != null) {
+ ObjectMapper mapper = getObjectMapper();
+ response = mapper.readValue(rv, Vserver.class);
+ }
+ } catch(AAIServiceException aaiexc) {
+ throw aaiexc;
+ } catch (Exception exc) {
+ LOG.warn(new Object(){}.getClass().getEnclosingMethod().getName(), exc);
+ throw new AAIServiceException(exc);
+ }
+ return response;
+ }
+
+
+ @Override
+ public boolean postVServerData(String tenantId, String vserverId, String cloudOwner, String cloudRegionId, Vserver request) throws AAIServiceException {
+ InputStream inputStream = null;
+
+ try {
+
+ ObjectMapper mapper = getObjectMapper();
+ String json_text = mapper.writeValueAsString(request);
+
+ String local_network_complexes_path = network_vserver_path.replace("{tenant-id}", encodeQuery(tenantId));
+ local_network_complexes_path = local_network_complexes_path.replace("{vserver-id}", encodeQuery(vserverId));
+
+ local_network_complexes_path = local_network_complexes_path.replace("{cloud-owner}", encodeQuery(cloudOwner));
+ local_network_complexes_path = local_network_complexes_path.replace("{cloud-region-id}", encodeQuery(cloudRegionId));
+
+ String request_url = target_uri+local_network_complexes_path;
+
+ URL http_req_url = new URL(request_url);
+
+ HttpURLConnection con = getConfiguredConnection(http_req_url, HttpMethod.PUT);
+
+ OutputStreamWriter osw = new OutputStreamWriter(con.getOutputStream());
+ osw.write(json_text);
+ osw.flush();
+ osw.close();
+
+
+ LOGwriteFirstTrace("PUT", request_url);
+ LOGwriteDateTrace("tenant-id", tenantId);
+ LOGwriteDateTrace("vserver-id", vserverId);
+ LOGwriteDateTrace("cloud-owner", cloudOwner);
+ LOGwriteDateTrace("cloud-region-id", cloudRegionId);
+
+ LOGwriteDateTrace("Vserver", json_text);
+
+ // Check for errors
+ int responseCode = con.getResponseCode();
+ if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_CREATED || responseCode == HttpURLConnection.HTTP_ACCEPTED || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
+ inputStream = con.getInputStream();
+ } else {
+ inputStream = con.getErrorStream();
+ }
+
+ // Process the response
+ BufferedReader reader;
+ String line = null;
+ reader = new BufferedReader( new InputStreamReader( inputStream ) );
+
+ if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_CREATED || responseCode == HttpURLConnection.HTTP_ACCEPTED || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
+ StringBuilder stringBuilder = new StringBuilder();
+
+ while( ( line = reader.readLine() ) != null ) {
+ stringBuilder.append( line );
+ }
+ LOGwriteEndingTrace(responseCode, "SUCCESS", (stringBuilder != null) ? stringBuilder.toString() : "{no-data}");
+ return true;
+ } else {
+ ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
+ LOGwriteEndingTrace(responseCode, "FAILURE", mapper.writeValueAsString(errorresponse));
+
+ throw new AAIServiceException(responseCode, errorresponse);
+ }
+ } catch(AAIServiceException aaiexc) {
+ throw aaiexc;
+ } catch (Exception exc) {
+ LOG.warn("postVServerData", exc);
+ throw new AAIServiceException(exc);
+ } finally {
+ try {
+ if(inputStream != null)
+ inputStream.close();
+ } catch (Exception exc) {
+
+ }
+ }
+ }
+
+ @Override
+ public boolean deleteVServerData(String tenant_id, String vserver_id, String cloudOwner, String cloudRegionId, String resourceVersion) throws AAIServiceException {
+ boolean response = false;
+ InputStream inputStream = null;
+
+ try {
+ String local_network_complexes_path = network_vserver_path.replace("{tenant-id}", encodeQuery(tenant_id));
+ local_network_complexes_path = local_network_complexes_path.replace("{vserver-id}", encodeQuery(vserver_id));
+ local_network_complexes_path = local_network_complexes_path.replace("{cloud-owner}", encodeQuery(cloudOwner));
+ local_network_complexes_path = local_network_complexes_path.replace("{cloud-region-id}", encodeQuery(cloudRegionId));
+
+ String request_url = target_uri+local_network_complexes_path;
+ if(resourceVersion!=null) {
+ request_url = request_url +"?resource-version="+resourceVersion;
+ }
+ URL http_req_url = new URL(request_url);
+
+ HttpURLConnection con = getConfiguredConnection(http_req_url, HttpMethod.DELETE);
+
+ LOGwriteFirstTrace(HttpMethod.DELETE, http_req_url.toString());
+ LOGwriteDateTrace("tenant_id", tenant_id);
+ LOGwriteDateTrace("vserver_id", vserver_id);
+ LOGwriteDateTrace("cloud-owner", cloudOwner);
+ LOGwriteDateTrace("cloud-region-id", cloudRegionId);
+
+ // Check for errors
+ int responseCode = con.getResponseCode();
+ if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
+ inputStream = con.getInputStream();
+ } else {
+ inputStream = con.getErrorStream();
+ }
+
+ // Process the response
+ LOG.debug("HttpURLConnection result:" + responseCode);
+ if(inputStream == null) inputStream = new ByteArrayInputStream("".getBytes(StandardCharsets.UTF_8));
+ BufferedReader reader = new BufferedReader( new InputStreamReader( inputStream ) );
+ String line = null;
+
+ ObjectMapper mapper = getObjectMapper();
+
+ if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
+ StringBuilder stringBuilder = new StringBuilder();
+
+ while( ( line = reader.readLine() ) != null ) {
+ stringBuilder.append( line );
+ }
+ LOGwriteEndingTrace(responseCode, "SUCCESS", stringBuilder.toString());
+ response = true;
+ } else if(responseCode == HttpURLConnection.HTTP_NOT_FOUND ) {
+ LOGwriteEndingTrace(responseCode, "HTTP_NOT_FOUND", "Entry does not exist.");
+ response = false;
+ } else {
+ ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
+ LOGwriteEndingTrace(responseCode, "FAILURE", mapper.writeValueAsString(errorresponse));
+ throw new AAIServiceException(responseCode, errorresponse);
+ }
+
+ } catch(AAIServiceException aaiexc) {
+ throw aaiexc;
+ } catch (Exception exc) {
+ LOG.warn("deleteVServerData", exc);
+ throw new AAIServiceException(exc);
+ } finally {
+ if(inputStream != null){
+ try {
+ inputStream.close();
+ } catch(Exception exc) {
+
+ }
+ }
+ }
+ return response;
+ }
+
+
+ //================== End of DvsSwitch =================
+ //==================== PhysicalLink ======================
+ @Override
+ public PhysicalLink requestPhysicalLinkData(String linkName) throws AAIServiceException {
+ PhysicalLink response = null;
+ InputStream inputStream = null;
+
+ try {
+ String request_url = target_uri+physical_link_path;
+
+ String encoded_vnf = encodeQuery(linkName);
+ request_url = request_url.replace("{link-name}", encoded_vnf) ;
+ URL http_req_url = new URL(request_url);
+
+ HttpURLConnection con = getConfiguredConnection(http_req_url, HttpMethod.GET);
+
+ LOGwriteFirstTrace(HttpMethod.GET, http_req_url.toString());
+ LOGwriteDateTrace("link-name", linkName);
+
+ // Check for errors
+ int responseCode = con.getResponseCode();
+ if (responseCode == HttpURLConnection.HTTP_OK) {
+ inputStream = con.getInputStream();
+ } else {
+ inputStream = con.getErrorStream();
+ }
+
+ // Process the response
+ LOG.debug("HttpURLConnection result:" + responseCode);
+ if(inputStream == null) inputStream = new ByteArrayInputStream("".getBytes(StandardCharsets.UTF_8));
+ BufferedReader reader = new BufferedReader( new InputStreamReader( inputStream ) );
+
+ ObjectMapper mapper = getObjectMapper();
+
+ if (responseCode == HttpURLConnection.HTTP_OK) {
+// StringBuilder stringBuilder = new StringBuilder("\n");
+// String line = null;
+// while( ( line = reader.readLine() ) != null ) {
+// stringBuilder.append("\n").append( line );
+// }
+// LOG.info(stringBuilder.toString());
+ response = mapper.readValue(reader, PhysicalLink.class);
+ LOGwriteEndingTrace(HttpURLConnection.HTTP_OK, "SUCCESS", mapper.writeValueAsString(response));
+ } else if (responseCode == HttpURLConnection.HTTP_NOT_FOUND) {
+ LOGwriteEndingTrace(responseCode, "HTTP_NOT_FOUND", "Entry does not exist.");
+ return response;
+ } else {
+ ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
+ LOGwriteEndingTrace(responseCode, "FAILURE", mapper.writeValueAsString(errorresponse));
+ throw new AAIServiceException(responseCode, errorresponse);
+ }
+
+ } catch(AAIServiceException aaiexc) {
+ throw aaiexc;
+ } catch (Exception exc) {
+ LOG.warn("requestPhysicalLinkData", exc);
+ throw new AAIServiceException(exc);
+ } finally {
+ if(inputStream != null){
+ try {
+ inputStream.close();
+ } catch(Exception exc) {
+
+ }
+ }
+ }
+ return response;
+ }
+
+ @Override
+ public boolean postPhysicalLinkData(String linkName, PhysicalLink request) throws AAIServiceException {
+ InputStream inputStream = null;
+
+ try {
+
+ ObjectMapper mapper = getObjectMapper();
+ String json_text = mapper.writeValueAsString(request);
+
+ String request_url = target_uri+physical_link_path;
+ String encoded_vnf = encodeQuery(linkName);
+ request_url = request_url.replace("{link-name}", encoded_vnf) ;
+ URL http_req_url = new URL(request_url);
+
+ HttpURLConnection con = getConfiguredConnection(http_req_url, HttpMethod.PUT);
+
+ OutputStreamWriter osw = new OutputStreamWriter(con.getOutputStream());
+ osw.write(json_text);
+ osw.flush();
+ osw.close();
+
+
+ LOGwriteFirstTrace("PUT", request_url);
+ LOGwriteDateTrace("link-name", linkName);
+ LOGwriteDateTrace("PhysicalLink", json_text);
+
+ // Check for errors
+ int responseCode = con.getResponseCode();
+ if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_CREATED || responseCode == HttpURLConnection.HTTP_ACCEPTED || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
+ inputStream = con.getInputStream();
+ } else {
+ inputStream = con.getErrorStream();
+ }
+
+ // Process the response
+ BufferedReader reader;
+ String line = null;
+ reader = new BufferedReader( new InputStreamReader( inputStream ) );
+
+ if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_CREATED || responseCode == HttpURLConnection.HTTP_ACCEPTED || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
+ StringBuilder stringBuilder = new StringBuilder();
+
+ while( ( line = reader.readLine() ) != null ) {
+ stringBuilder.append( line );
+ }
+ LOGwriteEndingTrace(responseCode, "SUCCESS", (stringBuilder != null) ? stringBuilder.toString() : "{no-data}");
+ return true;
+ } else {
+ ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
+ LOGwriteEndingTrace(responseCode, "FAILURE", mapper.writeValueAsString(errorresponse));
+
+ throw new AAIServiceException(responseCode, errorresponse);
+ }
+ } catch(AAIServiceException aaiexc) {
+ throw aaiexc;
+ } catch (Exception exc) {
+ LOG.warn("postPhysicalLinkData", exc);
+ throw new AAIServiceException(exc);
+ } finally {
+ try {
+ if(inputStream != null)
+ inputStream.close();
+ } catch (Exception exc) {
+
+ }
+ }
+ }
+
+ @Override
+ public boolean deletePhysicalLinkData(String linkName, String resourceVersion) throws AAIServiceException {
+ boolean response = false;
+ InputStream inputStream = null;
+
+ try {
+ String request_url = target_uri+physical_link_path;
+ String encoded_vnf = encodeQuery(linkName);
+ request_url = request_url.replace("{link-name}", encoded_vnf) ;
+ if(resourceVersion!=null) {
+ request_url = request_url +"?resource-version="+resourceVersion;
+ }
+ URL http_req_url = new URL(request_url);
+
+ HttpURLConnection con = getConfiguredConnection(http_req_url, HttpMethod.DELETE);
+
+ LOGwriteFirstTrace("DELETE", http_req_url.toString());
+ LOGwriteDateTrace("link-name", linkName);
+
+ // Check for errors
+ int responseCode = con.getResponseCode();
+ if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
+ inputStream = con.getInputStream();
+ } else {
+ inputStream = con.getErrorStream();
+ }
+
+ // Process the response
+ LOG.debug("HttpURLConnection result:" + responseCode);
+ if(inputStream == null) inputStream = new ByteArrayInputStream("".getBytes(StandardCharsets.UTF_8));
+ BufferedReader reader = new BufferedReader( new InputStreamReader( inputStream ) );
+ String line = null;
+
+ ObjectMapper mapper = getObjectMapper();
+
+ if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
+ StringBuilder stringBuilder = new StringBuilder();
+
+ while( ( line = reader.readLine() ) != null ) {
+ stringBuilder.append( line );
+ }
+ LOGwriteEndingTrace(responseCode, "SUCCESS", stringBuilder.toString());
+ response = true;
+ } else if(responseCode == HttpURLConnection.HTTP_NOT_FOUND ) {
+ LOGwriteEndingTrace(responseCode, "HTTP_NOT_FOUND", "Entry does not exist.");
+ response = false;
+ } else {
+ ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
+ LOGwriteEndingTrace(responseCode, "FAILURE", mapper.writeValueAsString(errorresponse));
+ throw new AAIServiceException(responseCode, errorresponse);
+ }
+
+ } catch(AAIServiceException aaiexc) {
+ throw aaiexc;
+ } catch (Exception exc) {
+ LOG.warn("deletePhysicalLinkData", exc);
+ throw new AAIServiceException(exc);
+ } finally {
+ if(inputStream != null){
+ try {
+ inputStream.close();
+ } catch(Exception exc) {
+
+ }
+ }
+ }
+ return response;
+ }
+ //================== End of PhysicalLink =================
+ //==================== PInterface ======================
+ @Override
+ public PInterface requestPInterfaceData(String hostname, String interfaceName) throws AAIServiceException {
+ PInterface response = null;
+
+ try {
+ AAIRequest request = new PInterfaceRequest();
+ request.addRequestProperty(PInterfaceRequest.PINTERFACE_INTERFACE_NAME, interfaceName);
+ request.addRequestProperty(PInterfaceRequest.HOSTNAME, hostname);
+ String rv = executor.get(request);
+ if(rv != null) {
+ ObjectMapper mapper = getObjectMapper();
+ response = mapper.readValue(rv, PInterface.class);
+ }
+ } catch(AAIServiceException aaiexc) {
+ throw aaiexc;
+ } catch (Exception exc) {
+ LOG.warn(new Object(){}.getClass().getEnclosingMethod().getName(), exc);
+ throw new AAIServiceException(exc);
+ }
+ return response;
+ }
+
+ @Override
+ public boolean postPInterfaceData(String hostname, String interfaceName, PInterface request) throws AAIServiceException {
+ InputStream inputStream = null;
+
+ try {
+
+ ObjectMapper mapper = getObjectMapper();
+ String json_text = mapper.writeValueAsString(request);
+
+ String request_url = target_uri+p_interface_path;
+ String encoded_vnf = encodeQuery(hostname);
+ request_url = request_url.replace("{hostname}", encoded_vnf) ;
+ encoded_vnf = encodeQuery(interfaceName);
+ request_url = request_url.replace("{interface-name}", encoded_vnf) ;
+ URL http_req_url = new URL(request_url);
+
+ HttpURLConnection con = getConfiguredConnection(http_req_url, HttpMethod.PUT);
+
+ OutputStreamWriter osw = new OutputStreamWriter(con.getOutputStream());
+ osw.write(json_text);
+ osw.flush();
+ osw.close();
+
+
+ LOGwriteFirstTrace("PUT", request_url);
+ LOGwriteDateTrace("hostname", hostname);
+ LOGwriteDateTrace("interface-name", interfaceName);
+ LOGwriteDateTrace("PInterface", json_text);
+
+ // Check for errors
+ int responseCode = con.getResponseCode();
+ if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_CREATED || responseCode == HttpURLConnection.HTTP_ACCEPTED || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
+ inputStream = con.getInputStream();
+ } else {
+ inputStream = con.getErrorStream();
+ }
+
+ // Process the response
+ BufferedReader reader;
+ String line = null;
+ reader = new BufferedReader( new InputStreamReader( inputStream ) );
+
+ if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_CREATED || responseCode == HttpURLConnection.HTTP_ACCEPTED || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
+ StringBuilder stringBuilder = new StringBuilder();
+
+ while( ( line = reader.readLine() ) != null ) {
+ stringBuilder.append( line );
+ }
+ LOGwriteEndingTrace(responseCode, "SUCCESS", (stringBuilder != null) ? stringBuilder.toString() : "{no-data}");
+ return true;
+ } else {
+ ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
+ LOGwriteEndingTrace(responseCode, "FAILURE", mapper.writeValueAsString(errorresponse));
+
+ throw new AAIServiceException(responseCode, errorresponse);
+ }
+ } catch(AAIServiceException aaiexc) {
+ throw aaiexc;
+ } catch (Exception exc) {
+ LOG.warn("postPInterfaceData", exc);
+ throw new AAIServiceException(exc);
+ } finally {
+ try {
+ if(inputStream != null)
+ inputStream.close();
+ } catch (Exception exc) {
+
+ }
+ }
+ }
+
+ @Override
+ public boolean deletePInterfaceData(String hostname, String interfaceName, String resourceVersion) throws AAIServiceException {
+ boolean response = false;
+ InputStream inputStream = null;
+
+ try {
+ String request_url = target_uri+p_interface_path;
+ String encoded_vnf = encodeQuery(hostname);
+ request_url = request_url.replace("{hostname}", encoded_vnf) ;
+ encoded_vnf = encodeQuery(interfaceName);
+ request_url = request_url.replace("{interface-name}", encoded_vnf) ;
+ if(resourceVersion!=null) {
+ request_url = request_url +"?resource-version="+resourceVersion;
+ }
+ URL http_req_url = new URL(request_url);
+
+ HttpURLConnection con = getConfiguredConnection(http_req_url, HttpMethod.DELETE);
+
+ LOGwriteFirstTrace("DELETE", http_req_url.toString());
+ LOGwriteDateTrace("hostname", hostname);
+ LOGwriteDateTrace("interface-name", interfaceName);
+
+ // Check for errors
+ int responseCode = con.getResponseCode();
+ if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
+ inputStream = con.getInputStream();
+ } else {
+ inputStream = con.getErrorStream();
+ }
+
+ // Process the response
+ LOG.debug("HttpURLConnection result:" + responseCode);
+ if(inputStream == null) inputStream = new ByteArrayInputStream("".getBytes(StandardCharsets.UTF_8));
+ BufferedReader reader = new BufferedReader( new InputStreamReader( inputStream ) );
+ String line = null;
+
+ ObjectMapper mapper = getObjectMapper();
+
+ if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
+ StringBuilder stringBuilder = new StringBuilder();
+
+ while( ( line = reader.readLine() ) != null ) {
+ stringBuilder.append( line );
+ }
+ LOGwriteEndingTrace(responseCode, "SUCCESS", stringBuilder.toString());
+ response = true;
+ } else if(responseCode == HttpURLConnection.HTTP_NOT_FOUND ) {
+ LOGwriteEndingTrace(responseCode, "HTTP_NOT_FOUND", "Entry does not exist.");
+ response = false;
+ } else {
+ ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
+ LOGwriteEndingTrace(responseCode, "FAILURE", mapper.writeValueAsString(errorresponse));
+ throw new AAIServiceException(responseCode, errorresponse);
+ }
+
+ } catch(AAIServiceException aaiexc) {
+ throw aaiexc;
+ } catch (Exception exc) {
+ LOG.warn("deletePInterfaceData", exc);
+ throw new AAIServiceException(exc);
+ } finally {
+ if(inputStream != null){
+ try {
+ inputStream.close();
+ } catch(Exception exc) {
+
+ }
+ }
+ }
+ return response;
+ }
+
+ //==================== Service ======================
+ @Override
+ public Service requestServiceData(String serviceId) throws AAIServiceException {
+ Service response = null;
+ InputStream inputStream = null;
+
+ try {
+ String request_url = target_uri+service_path;
+
+ String encoded_vnf = encodeQuery(serviceId);
+ request_url = request_url.replace("{service-id}", encoded_vnf) ;
+ URL http_req_url = new URL(request_url);
+
+ HttpURLConnection con = getConfiguredConnection(http_req_url, HttpMethod.GET);
+
+ LOGwriteFirstTrace(HttpMethod.GET, http_req_url.toString());
+ LOGwriteDateTrace("service-id", serviceId);
+
+ // Check for errors
+ int responseCode = con.getResponseCode();
+ if (responseCode == HttpURLConnection.HTTP_OK) {
+ inputStream = con.getInputStream();
+ } else {
+ inputStream = con.getErrorStream();
+ }
+
+ // Process the response
+ LOG.debug("HttpURLConnection result:" + responseCode);
+ if(inputStream == null) inputStream = new ByteArrayInputStream("".getBytes(StandardCharsets.UTF_8));
+ BufferedReader reader = new BufferedReader( new InputStreamReader( inputStream ) );
+
+ ObjectMapper mapper = getObjectMapper();
+
+ if (responseCode == HttpURLConnection.HTTP_OK) {
+// StringBuilder stringBuilder = new StringBuilder("\n");
+// String line = null;
+// while( ( line = reader.readLine() ) != null ) {
+// stringBuilder.append("\n").append( line );
+// }
+// LOG.info(stringBuilder.toString());
+ response = mapper.readValue(reader, Service.class);
+ LOGwriteEndingTrace(HttpURLConnection.HTTP_OK, "SUCCESS", mapper.writeValueAsString(response));
+ } else {
+ ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
+ LOGwriteEndingTrace(responseCode, "FAILURE", mapper.writeValueAsString(errorresponse));
+ throw new AAIServiceException(responseCode, errorresponse);
+ }
+
+ } catch(AAIServiceException aaiexc) {
+ throw aaiexc;
+ } catch (Exception exc) {
+ LOG.warn("requestServiceData", exc);
+ throw new AAIServiceException(exc);
+ } finally {
+ if(inputStream != null){
+ try {
+ inputStream.close();
+ } catch(Exception exc) {
+
+ }
+ }
+ }
+ return response;
+ }
+
+ @Override
+ public boolean postServiceData(String linkName, Service request) throws AAIServiceException {
+ InputStream inputStream = null;
+
+ try {
+
+ ObjectMapper mapper = getObjectMapper();
+ String json_text = mapper.writeValueAsString(request);
+
+ String request_url = target_uri+service_path;
+ String encoded_vnf = encodeQuery(linkName);
+ request_url = request_url.replace("{service-id}", encoded_vnf) ;
+ URL http_req_url = new URL(request_url);
+
+ HttpURLConnection con = getConfiguredConnection(http_req_url, HttpMethod.PUT);
+
+ OutputStreamWriter osw = new OutputStreamWriter(con.getOutputStream());
+ osw.write(json_text);
+ osw.flush();
+ osw.close();
+
+
+ LOGwriteFirstTrace("PUT", request_url);
+ LOGwriteDateTrace("service-id", linkName);
+ LOGwriteDateTrace("Service", json_text);
+
+ // Check for errors
+ int responseCode = con.getResponseCode();
+ if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_CREATED || responseCode == HttpURLConnection.HTTP_ACCEPTED || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
+ inputStream = con.getInputStream();
+ } else {
+ inputStream = con.getErrorStream();
+ }
+
+ // Process the response
+ BufferedReader reader;
+ String line = null;
+ reader = new BufferedReader( new InputStreamReader( inputStream ) );
+
+ if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_CREATED || responseCode == HttpURLConnection.HTTP_ACCEPTED || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
+ StringBuilder stringBuilder = new StringBuilder();
+
+ while( ( line = reader.readLine() ) != null ) {
+ stringBuilder.append( line );
+ }
+ LOGwriteEndingTrace(responseCode, "SUCCESS", (stringBuilder != null) ? stringBuilder.toString() : "{no-data}");
+ return true;
+ } else {
+ ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
+ LOGwriteEndingTrace(responseCode, "FAILURE", mapper.writeValueAsString(errorresponse));
+
+ throw new AAIServiceException(responseCode, errorresponse);
+ }
+ } catch(AAIServiceException aaiexc) {
+ throw aaiexc;
+ } catch (Exception exc) {
+ LOG.warn("postServiceData", exc);
+ throw new AAIServiceException(exc);
+ } finally {
+ try {
+ if(inputStream != null)
+ inputStream.close();
+ } catch (Exception exc) {
+
+ }
+ }
+ }
+
+ @Override
+ public boolean deleteServiceData(String linkName, String resourceVersion) throws AAIServiceException {
+ boolean response = false;
+ InputStream inputStream = null;
+
+ try {
+ String request_url = target_uri+service_path;
+ String encoded_vnf = encodeQuery(linkName);
+ request_url = request_url.replace("{service-id}", encoded_vnf) ;
+ if(resourceVersion!=null) {
+ request_url = request_url +"?resource-version="+resourceVersion;
+ }
+ URL http_req_url = new URL(request_url);
+
+ HttpURLConnection con = getConfiguredConnection(http_req_url, HttpMethod.DELETE);
+
+ LOGwriteFirstTrace("DELETE", http_req_url.toString());
+ LOGwriteDateTrace("service-id", linkName);
+
+ // Check for errors
+ int responseCode = con.getResponseCode();
+ if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
+ inputStream = con.getInputStream();
+ } else {
+ inputStream = con.getErrorStream();
+ }
+
+ // Process the response
+ LOG.debug("HttpURLConnection result:" + responseCode);
+ if(inputStream == null) inputStream = new ByteArrayInputStream("".getBytes(StandardCharsets.UTF_8));
+ BufferedReader reader = new BufferedReader( new InputStreamReader( inputStream ) );
+ String line = null;
+
+ ObjectMapper mapper = getObjectMapper();
+
+ if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
+ StringBuilder stringBuilder = new StringBuilder();
+
+ while( ( line = reader.readLine() ) != null ) {
+ stringBuilder.append( line );
+ }
+ LOGwriteEndingTrace(responseCode, "SUCCESS", stringBuilder.toString());
+ response = true;
+ } else if(responseCode == HttpURLConnection.HTTP_NOT_FOUND ) {
+ LOGwriteEndingTrace(responseCode, "HTTP_NOT_FOUND", "Entry does not exist.");
+ response = false;
+ } else {
+ ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
+ LOGwriteEndingTrace(responseCode, "FAILURE", mapper.writeValueAsString(errorresponse));
+ throw new AAIServiceException(responseCode, errorresponse);
+ }
+
+ } catch(AAIServiceException aaiexc) {
+ throw aaiexc;
+ } catch (Exception exc) {
+ LOG.warn("deleteServiceData", exc);
+ throw new AAIServiceException(exc);
+ } finally {
+ if(inputStream != null){
+ try {
+ inputStream.close();
+ } catch(Exception exc) {
+
+ }
+ }
+ }
+ return response;
+ }
+ //================== End of Service =================
+
+
+
+ // 1507 - Request
+ @Override
+ public VServer dataChangeRequestVServerData(URL url) throws AAIServiceException {
+
+ if(url == null) {
+ throw new NullPointerException();
+ }
+
+ return this.getResource(url.toString(), VServer.class);
+ }
+
+ @Override
+ public Pserver dataChangeRequestPServerData(URL url) throws AAIServiceException {
+
+ if(url == null) {
+ throw new NullPointerException();
+ }
+
+ return this.getResource(url.toString(), Pserver.class);
+ }
+
+ @Override
+ public AvailabilityZone dataChangeRequestAvailabilityZoneData(URL url) throws AAIServiceException {
+
+ if(url == null) {
+ throw new NullPointerException();
+ }
+
+ return this.getResource(url.toString(), AvailabilityZone.class);
+ }
+
+ /* DELETE */
+ public boolean dataChangeDeleteVServerData(URL url) throws AAIServiceException {
+
+ if(url == null) {
+ throw new NullPointerException();
+ }
+
+ return deleteAAIEntity(url, new Object(){}.getClass().getEnclosingMethod().getName());
+ }
+
+ public boolean dataChangeDeleteCtagPoolData(URL url) throws AAIServiceException {
+
+ if(url == null) {
+ throw new NullPointerException();
+ }
+
+ return deleteAAIEntity(url, new Object(){}.getClass().getEnclosingMethod().getName());
+ }
+
+ public boolean dataChangeDeleteVplsPeData(URL url) throws AAIServiceException {
+
+ if(url == null) {
+ throw new NullPointerException();
+ }
+
+ return deleteAAIEntity(url, new Object(){}.getClass().getEnclosingMethod().getName());
+ }
+
+ public boolean dataChangeDeleteVpeData(URL url) throws AAIServiceException {
+
+ if(url == null) {
+ throw new NullPointerException();
+ }
+
+ return deleteAAIEntity(url, new Object(){}.getClass().getEnclosingMethod().getName());
+ }
+
+ public boolean dataChangeDeleteDvsSwitchData(URL url) throws AAIServiceException {
+
+ if(url == null) {
+ throw new NullPointerException();
+ }
+
+ return deleteAAIEntity(url, new Object(){}.getClass().getEnclosingMethod().getName());
+ }
+ //OAM-Network:
+ public boolean dataChangeDeleteOAMNetworkData(URL url) throws AAIServiceException {
+
+ if(url == null) {
+ throw new NullPointerException();
+ }
+
+ return deleteAAIEntity(url, new Object(){}.getClass().getEnclosingMethod().getName());
+ }
+ //Availability-Zone:
+ public boolean dataChangeDeleteAvailabilityZoneData(URL url) throws AAIServiceException {
+
+ if(url == null) {
+ throw new NullPointerException();
+ }
+
+ return deleteAAIEntity(url, new Object(){}.getClass().getEnclosingMethod().getName());
+ }
+ //Complex:
+ public boolean dataChangeDeleteComplexData(URL url) throws AAIServiceException {
+
+ if(url == null) {
+ throw new NullPointerException();
+ }
+
+ return deleteAAIEntity(url, new Object(){}.getClass().getEnclosingMethod().getName());
+ }
+
+ private boolean deleteAAIEntity(URL url, String caller) throws AAIServiceException {
+
+ if(url == null) {
+ throw new NullPointerException();
+ }
+
+ boolean response = false;
+ InputStream inputStream = null;
+
+ try {
+ URL http_req_url = url;
+
+ HttpURLConnection con = getConfiguredConnection(http_req_url, HttpMethod.DELETE);
+
+ LOGwriteFirstTrace("DELETE", http_req_url.toString());
+
+
+ // Check for errors
+ int responseCode = con.getResponseCode();
+ if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
+ inputStream = con.getInputStream();
+ } else {
+ inputStream = con.getErrorStream();
+ }
+
+ // Process the response
+ LOG.debug("HttpURLConnection result:" + responseCode);
+ if(inputStream == null) inputStream = new ByteArrayInputStream("".getBytes(StandardCharsets.UTF_8));
+ BufferedReader reader = new BufferedReader( new InputStreamReader( inputStream ) );
+ String line = null;
+
+ ObjectMapper mapper = getObjectMapper();
+
+ if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
+ StringBuilder stringBuilder = new StringBuilder();
+
+ while( ( line = reader.readLine() ) != null ) {
+ stringBuilder.append( line );
+ }
+ LOGwriteEndingTrace(responseCode, "SUCCESS", stringBuilder.toString());
+ response = true;
+ } else if(responseCode == HttpURLConnection.HTTP_NOT_FOUND ) {
+ LOGwriteEndingTrace(responseCode, "HTTP_NOT_FOUND", "Entry does not exist.");
+ response = false;
+ } else {
+ ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
+ LOGwriteEndingTrace(responseCode, "FAILURE", mapper.writeValueAsString(errorresponse));
+ throw new AAIServiceException(responseCode, errorresponse);
+ }
+
+ } catch(AAIServiceException aaiexc) {
+ throw aaiexc;
+ } catch (Exception exc) {
+ LOG.warn(caller, exc);
+ throw new AAIServiceException(exc);
+ } finally {
+ if(inputStream != null){
+ try {
+ inputStream.close();
+ } catch(Exception exc) {
+
+ }
+ }
+ }
+ return response;
+ }
+
+ /**
+ * Generic method to GET json data from an A&AI callback URL.
+ * Then convert that json to an Object.
+ * If successful the Object is attempted to be cast to the type parameter.
+ *
+ * @param key
+ * callback url for A&AI
+ * @param type
+ * the class of object that A&AI will return
+ * @return the object created from json or null if the response code is not 200
+ *
+ * @throws AAIServiceException
+ * if empty or null key and or type or there's an error with processing
+ */
+ public <T> T dataChangeRequestAaiData(String key, Class<T> type) throws AAIServiceException {
+ if (StringUtils.isEmpty(key) || type == null) {
+ throw new AAIServiceException("Key is empty or null and or type is null");
+ }
+
+ T response = null;
+
+ SvcLogicContext ctx = new SvcLogicContext();
+ if(!key.contains(" = ") && isValidURL(key)) {
+ key = String.format("selflink = '%s'", key);
+ }
+ HashMap<String, String> nameValues = keyToHashMap(key, ctx);
+
+ SelfLinkRequest request = new SelfLinkRequest(type);
+ request.processRequestPathValues(nameValues);
+ Object obj = this.getExecutor().query(request, type);
+ response = type.cast(obj);
+
+ return response != null ? type.cast(response) : response;
+ }
+
+ @Override
+ public Pserver requestPServerData(String hostname) throws AAIServiceException {
+ Pserver response = null;
+ InputStream inputStream = null;
+
+ try {
+ String request_url = target_uri+network_pserver_path;
+ String encoded_vnf = encodeQuery(hostname);
+ request_url = request_url.replace("{hostname}", encoded_vnf) ;
+ URL http_req_url = new URL(request_url);
+
+ HttpURLConnection con = getConfiguredConnection(http_req_url, HttpMethod.GET);
+
+ LOGwriteFirstTrace(HttpMethod.GET, http_req_url.toString());
+ LOGwriteDateTrace("hostname", hostname);
+
+ // Check for errors
+ int responseCode = con.getResponseCode();
+ if (responseCode == HttpURLConnection.HTTP_OK) {
+ inputStream = con.getInputStream();
+ } else {
+ inputStream = con.getErrorStream();
+ }
+
+ // Process the response
+ LOG.debug("HttpURLConnection result:" + responseCode);
+ if(inputStream == null) inputStream = new ByteArrayInputStream("".getBytes(StandardCharsets.UTF_8));
+ BufferedReader reader = new BufferedReader( new InputStreamReader( inputStream ) );
+
+ ObjectMapper mapper = getObjectMapper();
+
+ if (responseCode == HttpURLConnection.HTTP_OK) {
+// StringBuilder stringBuilder = new StringBuilder("\n");
+// String line = null;
+// while( ( line = reader.readLine() ) != null ) {
+// stringBuilder.append("\n").append( line );
+// }
+// LOG.info(stringBuilder.toString());
+ response = mapper.readValue(reader, Pserver.class);
+ LOGwriteEndingTrace(HttpURLConnection.HTTP_OK, "SUCCESS", mapper.writeValueAsString(response));
+ } else if(responseCode == HttpURLConnection.HTTP_NOT_FOUND ) {
+ LOGwriteEndingTrace(responseCode, "HTTP_NOT_FOUND", "Entry does not exist.");
+ return response;
+ } else {
+ ErrorResponse errorresponse = new ErrorResponse();
+ try {
+ errorresponse = mapper.readValue(reader, ErrorResponse.class);
+ LOGwriteEndingTrace(responseCode, "FAILURE", mapper.writeValueAsString(errorresponse));
+ throw new AAIServiceException(responseCode, errorresponse);
+ } catch(Exception exc) {
+ }
+ throw new AAIServiceException(responseCode, errorresponse);
+ }
+
+ } catch(AAIServiceException aaiexc) {
+ throw aaiexc;
+ } catch (Exception exc) {
+ LOG.warn("requestPServerData", exc);
+ throw new AAIServiceException(exc);
+ } finally {
+ if(inputStream != null){
+ try {
+ inputStream.close();
+ } catch(Exception exc) {
+
+ }
+ }
+ }
+ return response;
+ }
+
+ @Override
+ public boolean postPServerData(String hostname, Pserver request) throws AAIServiceException {
+ InputStream inputStream = null;
+
+ try {
+
+ ObjectMapper mapper = getObjectMapper();
+ String json_text = mapper.writeValueAsString(request);
+
+ String request_url = target_uri+network_pserver_path;
+
+ request_url = request_url.replace("{hostname}", encodeQuery(hostname)) ;
+ URL http_req_url = new URL(request_url);
+
+ HttpURLConnection con = getConfiguredConnection(http_req_url, HttpMethod.PUT);
+
+ OutputStreamWriter osw = new OutputStreamWriter(con.getOutputStream());
+ osw.write(json_text);
+ osw.flush();
+ osw.close();
+
+
+ LOGwriteFirstTrace("PUT", request_url);
+ LOGwriteDateTrace("hostname", hostname);
+ LOGwriteDateTrace("PServer", json_text);
+
+ // Check for errors
+ int responseCode = con.getResponseCode();
+ if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_CREATED || responseCode == HttpURLConnection.HTTP_ACCEPTED || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
+ inputStream = con.getInputStream();
+ } else {
+ inputStream = con.getErrorStream();
+ }
+
+ // Process the response
+ BufferedReader reader;
+ String line = null;
+ reader = new BufferedReader( new InputStreamReader( inputStream ) );
+
+ if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_CREATED || responseCode == HttpURLConnection.HTTP_ACCEPTED || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
+ StringBuilder stringBuilder = new StringBuilder();
+
+ while( ( line = reader.readLine() ) != null ) {
+ stringBuilder.append( line );
+ }
+ LOGwriteEndingTrace(responseCode, "SUCCESS", (stringBuilder != null) ? stringBuilder.toString() : "{no-data}");
+ return true;
+ } else {
+ ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
+ LOGwriteEndingTrace(responseCode, "FAILURE", mapper.writeValueAsString(errorresponse));
+
+ throw new AAIServiceException(responseCode, errorresponse);
+ }
+ } catch(AAIServiceException aaiexc) {
+ throw aaiexc;
+ } catch (Exception exc) {
+ LOG.warn("postPServerData", exc);
+ throw new AAIServiceException(exc);
+ } finally {
+ try {
+ if(inputStream != null)
+ inputStream.close();
+ } catch (Exception exc) {
+
+ }
+ }
+ }
+
+ @Override
+ public boolean deletePServerData(String hostname, String resourceVersion) throws AAIServiceException {
+ boolean response = false;
+ InputStream inputStream = null;
+
+ try {
+
+ String request_url = target_uri+network_pserver_path;
+
+ String encoded_vnf = encodeQuery(hostname);
+ request_url = request_url.replace("{hostname}", encoded_vnf) ;
+ if(resourceVersion!=null) {
+ request_url = request_url +"?resource-version="+resourceVersion;
+ }
+ URL http_req_url = new URL(request_url);
+
+ HttpURLConnection con = getConfiguredConnection(http_req_url, HttpMethod.DELETE);
+
+ LOGwriteFirstTrace("DELETE", http_req_url.toString());
+ LOGwriteDateTrace("hostname", hostname);
+
+ // Check for errors
+ int responseCode = con.getResponseCode();
+ if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
+ inputStream = con.getInputStream();
+ } else {
+ inputStream = con.getErrorStream();
+ }
+
+ // Process the response
+ LOG.debug("HttpURLConnection result:" + responseCode);
+ if(inputStream == null) inputStream = new ByteArrayInputStream("".getBytes(StandardCharsets.UTF_8));
+ BufferedReader reader = new BufferedReader( new InputStreamReader( inputStream ) );
+ String line = null;
+
+ ObjectMapper mapper = getObjectMapper();
+
+ if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
+ StringBuilder stringBuilder = new StringBuilder();
+
+ while( ( line = reader.readLine() ) != null ) {
+ stringBuilder.append( line );
+ }
+ LOGwriteEndingTrace(responseCode, "SUCCESS", stringBuilder.toString());
+ response = true;
+ } else if(responseCode == HttpURLConnection.HTTP_NOT_FOUND ) {
+ LOGwriteEndingTrace(responseCode, "HTTP_NOT_FOUND", "Entry does not exist.");
+ response = true;
+ } else {
+ ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
+ LOGwriteEndingTrace(responseCode, "FAILURE", mapper.writeValueAsString(errorresponse));
+ throw new AAIServiceException(responseCode, errorresponse);
+ }
+
+ } catch(AAIServiceException aaiexc) {
+ throw aaiexc;
+ } catch (Exception exc) {
+ LOG.warn("deletePServersData", exc);
+ throw new AAIServiceException(exc);
+ } finally {
+ if(inputStream != null){
+ try {
+ inputStream.close();
+ } catch(Exception exc) {
+
+ }
+ }
+ }
+ return response;
+ }
+
+
+ @Override
+ public L3Network requestL3NetworkData(String networkId) throws AAIServiceException {
+ L3Network response = null;
+ InputStream inputStream = null;
+
+ try {
+ String request_url = target_uri+l3_network_path;
+ String encoded_vnf = encodeQuery(networkId);
+ request_url = request_url.replace("{network-id}", encoded_vnf) ;
+ URL http_req_url = new URL(request_url);
+
+ HttpURLConnection con = getConfiguredConnection(http_req_url, HttpMethod.GET);
+
+ LOGwriteFirstTrace(HttpMethod.GET, http_req_url.toString());
+ LOGwriteDateTrace("network-id", networkId);
+
+ // Check for errors
+ int responseCode = con.getResponseCode();
+ if (responseCode == HttpURLConnection.HTTP_OK) {
+ inputStream = con.getInputStream();
+ } else {
+ inputStream = con.getErrorStream();
+ }
+
+ // Process the response
+ LOG.debug("HttpURLConnection result:" + responseCode);
+ if(inputStream == null) inputStream = new ByteArrayInputStream("".getBytes(StandardCharsets.UTF_8));
+ BufferedReader reader = new BufferedReader( new InputStreamReader( inputStream ) );
+
+ ObjectMapper mapper = getObjectMapper();
+
+ if (responseCode == HttpURLConnection.HTTP_OK) {
+// StringBuilder stringBuilder = new StringBuilder("\n");
+// String line = null;
+// while( ( line = reader.readLine() ) != null ) {
+// stringBuilder.append("\n").append( line );
+// }
+// LOG.info(stringBuilder.toString());
+ response = mapper.readValue(reader, L3Network.class);
+ LOGwriteEndingTrace(HttpURLConnection.HTTP_OK, "SUCCESS", mapper.writeValueAsString(response));
+ } else if(responseCode == HttpURLConnection.HTTP_NOT_FOUND ) {
+ LOGwriteEndingTrace(responseCode, "HTTP_NOT_FOUND", "Entry does not exist.");
+ return response;
+ } else {
+ ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
+ LOGwriteEndingTrace(responseCode, "FAILURE", mapper.writeValueAsString(errorresponse));
+ throw new AAIServiceException(responseCode, errorresponse);
+ }
+
+ } catch(AAIServiceException aaiexc) {
+ throw aaiexc;
+ } catch (Exception exc) {
+ LOG.warn("requestL3NetworkData", exc);
+ throw new AAIServiceException(exc);
+ } finally {
+ if(inputStream != null){
+ try {
+ inputStream.close();
+ } catch(Exception exc) {
+
+ }
+ }
+ }
+ return response;
+ }
+
+ @Override
+ public L3Network requestL3NetworkQueryByName(String networkName) throws AAIServiceException {
+ L3Network response = null;
+ InputStream inputStream = null;
+
+ try {
+ String request_url = target_uri+l3_network_path_query_name;
+ String encoded_name = encodeQuery(networkName);
+ request_url = request_url.replace("{network-name}", encoded_name) ;
+ URL http_req_url = new URL(request_url);
+
+ HttpURLConnection con = getConfiguredConnection(http_req_url, HttpMethod.GET);
+
+ LOGwriteFirstTrace(HttpMethod.GET, http_req_url.toString());
+ LOGwriteDateTrace("network-name", networkName);
+
+ // Check for errors
+ int responseCode = con.getResponseCode();
+ if (responseCode == HttpURLConnection.HTTP_OK) {
+ inputStream = con.getInputStream();
+ } else {
+ inputStream = con.getErrorStream();
+ }
+
+ // Process the response
+ LOG.debug("HttpURLConnection result:" + responseCode);
+ if(inputStream == null) inputStream = new ByteArrayInputStream("".getBytes(StandardCharsets.UTF_8));
+ BufferedReader reader = new BufferedReader( new InputStreamReader( inputStream ) );
+
+ ObjectMapper mapper = getObjectMapper();
+
+ if (responseCode == HttpURLConnection.HTTP_OK) {
+// StringBuilder stringBuilder = new StringBuilder("\n");
+// String line = null;
+// while( ( line = reader.readLine() ) != null ) {
+// stringBuilder.append("\n").append( line );
+// }
+// LOG.info(stringBuilder.toString());
+ response = mapper.readValue(reader, L3Network.class);
+ LOGwriteEndingTrace(HttpURLConnection.HTTP_OK, "SUCCESS", mapper.writeValueAsString(response));
+ } else if(responseCode == HttpURLConnection.HTTP_NOT_FOUND ) {
+ LOGwriteEndingTrace(responseCode, "HTTP_NOT_FOUND", "Entry does not exist.");
+ return response;
+ } else {
+ ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
+ LOGwriteEndingTrace(responseCode, "FAILURE", mapper.writeValueAsString(errorresponse));
+ throw new AAIServiceException(responseCode, errorresponse);
+ }
+
+ } catch(AAIServiceException aaiexc) {
+ throw aaiexc;
+ } catch (Exception exc) {
+ LOG.warn("requestL3NetworkData", exc);
+ throw new AAIServiceException(exc);
+ } finally {
+ if(inputStream != null){
+ try {
+ inputStream.close();
+ } catch(Exception exc) {
+
+ }
+ }
+ }
+ return response;
+ }
+
+ @Override
+ public boolean postL3NetworkData(String networkId, L3Network request) throws AAIServiceException {
+ InputStream inputStream = null;
+
+ try {
+
+ ObjectMapper mapper = getObjectMapper();
+ String json_text = mapper.writeValueAsString(request);
+
+ String request_url = target_uri+l3_network_path;
+
+ String encoded_vnf = encodeQuery(networkId);
+ request_url = request_url.replace("{network-id}", encoded_vnf) ;
+ URL http_req_url = new URL(request_url);
+
+ HttpURLConnection con = getConfiguredConnection(http_req_url, HttpMethod.PUT);
+
+ OutputStreamWriter osw = new OutputStreamWriter(con.getOutputStream());
+ osw.write(json_text);
+ osw.flush();
+ osw.close();
+
+
+ LOGwriteFirstTrace("PUT", request_url);
+ LOGwriteDateTrace("network-id", networkId);
+ LOGwriteDateTrace("GenericVnf", json_text);
+
+ // Check for errors
+ int responseCode = con.getResponseCode();
+ if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_CREATED || responseCode == HttpURLConnection.HTTP_ACCEPTED || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
+ inputStream = con.getInputStream();
+ } else {
+ inputStream = con.getErrorStream();
+ }
+
+ // Process the response
+ BufferedReader reader;
+ String line = null;
+ reader = new BufferedReader( new InputStreamReader( inputStream ) );
+
+ if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_CREATED || responseCode == HttpURLConnection.HTTP_ACCEPTED || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
+ StringBuilder stringBuilder = new StringBuilder();
+
+ while( ( line = reader.readLine() ) != null ) {
+ stringBuilder.append( line );
+ }
+ LOGwriteEndingTrace(responseCode, "SUCCESS", (stringBuilder != null) ? stringBuilder.toString() : "{no-data}");
+ return true;
+ } else {
+ ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
+ LOGwriteEndingTrace(responseCode, "FAILURE", mapper.writeValueAsString(errorresponse));
+
+ throw new AAIServiceException(responseCode, errorresponse);
+ }
+ } catch(AAIServiceException aaiexc) {
+ throw aaiexc;
+ } catch (Exception exc) {
+ LOG.warn("postL3NetworkData", exc);
+ throw new AAIServiceException(exc);
+ } finally {
+ try {
+ if(inputStream != null)
+ inputStream.close();
+ } catch (Exception exc) {
+
+ }
+ }
+ }
+
+ @Override
+ public boolean deleteL3NetworkData(String networkId, String resourceVersion) throws AAIServiceException {
+ boolean response = false;
+ InputStream inputStream = null;
+
+ try {
+ String request_url = target_uri+l3_network_path;
+
+ String encoded_vnf = encodeQuery(networkId);
+ request_url = request_url.replace("{network-id}", encoded_vnf) ;
+ if(resourceVersion!=null) {
+ request_url = request_url +"?resource-version="+resourceVersion;
+ }
+ URL http_req_url = new URL(request_url);
+
+ HttpURLConnection con = getConfiguredConnection(http_req_url, HttpMethod.DELETE);
+
+ LOGwriteFirstTrace("DELETE", http_req_url.toString());
+ LOGwriteDateTrace("network-id", networkId);
+
+ // Check for errors
+ int responseCode = con.getResponseCode();
+ if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
+ inputStream = con.getInputStream();
+ } else {
+ inputStream = con.getErrorStream();
+ }
+
+ // Process the response
+ LOG.debug("HttpURLConnection result:" + responseCode);
+ if(inputStream == null) inputStream = new ByteArrayInputStream("".getBytes(StandardCharsets.UTF_8));
+ BufferedReader reader = new BufferedReader( new InputStreamReader( inputStream ) );
+ String line = null;
+
+ ObjectMapper mapper = getObjectMapper();
+
+ if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
+ StringBuilder stringBuilder = new StringBuilder();
+
+ while( ( line = reader.readLine() ) != null ) {
+ stringBuilder.append( line );
+ }
+ LOGwriteEndingTrace(responseCode, "SUCCESS", stringBuilder.toString());
+ response = true;
+ } else if(responseCode == HttpURLConnection.HTTP_NOT_FOUND ) {
+ LOGwriteEndingTrace(responseCode, "HTTP_NOT_FOUND", "Entry does not exist.");
+ response = false;
+ } else {
+ ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
+ LOGwriteEndingTrace(responseCode, "FAILURE", mapper.writeValueAsString(errorresponse));
+ throw new AAIServiceException(responseCode, errorresponse);
+ }
+
+ } catch(AAIServiceException aaiexc) {
+ throw aaiexc;
+ } catch (Exception exc) {
+ LOG.warn("deleteL3NetworkData", exc);
+ throw new AAIServiceException(exc);
+ } finally {
+ if(inputStream != null){
+ try {
+ inputStream.close();
+ } catch(Exception exc) {
+
+ }
+ }
+ }
+ return response;
+ }
+
+
+ public boolean sendNotify(NotifyEvent event, String serviceInstanceId, String pathCode) throws AAIServiceException {
+ InputStream inputStream = null;
+
+ try {
+
+ String selfLink = selflink_fqdn;
+ if(SELFLINK_AVPN != null && SELFLINK_AVPN.equals(pathCode)) {
+ selfLink = selflink_avpn;
+ }
+ selfLink = selfLink.replace("{service-instance-id}", encodeQuery(serviceInstanceId));
+ event.setSelflink(selfLink);
+
+ ObjectMapper mapper = getObjectMapper();
+ String json_text = mapper.writeValueAsString(event);
+
+ String request_url = target_uri+ubb_notify_path;
+ URL http_req_url = new URL(request_url);
+
+ HttpURLConnection con = getConfiguredConnection(http_req_url, HttpMethod.PUT);
+
+ OutputStreamWriter osw = new OutputStreamWriter(con.getOutputStream());
+ osw.write(json_text);
+ osw.flush();
+ osw.close();
+
+
+ LOGwriteFirstTrace("PUT", request_url);
+ LOGwriteDateTrace("NotifyEvent", json_text);
+
+ // Check for errors
+ int responseCode = con.getResponseCode();
+ if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_CREATED || responseCode == HttpURLConnection.HTTP_ACCEPTED || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
+ inputStream = con.getInputStream();
+ } else {
+ inputStream = con.getErrorStream();
+ }
+
+ // Process the response
+ BufferedReader reader;
+ String line = null;
+ reader = new BufferedReader( new InputStreamReader( inputStream ) );
+
+ if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_CREATED || responseCode == HttpURLConnection.HTTP_ACCEPTED || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
+ StringBuilder stringBuilder = new StringBuilder();
+
+ while( ( line = reader.readLine() ) != null ) {
+ stringBuilder.append( line );
+ }
+ LOGwriteEndingTrace(responseCode, "SUCCESS", (stringBuilder != null) ? stringBuilder.toString() : "{no-data}");
+ return true;
+ } else {
+ ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
+ LOGwriteEndingTrace(responseCode, "FAILURE", mapper.writeValueAsString(errorresponse));
+
+ throw new AAIServiceException(responseCode, errorresponse);
+ }
+ } catch(AAIServiceException aaiexc) {
+ throw aaiexc;
+ } catch (Exception exc) {
+ LOG.warn("sendNotify", exc);
+ throw new AAIServiceException(exc);
+ } finally {
+ try {
+ if(inputStream != null)
+ inputStream.close();
+ } catch (Exception exc) {
+
+ }
+ }
+ }
+
+ @Override
+ public SearchResults requestNodeQuery(String node_type, String entityIdentifier, String entityName) throws AAIServiceException {
+ SearchResults response = null;
+ InputStream inputStream = null;
+
+ try {
+ String request_url = target_uri+query_nodes_path;
+ request_url = request_url.replace("{node-type}", encodeQuery(node_type)) ;
+ request_url = request_url.replace("{entity-identifier}", entityIdentifier) ;
+ request_url = request_url.replace("{entity-name}", encodeQuery(entityName)) ;
+ URL http_req_url = new URL(request_url);
+
+ HttpURLConnection con = getConfiguredConnection(http_req_url, HttpMethod.GET);
+
+ LOGwriteFirstTrace(HttpMethod.GET, http_req_url.toString());
+ LOGwriteDateTrace("node_type", node_type);
+ LOGwriteDateTrace("vnf_name", entityName);
+
+ // Check for errors
+ int responseCode = con.getResponseCode();
+ if (responseCode == HttpURLConnection.HTTP_OK) {
+ inputStream = con.getInputStream();
+ } else {
+ inputStream = con.getErrorStream();
+ }
+
+ // Process the response
+ LOG.debug("HttpURLConnection result:" + responseCode);
+ if(inputStream == null) inputStream = new ByteArrayInputStream("".getBytes(StandardCharsets.UTF_8));
+ BufferedReader reader = new BufferedReader( new InputStreamReader( inputStream ) );
+
+ ObjectMapper mapper = getObjectMapper();
+
+ if (responseCode == HttpURLConnection.HTTP_OK) {
+ response = mapper.readValue(reader, SearchResults.class);
+ LOGwriteEndingTrace(HttpURLConnection.HTTP_OK, "SUCCESS", mapper.writeValueAsString(response));
+ } else if (responseCode == HttpURLConnection.HTTP_NOT_FOUND) {
+ LOGwriteEndingTrace(responseCode, "HTTP_NOT_FOUND", "Entry does not exist.");
+ return response;
+ } else {
+ ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
+ LOGwriteEndingTrace(responseCode, "FAILURE", mapper.writeValueAsString(errorresponse));
+ throw new AAIServiceException(responseCode, errorresponse);
+ }
+
+ } catch(AAIServiceException aaiexc) {
+ throw aaiexc;
+ } catch (Exception exc) {
+ LOG.warn("requestNodeQuery", exc);
+ throw new AAIServiceException(exc);
+ } finally {
+ if(inputStream != null){
+ try {
+ inputStream.close();
+ } catch(Exception exc) {
+
+ }
+ }
+ }
+ return response;
+
+ }
+
+
+ @Override
+ public String requestDataByURL(URL url) throws AAIServiceException {
+
+ if(url == null) {
+ throw new NullPointerException();
+ }
+
+ String response = null;
+ InputStream inputStream = null;
+
+ try {
+ URL http_req_url = url;
+
+ HttpURLConnection con = getConfiguredConnection(http_req_url, HttpMethod.GET);
+
+ LOGwriteFirstTrace(HttpMethod.GET, http_req_url.toString());
+
+ // Check for errors
+ int responseCode = con.getResponseCode();
+ if (responseCode == HttpURLConnection.HTTP_OK) {
+ inputStream = con.getInputStream();
+ } else {
+ inputStream = con.getErrorStream();
+ }
+
+ // Process the response
+ LOG.debug("HttpURLConnection result:" + responseCode);
+ if(inputStream == null) inputStream = new ByteArrayInputStream("".getBytes(StandardCharsets.UTF_8));
+ BufferedReader reader = new BufferedReader( new InputStreamReader( inputStream ) );
+
+ ObjectMapper mapper = getObjectMapper();
+
+ if (responseCode == HttpURLConnection.HTTP_OK) {
+ StringBuilder stringBuilder = new StringBuilder("\n");
+ String line = null;
+ while( ( line = reader.readLine() ) != null ) {
+ stringBuilder.append( line );
+ }
+ LOG.info(stringBuilder.toString());
+// response = mapper.readValue(reader, String.class);
+ response = stringBuilder.toString();
+ LOGwriteEndingTrace(HttpURLConnection.HTTP_OK, "SUCCESS", mapper.writeValueAsString(response));
+ } else if(responseCode == HttpURLConnection.HTTP_NOT_FOUND ) {
+ LOGwriteEndingTrace(responseCode, "HTTP_NOT_FOUND", "Entry does not exist.");
+ response = null;
+ } else {
+ ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
+ LOGwriteEndingTrace(responseCode, "FAILURE", mapper.writeValueAsString(errorresponse));
+ throw new AAIServiceException(responseCode, errorresponse);
+ }
+
+ } catch(AAIServiceException aaiexc) {
+ throw aaiexc;
+ } catch (Exception exc) {
+ LOG.warn("requestNetworkVceData", exc);
+ throw new AAIServiceException(exc);
+ } finally {
+ if(inputStream != null){
+ try {
+ inputStream.close();
+ } catch(Exception exc) {
+
+ }
+ }
+ }
+ return response;
+ }
+
+
+ @Override
+ public GenericVnf requestGenericVnfeNodeQuery(String vnf_name) throws AAIServiceException {
+
+ if(vnf_name == null) {
+ throw new NullPointerException();
+ }
+
+ GenericVnf entity = null;
+ SearchResults resp = this.requestNodeQuery("generic-vnf", "vnf-name", vnf_name);
+
+ List<ResultData> resultDataList = resp.getResultData();
+
+ try {
+ for (ResultData datum : resultDataList) {
+ String data_type = datum.getResourceType();
+ URL url = new URL(datum.getResourceLink());
+ entity = this.getResource(url.toString(), GenericVnf.class);
+ }
+ }
+ catch (Exception e)
+ {
+ LOG.error("Caught exception", e);
+ }
+ return entity;
+ }
+
+ @Override
+ public Vserver requestVServerDataByURL(URL url) throws AAIServiceException {
+
+ if(url == null) {
+ throw new NullPointerException();
+ }
+
+ Vserver entity = null;
+
+ try {
+ entity = this.getResource(url.toString(), Vserver.class);
+ }
+ catch (Exception e)
+ {
+ LOG.error("Caught exception", e);
+ }
+ return entity;
+ }
+
+ @Override
+ public URL requestVserverURLNodeQuery(String vserver_name) throws AAIServiceException {
+
+ if(vserver_name == null) {
+ throw new NullPointerException();
+ }
+
+ URL entity = null;
+ SearchResults resp = this.requestNodeQuery("vserver", "vserver-name", vserver_name);
+
+ List<ResultData> resultDataList = resp.getResultData();
+
+ try {
+ for (ResultData datum : resultDataList) {
+ String data_type = datum.getResourceType();
+ entity = new URL(datum.getResourceLink());
+ }
+ }
+ catch (Exception e)
+ {
+ LOG.error("Caught exception", e);
+ }
+ return entity;
+ }
+
+ class AAIRequestExecutor implements AAIExecutorInterface {
+
+ @Override
+ public String get(AAIRequest request) throws AAIServiceException {
+ String response = null;
+ InputStream inputStream = null;
+ HttpURLConnection con = null;
+ URL requestUrl = null;
+
+ try {
+
+ if(request.getRequestObject() != null) {
+ con = getConfiguredConnection(requestUrl = request.getRequestUrl(HttpMethod.POST, null), HttpMethod.POST);
+ String json_text = request.toJSONString();
+ LOGwriteDateTrace("data", json_text);
+ logMetricRequest("POST "+requestUrl.getPath(), json_text);
+ OutputStreamWriter osw = new OutputStreamWriter(con.getOutputStream());
+ osw.write(json_text);
+ osw.flush();
+ } else {
+ con = getConfiguredConnection(requestUrl = request.getRequestUrl(HttpMethod.GET, null), HttpMethod.GET);
+ logMetricRequest("GET "+requestUrl.getPath(), "");
+ }
+
+ // Check for errors
+ String responseMessage = con.getResponseMessage();
+ int responseCode = con.getResponseCode();
+ if (responseCode == HttpURLConnection.HTTP_OK) {
+ inputStream = con.getInputStream();
+ } else {
+ inputStream = con.getErrorStream();
+ }
+
+ // Process the response
+ LOG.debug("HttpURLConnection result:" + responseCode + " : " + responseMessage);
+ logMetricResponse(responseCode, responseMessage);
+
+ if(inputStream == null) inputStream = new ByteArrayInputStream("".getBytes(StandardCharsets.UTF_8));
+ BufferedReader reader = new BufferedReader( new InputStreamReader( inputStream ) );
+
+ ObjectMapper mapper = getObjectMapper();
+
+ if (responseCode == HttpURLConnection.HTTP_OK) {
+ StringBuilder stringBuilder = new StringBuilder();
+ String line = null;
+ while( ( line = reader.readLine() ) != null ) {
+ stringBuilder.append( line );
+ }
+ response = stringBuilder.toString();
+ try {
+ Object object = mapper.readValue(response, Object.class);
+ LOGwriteEndingTrace(HttpURLConnection.HTTP_OK, responseMessage, mapper.writeValueAsString(object));
+ } catch(Exception exc) {
+ LOGwriteEndingTrace(HttpURLConnection.HTTP_OK, responseMessage, mapper.writeValueAsString(response));
+ }
+ } else if (responseCode == HttpURLConnection.HTTP_NOT_FOUND) {
+ LOGwriteEndingTrace(responseCode, responseMessage, "Entry does not exist.");
+ ErrorResponse errorresponse = null;
+ try {
+ errorresponse = mapper.readValue(reader, ErrorResponse.class);
+ } catch(Exception exc) {
+ errorresponse = new ErrorResponse();
+ RequestError requestError = new RequestError();
+ ServiceException serviceException = new ServiceException();
+ serviceException.setText("Entry does not exist.");
+ requestError.setServiceException(serviceException);
+ errorresponse.setRequestError(requestError );
+ }
+ throw new AAIServiceException(responseCode, errorresponse);
+ } else if (responseCode == HttpURLConnection.HTTP_UNAUTHORIZED) {
+ StringBuilder stringBuilder = new StringBuilder();
+ String line = null;
+ while( ( line = reader.readLine() ) != null ) {
+ stringBuilder.append( line );
+ }
+ LOGwriteEndingTrace(responseCode, responseMessage, stringBuilder.toString());
+ ServiceException serviceException = new ServiceException();
+ serviceException.setMessageId("HTTP_UNAUTHORIZED");
+ serviceException.setText(stringBuilder.toString());
+ RequestError requestError = new RequestError();
+ requestError.setServiceException(serviceException);
+ ErrorResponse errorresponse = new ErrorResponse();
+ errorresponse.setRequestError(requestError);
+ throw new AAIServiceException(responseCode, errorresponse);
+ } else {
+//
+// StringBuilder stringBuilder = new StringBuilder("\n");
+// String line = null;
+// while( ( line = reader.readLine() ) != null ) {
+// stringBuilder.append("\n").append( line );
+// }
+// LOG.info(stringBuilder.toString());
+//
+// ErrorResponse errorresponse = mapper.readValue(stringBuilder.toString(), ErrorResponse.class);
+ ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
+ LOGwriteEndingTrace(responseCode, responseMessage, mapper.writeValueAsString(errorresponse));
+ throw new AAIServiceException(responseCode, errorresponse);
+ }
+
+ } catch(AAIServiceException aaiexc) {
+ throw aaiexc;
+ } catch (Exception exc) {
+ LOG.warn("GET", exc);
+ throw new AAIServiceException(exc);
+ } finally {
+ if(inputStream != null){
+ try {
+ inputStream.close();
+ } catch(Exception exc) {
+
+ }
+ }
+ }
+ return response;
+ }
+
+ @Override
+ public Boolean post(AAIRequest request) throws AAIServiceException {
+ InputStream inputStream = null;
+
+ try {
+ String resourceVersion = null;
+ AAIDatum instance = request.getRequestObject();
+ if(instance instanceof ResourceVersion) {
+ resourceVersion = ((ResourceVersion)instance).getResourceVersion();
+ }
+
+ URL requestUrl = null;
+ HttpURLConnection con = getConfiguredConnection(requestUrl = request.getRequestUrl(HttpMethod.PUT, resourceVersion), HttpMethod.PUT);
+ ObjectMapper mapper = getObjectMapper();
+ String json_text = request.toJSONString();
+
+ LOGwriteDateTrace("data", json_text);
+ logMetricRequest("PUT "+requestUrl.getPath(), json_text);
+
+ OutputStreamWriter osw = new OutputStreamWriter(con.getOutputStream());
+ osw.write(json_text);
+ osw.flush();
+
+ // Check for errors
+ String responseMessage = con.getResponseMessage();
+ int responseCode = con.getResponseCode();
+ if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_CREATED || responseCode == HttpURLConnection.HTTP_ACCEPTED || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
+ inputStream = con.getInputStream();
+ } else {
+ inputStream = con.getErrorStream();
+ }
+
+ LOG.debug("HttpURLConnection result:" + responseCode + " : " + responseMessage);
+ logMetricResponse(responseCode, responseMessage);
+
+ // Process the response
+ BufferedReader reader;
+ String line = null;
+ reader = new BufferedReader( new InputStreamReader( inputStream ) );
+ mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
+
+ if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_CREATED || responseCode == HttpURLConnection.HTTP_ACCEPTED || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
+ StringBuilder stringBuilder = new StringBuilder();
+
+ while( ( line = reader.readLine() ) != null ) {
+ stringBuilder.append( line );
+ }
+ LOGwriteEndingTrace(responseCode, responseMessage, (stringBuilder != null) ? stringBuilder.toString() : "{no-data}");
+ return true;
+ } else {
+ ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
+ LOGwriteEndingTrace(responseCode, responseMessage, mapper.writeValueAsString(errorresponse));
+
+ throw new AAIServiceException(responseCode, errorresponse);
+ }
+ } catch(AAIServiceException aaiexc) {
+ throw aaiexc;
+ } catch (Exception exc) {
+ LOG.warn("AAIRequestExecutor.post", exc);
+ throw new AAIServiceException(exc);
+ } finally {
+ try {
+ if(inputStream != null)
+ inputStream.close();
+ } catch (Exception exc) {
+
+ }
+ }
+ }
+
+ @Override
+ public Boolean delete(AAIRequest request, String resourceVersion) throws AAIServiceException {
+ Boolean response = null;
+ InputStream inputStream = null;
+
+ if(resourceVersion == null) {
+ throw new AAIServiceException("resource-version is required for DELETE request");
+ }
+
+ try {
+ URL requestUrl = null;
+ HttpURLConnection conn = getConfiguredConnection(requestUrl = request.getRequestUrl(HttpMethod.DELETE, resourceVersion), HttpMethod.DELETE);
+ logMetricRequest("DELETE "+requestUrl.getPath(), "");
+ conn.setDoOutput(true);
+// if(request.isDeleteDataRequired()) {
+// String json_text = request.toJSONString();
+//
+// LOGwriteDateTrace("data", json_text);
+// OutputStream os = con.getOutputStream();
+// OutputStreamWriter osw = new OutputStreamWriter(con.getOutputStream());
+// osw.write(json_text);
+// osw.flush();
+// }
+
+ // Check for errors
+ String responseMessage = conn.getResponseMessage();
+ int responseCode = conn.getResponseCode();
+ if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
+ inputStream = conn.getInputStream();
+ } else {
+ inputStream = conn.getErrorStream();
+ }
+
+ // Process the response
+ LOG.debug("HttpURLConnection result:" + responseCode + " : " + responseMessage);
+ logMetricResponse(responseCode, responseMessage);
+
+ if(inputStream == null) inputStream = new ByteArrayInputStream("".getBytes(StandardCharsets.UTF_8));
+ BufferedReader reader = new BufferedReader( new InputStreamReader( inputStream ) );
+ String line = null;
+
+ ObjectMapper mapper = getObjectMapper();
+
+ if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
+ StringBuilder stringBuilder = new StringBuilder();
+
+ while( ( line = reader.readLine() ) != null ) {
+ stringBuilder.append( line );
+ }
+ LOGwriteEndingTrace(responseCode, responseMessage, stringBuilder.toString());
+ response = true;
+ } else if(responseCode == HttpURLConnection.HTTP_NOT_FOUND ) {
+ LOGwriteEndingTrace(responseCode, responseMessage, "Entry does not exist.");
+ response = false;
+ } else {
+ ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
+ LOGwriteEndingTrace(responseCode, responseMessage, mapper.writeValueAsString(errorresponse));
+ throw new AAIServiceException(responseCode, errorresponse);
+ }
+ } catch(AAIServiceException aaiexc) {
+ throw aaiexc;
+ } catch (Exception exc) {
+ LOG.warn("delete", exc);
+ throw new AAIServiceException(exc);
+ } finally {
+ if(inputStream != null){
+ try {
+ inputStream.close();
+ } catch(Exception exc) {
+
+ }
+ }
+ }
+ return response;
+ }
+
+ @Override
+ public Object query(AAIRequest request, Class clas) throws AAIServiceException {
+ Object response = null;
+ InputStream inputStream = null;
+ HttpURLConnection con = null;
+ URL requestUrl = null;
+
+ try {
+ con = getConfiguredConnection(requestUrl = request.getRequestQueryUrl(HttpMethod.GET), HttpMethod.GET);
+ logMetricRequest("GET "+requestUrl.getPath(), "");
+
+ // Check for errors
+ String responseMessage = con.getResponseMessage();
+ int responseCode = con.getResponseCode();
+ if (responseCode == HttpURLConnection.HTTP_OK) {
+ inputStream = con.getInputStream();
+ } else {
+ inputStream = con.getErrorStream();
+ }
+
+ logMetricResponse(responseCode, responseMessage);
+ ObjectMapper mapper = getObjectMapper();
+
+ if (responseCode == HttpURLConnection.HTTP_OK) {
+ // Process the response
+ BufferedReader reader = new BufferedReader( new InputStreamReader( inputStream ) );
+ response = mapper.readValue(reader, clas);
+ LOGwriteEndingTrace(HttpURLConnection.HTTP_OK, "SUCCESS", mapper.writeValueAsString(response));
+ } else if (responseCode == HttpURLConnection.HTTP_NOT_FOUND) {
+ LOGwriteEndingTrace(responseCode, "HTTP_NOT_FOUND", "Entry does not exist.");
+ return response;
+ } else {
+ BufferedReader reader = new BufferedReader( new InputStreamReader( inputStream ) );
+ ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
+ LOGwriteEndingTrace(responseCode, "FAILURE", mapper.writeValueAsString(errorresponse));
+ throw new AAIServiceException(responseCode, errorresponse);
+ }
+
+ } catch(AAIServiceException aaiexc) {
+ throw aaiexc;
+ } catch (Exception exc) {
+ LOG.warn("GET", exc);
+ throw new AAIServiceException(exc);
+ } finally {
+ if(inputStream != null){
+ try {
+ inputStream.close();
+ } catch(Exception exc) {
+
+ }
+ }
+ con = null;
+ }
+ return response;
+ }
+
+ }
+
+ @Override
+ public Tenant requestTenantData(String tenant_id, String cloudOwner, String cloudRegionId) throws AAIServiceException {
+ Tenant response = null;
+
+ try {
+ AAIRequest request = new TenantRequest();
+ request.addRequestProperty(TenantRequest.TENANT_ID, tenant_id);
+ request.addRequestProperty(CloudRegionRequest.CLOUD_REGION_CLOUD_OWNER, cloudOwner);
+ request.addRequestProperty(CloudRegionRequest.CLOUD_REGION_CLOUD_REGION_ID, cloudRegionId);
+
+ String rv = executor.get(request);
+ if(rv != null) {
+ ObjectMapper mapper = getObjectMapper();
+ response = mapper.readValue(rv, Tenant.class);
+ }
+ } catch(AAIServiceException aaiexc) {
+ throw aaiexc;
+ } catch (Exception exc) {
+ LOG.warn("requestTenantData", exc);
+ throw new AAIServiceException(exc);
+ }
+
+ return response;
+ }
+
+ @Override
+ public Tenant requestTenantDataByName(String tenant_name, String cloudOwner, String cloudRegionId) throws AAIServiceException {
+ Tenant response = null;
+
+ try {
+ AAIRequest request = new TenantRequest();
+ request.addRequestProperty(TenantRequest.TENANT_NAME, tenant_name);
+ request.addRequestProperty(CloudRegionRequest.CLOUD_REGION_CLOUD_OWNER, cloudOwner);
+ request.addRequestProperty(CloudRegionRequest.CLOUD_REGION_CLOUD_REGION_ID, cloudRegionId);
+ Object rv = executor.query(request, Tenant.class);
+ if(rv == null)
+ return (Tenant)null;
+ else
+ response = (Tenant)rv;
+ } catch(AAIServiceException aaiexc) {
+ throw aaiexc;
+ } catch (Exception exc) {
+ LOG.warn("requestTenantDataByName", exc);
+ throw new AAIServiceException(exc);
+ }
+
+ return response;
+ }
+
+
+ @Override
+ public boolean postTenantData(String tenant_id, String cloudOwner, String cloudRegionId, Tenant tenannt) throws AAIServiceException {
+ Boolean response = null;
+
+ try {
+ AAIRequest request = new TenantRequest();
+ request.addRequestProperty(TenantRequest.TENANT_ID, tenant_id);
+ request.addRequestProperty(CloudRegionRequest.CLOUD_REGION_CLOUD_OWNER, cloudOwner);
+ request.addRequestProperty(CloudRegionRequest.CLOUD_REGION_CLOUD_REGION_ID, cloudRegionId);
+ request.setRequestObject(tenannt);
+ response = executor.post(request);
+ } catch(AAIServiceException aaiexc) {
+ throw aaiexc;
+ } catch (Exception exc) {
+ LOG.warn("postTenantData", exc);
+ throw new AAIServiceException(exc);
+ }
+
+ return response;
+ }
+
+
+ @Override
+ public String getTenantIdFromVserverUrl(URL url) {
+
+ String path = url.getPath();
+
+ String[] split = path.split("/tenants/tenant/");
+ if(split.length > 1) {
+ split = split[1].split("/");
+ return split[0];
+ } else {
+ return null;
+ }
+ }
+
+ @Override
+ public String getCloudOwnerFromVserverUrl(URL url) {
+
+ String path = url.getPath();
+
+ String[] split = path.split("/cloud-regions/cloud-region/");
+ if(split.length > 1) {
+ split = split[1].split("/");
+ return split[0];
+ } else {
+ return null;
+ }
+ }
+
+ @Override
+ public String getCloudRegionFromVserverUrl(URL url) {
+
+ String path = url.getPath();
+
+ String[] split = path.split("/cloud-regions/cloud-region/");
+ if(split.length > 1) {
+ split = split[1].split("/");
+ return split[1];
+ } else {
+ return null;
+ }
+ }
+
+ @Override
+ public String getVServerIdFromVserverUrl(URL url, String tenantId) {
+ String pattern = network_vserver_path;
+ pattern = pattern.replace("{tenant-id}", tenantId);
+
+ int end = pattern.indexOf("{vserver-id}");
+ String prefix = pattern.substring(0, end);
+
+ String path = url.getPath();
+
+ if(path.startsWith(prefix)) {
+ path = path.substring(prefix.length());
+ }
+
+ return path;
+ }
+
+ protected Logger getLogger(){
+ return LOG;
+ }
+
+ @Override
+ public boolean updateAnAIEntry(Update request) throws AAIServiceException {
+ InputStream inputStream = null;
+
+ try {
+
+ ObjectMapper mapper = getObjectMapper();
+ String json_text = mapper.writeValueAsString(request);
+
+ String request_url = target_uri+update_path;
+ URL http_req_url = new URL(request_url);
+
+ HttpURLConnection con = getConfiguredConnection(http_req_url, HttpMethod.PUT);
+
+ OutputStreamWriter osw = new OutputStreamWriter(con.getOutputStream());
+ osw.write(json_text);
+ osw.flush();
+ osw.close();
+
+ LOGwriteFirstTrace("PUT", request_url);
+ LOGwriteDateTrace("Update", json_text);
+
+ // Check for errors
+ int responseCode = con.getResponseCode();
+ if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_CREATED || responseCode == HttpURLConnection.HTTP_ACCEPTED || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
+ inputStream = con.getInputStream();
+ } else {
+ inputStream = con.getErrorStream();
+ }
+
+ // Process the response
+ BufferedReader reader;
+ String line = null;
+ reader = new BufferedReader( new InputStreamReader( inputStream ) );
+
+ if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_CREATED || responseCode == HttpURLConnection.HTTP_ACCEPTED || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
+ StringBuilder stringBuilder = new StringBuilder();
+
+ while( ( line = reader.readLine() ) != null ) {
+ stringBuilder.append( line );
+ }
+ LOGwriteEndingTrace(responseCode, "SUCCESS", (stringBuilder != null) ? stringBuilder.toString() : "{no-data}");
+ return true;
+ } else if(responseCode == HttpURLConnection.HTTP_NOT_FOUND ) {
+ ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
+ LOGwriteEndingTrace(responseCode, "HTTP_NOT_FOUND", "Entry does not exist.");
+ throw new AAIServiceException(responseCode, errorresponse);
+ } else {
+ ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
+ LOGwriteEndingTrace(responseCode, "FAILURE", mapper.writeValueAsString(errorresponse));
+
+ throw new AAIServiceException(responseCode, errorresponse);
+ }
+ } catch(AAIServiceException aaiexc) {
+ throw aaiexc;
+ } catch (Exception exc) {
+ LOG.warn("updateAnAIEntry", exc);
+ throw new AAIServiceException(exc);
+ } finally {
+ try {
+ if(inputStream != null)
+ inputStream.close();
+ } catch (Exception exc) {
+
+ }
+ }
+ }
+
+ @Override
+ public AAIRequestExecutor getExecutor() {
+ return executor;
+ }
+
+ /**
+ * Creates a current time stamp in UTC i.e. 2016-03-08T22:15:13.343Z.
+ * If there are any parameters the values are appended to the time stamp.
+ *
+ * @param parameters
+ * values to be appended to current time stamp
+ * @param ctx
+ * used to set an attribute for a DG
+ * @throws SvcLogicException
+ */
+ public void setStatusMethod(Map<String, String> parameters, SvcLogicContext ctx) throws SvcLogicException {
+ if (ctx == null) {
+ throw new SvcLogicException("SvcLogicContext is null.");
+ }
+
+ StringBuilder sb = new StringBuilder();
+ sb.append(String.format("%tFT%<tTZ", Calendar.getInstance(TimeZone.getTimeZone("Z")))).append(" - ");
+
+ for (Entry<String, String> entry : parameters.entrySet()) {
+ sb.append(entry.getValue()).append(" ");
+ }
+
+ if (sb.length() > 0) {
+ sb.setLength(sb.length() - 2);
+ }
+
+ ctx.setAttribute("aai-summary-status-message", sb.toString());
+ LOG.info("aai-summary-status-message: " + sb.toString());
+ }
+
+ /**
+ * Generic method to GET json data from an A&AI using key structure.
+ * Then convert that json to an Object.
+ * If successful the Object is attempted to be cast to the type parameter.
+ *
+ * @param key
+ * key identifying the resource to be retrieved from AAI
+ * @param type
+ * the class of object that A&AI will return
+ * @return the object created from json or null if the response code is not 200
+ *
+ * @throws AAIServiceException
+ * if empty or null key and or type or there's an error with processing
+ */
+
+ public <T> T getResource(String key, Class<T> type) throws AAIServiceException {
+ if (StringUtils.isEmpty(key) || type == null) {
+ throw new AAIServiceException("Key is empty or null and or type is null");
+ }
+
+ T response = null;
+
+ SvcLogicContext ctx = new SvcLogicContext();
+ if(!key.contains(" = ")) {
+ if(isValidURL(key)) {
+ key = String.format("selflink = '%s'", key);
+ } else {
+ return response;
+ }
+ }
+
+ HashMap<String, String> nameValues = keyToHashMap(key, ctx);
+
+ AAIRequest request = new SelfLinkRequest(type);
+ if(nameValues.containsKey(PathRequest.RESOURCE_PATH.replaceAll("-", "_"))) {
+ request = new PathRequest(type);
+ }
+
+ request.processRequestPathValues(nameValues);
+ Object obj = this.getExecutor().query(request, type);
+ response = type.cast(obj);
+
+ return response != null ? type.cast(response) : response;
+ }
+
+ public boolean isValidURL(String url) {
+
+ URL u = null;
+
+ try {
+ u = new URL(url);
+ } catch (MalformedURLException e) {
+ return false;
+ }
+
+ try {
+ u.toURI();
+ } catch (URISyntaxException e) {
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ protected boolean deleteRelationshipList(URL httpReqUrl, String json_text) throws AAIServiceException {
+ if(httpReqUrl == null) {
+ throw new NullPointerException();
+ }
+
+ boolean response = false;
+ InputStream inputStream = null;
+
+ try {
+ HttpURLConnection con = getConfiguredConnection(httpReqUrl, HttpMethod.DELETE);
+
+ OutputStreamWriter osw = new OutputStreamWriter(con.getOutputStream());
+ osw.write(json_text);
+ osw.flush();
+ osw.close();
+
+
+ LOGwriteFirstTrace("DELETE", httpReqUrl.toString());
+ LOGwriteDateTrace("data", json_text);
+
+ // Check for errors
+ int responseCode = con.getResponseCode();
+ if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
+ inputStream = con.getInputStream();
+ } else {
+ inputStream = con.getErrorStream();
+ }
+
+ // Process the response
+ LOG.debug("HttpURLConnection result:" + responseCode);
+ if(inputStream == null) inputStream = new ByteArrayInputStream("".getBytes(StandardCharsets.UTF_8));
+ BufferedReader reader = new BufferedReader( new InputStreamReader( inputStream ) );
+ String line = null;
+
+ ObjectMapper mapper = getObjectMapper();
+
+ if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_NO_CONTENT) {
+ StringBuilder stringBuilder = new StringBuilder();
+
+ while( ( line = reader.readLine() ) != null ) {
+ stringBuilder.append( line );
+ }
+ LOGwriteEndingTrace(responseCode, "SUCCESS", stringBuilder.toString());
+ response = true;
+ } else if(responseCode == HttpURLConnection.HTTP_NOT_FOUND ) {
+ LOGwriteEndingTrace(responseCode, "HTTP_NOT_FOUND", "Entry does not exist.");
+ response = false;
+ } else {
+ ErrorResponse errorresponse = mapper.readValue(reader, ErrorResponse.class);
+ LOGwriteEndingTrace(responseCode, "FAILURE", mapper.writeValueAsString(errorresponse));
+ throw new AAIServiceException(responseCode, errorresponse);
+ }
+
+ } catch(AAIServiceException aaiexc) {
+ throw aaiexc;
+ } catch (Exception exc) {
+ LOG.warn("deleteRelationshipList", exc);
+ throw new AAIServiceException(exc);
+ } finally {
+ if(inputStream != null){
+ try {
+ inputStream.close();
+ } catch(Exception exc) {
+
+ }
+ }
+ }
+ return response;
+ }
+
+ public ObjectMapper getObjectMapper() {
+ ObjectMapper mapper = new ObjectMapper();
+ AnnotationIntrospector introspector = new JaxbAnnotationIntrospector(TypeFactory.defaultInstance());
+ AnnotationIntrospector secondary = new JacksonAnnotationIntrospector();
+ mapper.setAnnotationIntrospector(AnnotationIntrospector.pair(introspector, secondary));
+ mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
+ return mapper;
+ }
+
+ public void logMetricRequest(String targetServiceName, String msg){
+ String svcInstanceId = "";
+ String svcName = null;
+ String partnerName = null;
+ String targetEntity = "A&AI";
+ String targetVirtualEntity = null;
+
+ targetServiceName = "";
+
+ ml.logRequest(svcInstanceId, svcName, partnerName, targetEntity, targetServiceName, targetVirtualEntity, msg);
+ }
+
+ public void logMetricResponse(int responseCode, String responseDescription){
+ ml.logResponse(responseCode < 400 ? "SUCCESS" : "FAILURE", Integer.toBinaryString(responseCode), responseDescription);
+ }
+
+ public void logKeyError(String keys){
+ LOG.error("Atleast one of the keys [" + keys + "] should have been populated. This will cause a NPE.");
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIServiceActivator.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIServiceActivator.java
new file mode 100644
index 0000000..857a6ea
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIServiceActivator.java
@@ -0,0 +1,228 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FilenameFilter;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.HashSet;
+import java.util.Properties;
+import java.util.Set;
+
+import org.openecomp.sdnc.sli.ConfigurationException;
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceRegistration;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class AAIServiceActivator implements BundleActivator {
+
+ private static final String DEFAULT_CONFIG_FILE_NAME = "aaiclient.config";
+ private static final String DEFAULT_PROPERTY_FILE_NAME = "aaiclient.properties";
+ private static final String DEFAULT_KEYWORD = "default";
+
+ private static final String SDNC_CONFIG_DIR = "SDNC_CONFIG_DIR";
+
+ private static final String BVC_PROPERTY_FILE = "/opt/bvc/controller/configuration/aaiclient.properties";
+ private static final String DEFAULT_SDNC_PROPERTY_FILE = "/opt/sdnc/data/properties/aaiclient.properties";
+
+ private Set<ServiceRegistration> registrationSet = new HashSet<ServiceRegistration>();
+
+ private static final Logger LOG = LoggerFactory.getLogger(AAIServiceActivator.class);
+
+ @Override
+ public void start(BundleContext ctx) throws Exception {
+
+ String sdnConfigDirectory = System.getenv(SDNC_CONFIG_DIR);
+
+ // check SDNC CONFIG DIR system property
+ if(sdnConfigDirectory == null ) {
+ LOG.error("System property SDNC_CONFIG_DIR is not defined.");
+ LOG.info("Defaulting SDNC_CONFIG_DIR to '/opt/sdnc/data/properties/'");
+ sdnConfigDirectory = "/opt/sdnc/data/properties/";
+ }
+
+ LOG.debug("Configuration directory used : " + sdnConfigDirectory);
+
+ // check existance of properties directory
+ File configDirectory = new File(sdnConfigDirectory);
+ if(!configDirectory.exists() || !configDirectory.isDirectory()){
+ LOG.error("System property SDNC_CONFIG_DIR = '" + sdnConfigDirectory + "' does not point to a valid directory. AAIService will not be initialized.");
+ return;
+ }
+
+ Properties properties = new Properties();
+ InputStream input = null;
+
+ // find aaiclient config file
+ File[] files = findFiles(configDirectory, DEFAULT_CONFIG_FILE_NAME);
+
+ // read the aai config data
+ if(files != null && files.length > 0) {
+ LOG.debug("AAIService config file exists and it is named :" + files[0].getAbsolutePath() );
+ try {
+ input = new FileInputStream(files[0]);
+ properties.load(input);
+ LOG.debug("Loaded AAI Client properties from " + files[0].getAbsolutePath());
+ } catch (IOException exc) {
+ LOG.warn("Problem loading AAI Client properties from " + files[0].getAbsolutePath(), exc);
+ } finally {
+ if(input != null ) {
+ try {
+ input.close();
+ } catch(Exception exc) {
+ // ignore
+ }
+ }
+ int size = properties.keySet().size() ;
+ if(size == 0) {
+ LOG.debug(files[0].getAbsolutePath() + " contained no entries. Adding the default entry");
+ properties.put(DEFAULT_KEYWORD, DEFAULT_PROPERTY_FILE_NAME);
+ }
+ }
+ } else {
+ LOG.debug("No configuration entries were found. Adding the default entry");
+ properties.put(DEFAULT_KEYWORD, DEFAULT_PROPERTY_FILE_NAME);
+ }
+
+ Set<String> entrySet = properties. stringPropertyNames();
+ String value = null;
+
+ // initialize AAI Service for each aai client property files
+ for(String entry : entrySet) {
+ value = properties.getProperty(entry);
+ if(value != null && !value.isEmpty()) {
+
+ final String fileName = value;
+
+ File[] propertyFileList = findFiles(configDirectory, fileName);
+
+ for(File propertiesFile : propertyFileList) {
+ LOG.info(propertiesFile.getName());
+ // Advertise AAI resource adaptor
+ AAIClient impl = null;
+ switch(entry) {
+ case DEFAULT_KEYWORD:
+ impl = new AAIService(propertiesFile.toURI().toURL());
+ break;
+ case "trinity":
+ impl = new AAITrinityService(propertiesFile.toURI().toURL());
+ break;
+ default:
+ LOG.error("Invalid configuration keyword '"+entry+"' detected in aaiclient.config. Aborting initialization");
+ continue;
+ }
+ String regName = impl.getClass().getName();
+
+ LOG.debug("Registering AAIService service "+regName);
+ ServiceRegistration registration = ctx.registerService(regName, impl, null);
+ registrationSet.add(registration);
+
+ }
+ }
+ }
+ }
+
+// @Override
+ @Deprecated
+ public void start1(BundleContext ctx) throws Exception {
+
+ String sdnConfigDirectory = System.getenv(SDNC_CONFIG_DIR);
+ String propertiesPath = null;
+
+ if (sdnConfigDirectory == null || sdnConfigDirectory.isEmpty()) {
+ String filename = DEFAULT_SDNC_PROPERTY_FILE;
+ File file = new File(filename);
+ if(file != null && file.exists()) {
+ propertiesPath = filename;
+ LOG.info("Using property file (1): " + propertiesPath);
+ } else {
+ filename = BVC_PROPERTY_FILE;
+ file = new File(filename);
+ if(file != null && file.exists()) {
+ propertiesPath = filename;
+ LOG.info("Using property file (1): " + propertiesPath);
+ } else {
+ throw new ConfigurationException("Cannot find config file - "+filename+" and "+SDNC_CONFIG_DIR+" is unset");
+ }
+ }
+ } else {
+ propertiesPath = sdnConfigDirectory + "/aaiclient.properties";
+ LOG.info("Environment variable " + SDNC_CONFIG_DIR + " set, - calculated path " + propertiesPath);
+ }
+
+ File propFile = new File(propertiesPath);
+ if(!propFile.exists()) {
+ String filename = DEFAULT_SDNC_PROPERTY_FILE;
+ File file = new File(filename);
+ if(file != null && file.exists()) {
+ propertiesPath = filename;
+ LOG.info("Using property file (1): " + propertiesPath);
+ } else {
+ filename = BVC_PROPERTY_FILE;
+ file = new File(filename);
+ if(file != null && file.exists()) {
+ propertiesPath = filename;
+ LOG.info("Using property file (1): " + propertiesPath);
+ } else {
+ LOG.error("AnAI Service Property file " + propertiesPath + "does not exist.");
+ throw new ConfigurationException("Cannot find config file - "+propertiesPath+" and " + SDNC_CONFIG_DIR + " is unset.");
+ }
+ }
+ }
+
+ // Advertise AAI resource adaptor
+ AAIClient impl = new AAIService(propFile.toURI().toURL());
+ String regName = impl.getClass().getName();
+
+ LOG.debug("Registering AAIService service "+regName);
+ ServiceRegistration registration = ctx.registerService(regName, impl, null);
+ registrationSet.add(registration);
+ }
+
+ @Override
+ public void stop(BundleContext ctx) throws Exception {
+
+ Set<ServiceRegistration> localRegistrationSet = new HashSet<ServiceRegistration>();
+ localRegistrationSet.addAll(registrationSet);
+
+ for(ServiceRegistration registration : localRegistrationSet) {
+ if (registration != null) {
+ registration.unregister();
+ registrationSet.remove(registration);
+ }
+ }
+ }
+
+ private File[] findFiles(File configDirectory, final String filter) {
+ File[] files = configDirectory.listFiles(new FilenameFilter() {
+ public boolean accept(File dir, String name) {
+ return name.equalsIgnoreCase(filter);
+ }
+ });
+
+ return files;
+ }
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIServiceException.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIServiceException.java
new file mode 100644
index 0000000..e5ae735
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAIServiceException.java
@@ -0,0 +1,77 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import org.openecomp.sdnc.sli.aai.data.ErrorResponse;
+
+public class AAIServiceException extends Exception {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -9039257722542999522L;
+
+ protected ErrorResponse errorResponse = null;
+ protected int returnCode = -1;
+
+ public AAIServiceException() {
+
+ }
+
+ public AAIServiceException(String message) {
+ super(message);
+ }
+
+ public AAIServiceException(Throwable cause) {
+ super(cause);
+ }
+
+ public AAIServiceException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public AAIServiceException(String message, Throwable cause,
+ boolean enableSuppression, boolean writableStackTrace) {
+ super(message, cause, enableSuppression, writableStackTrace);
+ }
+
+ public AAIServiceException(int returnCode, ErrorResponse errorresponse) {
+ this.errorResponse = errorresponse;
+ this.returnCode = returnCode;
+ }
+
+ public ErrorResponse getErrorResponse() {
+ return errorResponse;
+ }
+
+ public int getReturnCode() {
+ return returnCode;
+ }
+
+ public String getMessage() {
+ if(errorResponse != null) {
+ return errorResponse.getRequestError().getServiceException().getText();
+ } else {
+ return super.getMessage();
+ }
+ }
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAITrinityService.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAITrinityService.java
new file mode 100644
index 0000000..e882b5d
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/AAITrinityService.java
@@ -0,0 +1,38 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import java.net.URL;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class AAITrinityService extends AAIService {
+
+ private static final Logger LOG = LoggerFactory.getLogger(AAITrinityService.class);
+
+ public AAITrinityService(URL propURL) {
+ super(propURL);
+ LOG.info("Entered AAITrinityService.ctor");
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/CloudRegionRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/CloudRegionRequest.java
new file mode 100644
index 0000000..ff94174
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/CloudRegionRequest.java
@@ -0,0 +1,120 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Properties;
+
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import org.openecomp.aai.inventory.v8.CloudRegion;
+
+public class CloudRegionRequest extends AAIRequest {
+
+ public static final String CLOUD_REGION_PATH = "org.openecomp.sdnc.sli.aai.path.cloud.region";
+
+ private final String cloud_region_path;
+
+ public static final String CLOUD_REGION_CLOUD_OWNER = "cloud-region.cloud-owner";
+ public static final String CLOUD_REGION_CLOUD_REGION_ID = "cloud-region.cloud-region-id";
+
+
+ public CloudRegionRequest() {
+ cloud_region_path = configProperties.getProperty(CLOUD_REGION_PATH);
+ }
+
+ @Override
+ public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
+ return this.getRequestUrl(method, null);
+ }
+
+ @Override
+ public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
+
+ String request_url = target_uri+cloud_region_path;
+
+ request_url = processPathData(request_url, requestProperties);
+
+ if(resourceVersion != null) {
+ request_url = request_url +"?resource-version="+resourceVersion;
+ }
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+
+ return http_req_url;
+ }
+
+
+ @Override
+ public String toJSONString() {
+ ObjectMapper mapper = getObjectMapper();
+ CloudRegion vnfc = (CloudRegion)requestDatum;
+ String json_text = null;
+ try {
+ json_text = mapper.writeValueAsString(vnfc);
+ } catch (JsonProcessingException exc) {
+ handleException(this, exc);
+ return null;
+ }
+ return json_text;
+ }
+
+ @Override
+ public String[] getArgsList() {
+ String[] args =
+ {
+ CLOUD_REGION_CLOUD_OWNER,
+ CLOUD_REGION_CLOUD_REGION_ID
+ };
+
+ return args;
+ }
+
+ @Override
+ public Class<? extends AAIDatum> getModelClass() {
+ return CloudRegion.class;
+ }
+
+ public static String processPathData(String request_url, Properties requestProperties) throws UnsupportedEncodingException {
+
+ if(!requestProperties.containsKey(CLOUD_REGION_CLOUD_OWNER) || !requestProperties.containsKey(CLOUD_REGION_CLOUD_REGION_ID)) {
+ aaiService.logKeyError(String.format("%s,%s", CLOUD_REGION_CLOUD_OWNER, CLOUD_REGION_CLOUD_REGION_ID));
+ }
+
+ String encoded_vnf = encodeQuery(requestProperties.getProperty(CLOUD_REGION_CLOUD_OWNER));
+ request_url = request_url.replace("{cloud-owner}", encoded_vnf) ;
+
+ encoded_vnf = encodeQuery(requestProperties.getProperty(CLOUD_REGION_CLOUD_REGION_ID));
+ request_url = request_url.replace("{cloud-region-id}", encoded_vnf) ;
+
+ aaiService.LOGwriteDateTrace("cloud-owner", requestProperties.getProperty(CLOUD_REGION_CLOUD_OWNER));
+ aaiService.LOGwriteDateTrace("cloud-region-id", requestProperties.getProperty(CLOUD_REGION_CLOUD_REGION_ID));
+
+ return request_url;
+ }
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/CustomerRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/CustomerRequest.java
new file mode 100644
index 0000000..ba83255
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/CustomerRequest.java
@@ -0,0 +1,126 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Properties;
+
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import org.openecomp.aai.inventory.v8.Customer;
+
+public class CustomerRequest extends AAIRequest {
+
+ // tenant (1602)
+ public static final String CUSTOMER_PATH = "org.openecomp.sdnc.sli.aai.path.customer";
+ public static final String CUSTOMER_QUERY_PATH = "org.openecomp.sdnc.sli.aai.path.customer.query";
+
+ private final String customer_path;
+ private final String customer_query_path;
+
+ public static final String CUSTOMER_GLOBAL_CUSTOMER_ID = "customer.global-customer-id";
+
+
+ public CustomerRequest() {
+ customer_path = configProperties.getProperty(CUSTOMER_PATH);
+ customer_query_path = configProperties.getProperty(CUSTOMER_QUERY_PATH);
+ }
+
+
+ @Override
+ public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
+
+ String request_url = target_uri + customer_path;
+ String encoded_vnf = null;
+
+ String hostname = null;
+
+ if(requestProperties.containsKey(CUSTOMER_GLOBAL_CUSTOMER_ID)) {
+ hostname = requestProperties.getProperty(CUSTOMER_GLOBAL_CUSTOMER_ID);
+ encoded_vnf = encodeQuery(hostname);
+ request_url = request_url.replace("{customer-id}", encoded_vnf) ;
+ } else {
+ LOG.error("Required key "+CUSTOMER_GLOBAL_CUSTOMER_ID+" is misssing.");
+ }
+
+ if(resourceVersion != null) {
+ request_url = request_url +"?resource-version="+resourceVersion;
+ }
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+ aaiService.LOGwriteDateTrace("global-customer-id", hostname);
+
+ return http_req_url;
+ }
+
+ @Override
+ public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
+ return this.getRequestUrl(method, null);
+ }
+
+ public static String processPathData(String request_url, Properties requestProperties) throws UnsupportedEncodingException {
+
+ String key = CUSTOMER_GLOBAL_CUSTOMER_ID;
+
+ if(!requestProperties.containsKey(key)) {
+ aaiService.logKeyError(CUSTOMER_GLOBAL_CUSTOMER_ID);
+ }
+
+
+ String encoded_vnf = encodeQuery(requestProperties.getProperty(key));
+ request_url = request_url.replace("{global-customer-id}", encoded_vnf) ;
+ aaiService.LOGwriteDateTrace("global-customer-id", requestProperties.getProperty(key));
+
+ return request_url;
+ }
+
+ @Override
+ public String toJSONString() {
+ ObjectMapper mapper = getObjectMapper();
+ Customer vnfc = (Customer)requestDatum;
+ String json_text = null;
+ try {
+ json_text = mapper.writeValueAsString(vnfc);
+ } catch (JsonProcessingException exc) {
+ handleException(this, exc);
+ return null;
+ }
+ return json_text;
+ }
+
+ @Override
+ public String[] getArgsList() {
+ String[] args = {CUSTOMER_GLOBAL_CUSTOMER_ID};
+ return args;
+ }
+
+ @Override
+ public Class<? extends AAIDatum> getModelClass() {
+ return Customer.class;
+ }
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/EchoRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/EchoRequest.java
new file mode 100644
index 0000000..995a7da
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/EchoRequest.java
@@ -0,0 +1,93 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+import org.openecomp.sdnc.sli.aai.data.EchoResponse;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+public class EchoRequest extends AAIRequest {
+
+
+
+ private final String echo_path;
+
+ public EchoRequest() {
+ echo_path = "/aai/util/echo";
+ }
+
+
+ @Override
+ public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
+
+ String request_url = target_uri+echo_path;
+
+ if(resourceVersion != null) {
+ request_url = request_url +"?resource-version="+resourceVersion;
+ }
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+
+ return http_req_url;
+ }
+
+ @Override
+ public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
+ return getRequestUrl(method, null);
+ }
+
+
+ @Override
+ public String toJSONString() {
+ ObjectMapper mapper = getObjectMapper();
+ EchoResponse tenant = (EchoResponse)requestDatum;
+ String json_text = null;
+ try {
+ json_text = mapper.writeValueAsString(tenant);
+ } catch (JsonProcessingException exc) {
+ handleException(this, exc);
+ return null;
+ }
+ return json_text;
+ }
+
+
+ @Override
+ public String[] getArgsList() {
+ String[] args = {};
+ return args;
+ }
+
+
+ @Override
+ public Class<? extends AAIDatum> getModelClass() {
+ return EchoResponse.class;
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GVnfLInterfaceRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GVnfLInterfaceRequest.java
new file mode 100644
index 0000000..17a9df2
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GVnfLInterfaceRequest.java
@@ -0,0 +1,137 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import org.openecomp.aai.inventory.v8.LInterface;
+
+public class GVnfLInterfaceRequest extends AAIRequest {
+
+ private final String generic_vnf_linterface_path;
+ private final String generic_vnf_linterface_query_path;
+
+
+ public static final String INTERFACE_NAME = "interface-name";
+ public static final String LINTERFACE_INTERFACE_NAME = "l-interface.interface-name";
+
+
+ public GVnfLInterfaceRequest()
+ {
+
+ String tmpGenericVnfLinterfacePath = configProperties.getProperty(GenericVnfRequest.GENERIC_VNF_PATH);
+
+ generic_vnf_linterface_query_path = configProperties.getProperty(GenericVnfRequest.GENERIC_VNF_QUERY_PATH);
+
+ if(tmpGenericVnfLinterfacePath != null) {
+ tmpGenericVnfLinterfacePath = tmpGenericVnfLinterfacePath + "/l-interfaces/l-interface/{interface-name}";
+ LOG.debug("GVnfLInterfaceRequest.PATH = " + tmpGenericVnfLinterfacePath);
+ } else {
+ LOG.warn("PATH " + GenericVnfRequest.GENERIC_VNF_PATH + " not defined");
+ }
+
+ generic_vnf_linterface_path = tmpGenericVnfLinterfacePath;
+ }
+
+
+ @Override
+ public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
+
+ String request_url = null;
+
+
+ request_url = target_uri + generic_vnf_linterface_path;
+
+ String vnfId = requestProperties.getProperty(GenericVnfRequest.VNF_ID);
+ if(vnfId == null) {
+ vnfId = requestProperties.getProperty(GenericVnfRequest.GENERIC_VNF_ID);
+ }
+
+ String encoded_vnf = encodeQuery(vnfId);
+ request_url = request_url.replace("{vnf-id}", encoded_vnf);
+
+ String interfaceName = requestProperties.getProperty(INTERFACE_NAME);
+ if(interfaceName == null || interfaceName.isEmpty()) {
+ interfaceName = requestProperties.getProperty(LINTERFACE_INTERFACE_NAME);
+ }
+ encoded_vnf = encodeQuery(interfaceName);
+ request_url = request_url.replace("{interface-name}", encoded_vnf) ;
+
+
+ if(resourceVersion != null) {
+ request_url = request_url +"?resource-version="+resourceVersion;
+ }
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+ aaiService.LOGwriteDateTrace("vnf-id", vnfId);
+ aaiService.LOGwriteDateTrace("interface-name", interfaceName);
+
+ return http_req_url;
+ }
+
+ @Override
+ public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
+ return this.getRequestUrl(method, null);
+ }
+
+
+ @Override
+ public String toJSONString() {
+ ObjectMapper mapper = getObjectMapper();
+ LInterface vnfc = (LInterface)requestDatum;
+ String json_text = null;
+ try {
+ json_text = mapper.writeValueAsString(vnfc);
+ } catch (JsonProcessingException exc) {
+ handleException(this, exc);
+ return null;
+ }
+ return json_text;
+ }
+
+
+ @Override
+ public String[] getArgsList() {
+ String[] args = {INTERFACE_NAME, LINTERFACE_INTERFACE_NAME, GenericVnfRequest.VNF_ID, GenericVnfRequest.GENERIC_VNF_ID};
+ return args;
+ }
+
+ @Override
+ public Class<? extends AAIDatum> getModelClass() {
+ return LInterface.class;
+ }
+
+ @Override
+ public String getPrimaryResourceName(String resource) {
+ return "l-interface";
+ }
+
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GenVnfrVLanRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GenVnfrVLanRequest.java
new file mode 100644
index 0000000..0e34e31
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GenVnfrVLanRequest.java
@@ -0,0 +1,132 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import org.openecomp.aai.inventory.v8.Vlan;
+
+public class GenVnfrVLanRequest extends AAIRequest {
+ //aai/v7/cloud-infrastructure/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}
+
+ // tenant (1602)
+ public static final String VLAN_PATH = "org.openecomp.sdnc.sli.aai.path.generic.vnf";
+ public static final String VLAN_QUERY_PATH = "org.openecomp.sdnc.sli.aai.path.generic.vnf.query";
+
+ private final String vlan_path;
+ private final String vlan_query_path;
+
+ public static final String VNF_ID = "generic_vnf.vnf_id";
+ public static final String INTERFACE_NAME = "l_interface.interface_name";
+ public static final String VLAN_INTERFACE = "vlan.vlan_interface";
+
+ public GenVnfrVLanRequest() {
+ vlan_path = configProperties.getProperty(VLAN_PATH) + "/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}";
+ vlan_query_path = configProperties.getProperty(VLAN_QUERY_PATH);
+ }
+
+
+ @Override
+ public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
+
+ String request_url = target_uri+vlan_path;
+ String encoded_vnf = encodeQuery(requestProperties.getProperty(VNF_ID));
+ request_url = request_url.replace("{vnf-id}", encoded_vnf) ;
+
+ encoded_vnf = encodeQuery(requestProperties.getProperty(INTERFACE_NAME));
+ request_url = request_url.replace("{interface-name}", encoded_vnf) ;
+
+ encoded_vnf = encodeQuery(requestProperties.getProperty(VLAN_INTERFACE));
+ request_url = request_url.replace("{vlan-interface}", encoded_vnf) ;
+
+ if(resourceVersion != null) {
+ request_url = request_url +"?resource-version="+resourceVersion;
+ }
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+ aaiService.LOGwriteDateTrace("vnf-id", requestProperties.getProperty(VNF_ID));
+ aaiService.LOGwriteDateTrace("interface-name", requestProperties.getProperty(INTERFACE_NAME));
+ aaiService.LOGwriteDateTrace("vlan-interface", requestProperties.getProperty(VLAN_INTERFACE));
+
+ return http_req_url;
+ }
+
+ @Override
+ public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
+
+ String request_url = target_uri+vlan_path;
+ String encoded_vnf = encodeQuery(requestProperties.getProperty(VNF_ID));
+ request_url = request_url.replace("{vnf-id}", encoded_vnf) ;
+
+ encoded_vnf = encodeQuery(requestProperties.getProperty(INTERFACE_NAME));
+ request_url = request_url.replace("{interface-name}", encoded_vnf) ;
+
+ encoded_vnf = encodeQuery(requestProperties.getProperty(VLAN_INTERFACE));
+ request_url = request_url.replace("{vlan-interface}", encoded_vnf) ;
+
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+
+ aaiService.LOGwriteDateTrace("vnf-id", requestProperties.getProperty(VNF_ID));
+ aaiService.LOGwriteDateTrace("interface-name", requestProperties.getProperty(INTERFACE_NAME));
+ aaiService.LOGwriteDateTrace("vlan-interface", requestProperties.getProperty(VLAN_INTERFACE));
+
+ return http_req_url;
+ }
+
+
+ @Override
+ public String toJSONString() {
+ ObjectMapper mapper = getObjectMapper();
+ Vlan tenant = (Vlan)requestDatum;
+ String json_text = null;
+ try {
+ json_text = mapper.writeValueAsString(tenant);
+ } catch (JsonProcessingException exc) {
+ handleException(this, exc);
+ return null;
+ }
+ return json_text;
+ }
+
+
+ @Override
+ public String[] getArgsList() {
+ String[] args = {VNF_ID, INTERFACE_NAME, VLAN_INTERFACE};
+ return args;
+ }
+
+
+ @Override
+ public Class<? extends AAIDatum> getModelClass() {
+ return Vlan.class;
+ }
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GenericQueryRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GenericQueryRequest.java
new file mode 100644
index 0000000..83b5a51
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GenericQueryRequest.java
@@ -0,0 +1,145 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Properties;
+
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import org.openecomp.aai.inventory.v8.ResultData;
+
+public class GenericQueryRequest extends AAIRequest {
+
+ public static final String GENERIC_SEARCH_PATH = "org.openecomp.sdnc.sli.aai.query.generic";
+
+ private final String generic_search_path;
+
+ public static final String START_NODE_TYPE = "start-node-type";
+ public static final String IDENTIFIER = "identifier";
+ public static final String VALUE = "value";
+
+
+ public GenericQueryRequest() {
+ generic_search_path = configProperties.getProperty(GENERIC_SEARCH_PATH);
+ }
+
+
+// @Override
+// public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
+//
+// String request_url = target_uri+generic_search_path;
+// String key = START_NODE_TYPE;
+//
+// String encoded_vnf = encodeQuery(requestProperties.getProperty(key));
+// request_url = request_url.replace("{vnf-id}", encoded_vnf) ;
+//
+// if(resourceVersion != null) {
+// request_url = request_url +"?resource-version="+resourceVersion;
+// }
+// URL http_req_url = new URL(request_url);
+//
+// aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+//
+//
+// return http_req_url;
+// }
+
+ @Override
+ public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
+
+ String request_url = target_uri+generic_search_path;
+
+ request_url = processPathData(request_url, requestProperties);
+
+ if(resourceVersion != null) {
+ request_url = request_url +"?resource-version="+resourceVersion;
+ }
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+
+ return http_req_url;
+ }
+
+ @Override
+ public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
+ return getRequestUrl(method, null);
+ }
+
+
+ @Override
+ public String toJSONString() {
+ ObjectMapper mapper = getObjectMapper();
+ ResultData tenant = (ResultData)requestDatum;
+ String json_text = null;
+ try {
+ json_text = mapper.writeValueAsString(tenant);
+ } catch (JsonProcessingException exc) {
+ handleException(this, exc);
+ return null;
+ }
+ return json_text;
+ }
+
+
+ @Override
+ public String[] getArgsList() {
+ String[] args = {START_NODE_TYPE, IDENTIFIER, VALUE};
+ return args;
+ }
+
+
+ @Override
+ public Class<? extends AAIDatum> getModelClass() {
+ return ResultData.class;
+ }
+
+
+ public static String processPathData(String request_url, Properties requestProperties) throws UnsupportedEncodingException {
+
+ String key = IDENTIFIER;
+
+ String encoded_vnf = encodeQuery(requestProperties.getProperty(key));
+ request_url = request_url.replace("{identifier}", encoded_vnf) ;
+ aaiService.LOGwriteDateTrace("identifier", requestProperties.getProperty(key));
+
+ key = VALUE;
+
+ encoded_vnf = encodeQuery(requestProperties.getProperty(key));
+ request_url = request_url.replace("{value}", encoded_vnf) ;
+ aaiService.LOGwriteDateTrace("value", requestProperties.getProperty(key));
+
+ key = START_NODE_TYPE;
+
+ encoded_vnf = encodeQuery(requestProperties.getProperty(key));
+ request_url = request_url.replace("{start-node-type}", encoded_vnf) ;
+ aaiService.LOGwriteDateTrace("start-node-type", requestProperties.getProperty(key));
+
+ return request_url;
+ }
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GenericVnfLInterfaceRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GenericVnfLInterfaceRequest.java
new file mode 100644
index 0000000..efa9ff6
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GenericVnfLInterfaceRequest.java
@@ -0,0 +1,125 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Properties;
+
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import org.openecomp.aai.inventory.v8.LInterface;
+
+public class GenericVnfLInterfaceRequest extends AAIRequest {
+
+ public static final String GENERIC_VNF_LINTERFACE_PATH = "org.openecomp.sdnc.sli.aai.path.generic.vnf.linterface";
+
+ private final String generic_vnf_linterface_path;
+
+
+ public static final String INTERFACE_NAME = "interface-name";
+ public static final String LINTERFACE_INTERFACE_NAME = "l-interface.interface-name";
+
+ public GenericVnfLInterfaceRequest() {
+ generic_vnf_linterface_path = configProperties.getProperty(GENERIC_VNF_LINTERFACE_PATH);
+ }
+
+
+ @Override
+ public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
+
+ String request_url = null;
+
+ request_url = target_uri + generic_vnf_linterface_path;
+
+
+ request_url = processPathData(request_url, requestProperties);
+ request_url = GenericVnfRequest.processPathData(request_url, requestProperties);
+
+ if(resourceVersion != null) {
+ request_url = request_url +"?resource-version="+resourceVersion;
+ }
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+
+
+ return http_req_url;
+ }
+
+ @Override
+ public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
+ return this.getRequestUrl(method, null);
+ }
+
+
+ @Override
+ public String toJSONString() {
+ ObjectMapper mapper = getObjectMapper();
+ LInterface vnfc = (LInterface)requestDatum;
+ String json_text = null;
+ try {
+ json_text = mapper.writeValueAsString(vnfc);
+ } catch (JsonProcessingException exc) {
+ handleException(this, exc);
+ return null;
+ }
+ return json_text;
+ }
+
+
+ @Override
+ public Class<? extends AAIDatum> getModelClass() {
+ return LInterface.class;
+ }
+
+ @Override
+ public String getPrimaryResourceName(String resource) {
+ return "l-interface";
+ }
+
+ public static final String processPathData(String request_url, Properties requestProperties) throws UnsupportedEncodingException {
+ String interfaceName = requestProperties.getProperty(INTERFACE_NAME);
+ if(interfaceName == null || requestProperties.containsKey(LINTERFACE_INTERFACE_NAME)) {
+ interfaceName = requestProperties.getProperty(LINTERFACE_INTERFACE_NAME);
+ }
+
+ if(interfaceName == null) {
+ aaiService.logKeyError(String.format("%s,%s", INTERFACE_NAME, LINTERFACE_INTERFACE_NAME));
+ }
+
+ request_url = request_url.replace("{interface-name}", encodeQuery(interfaceName)) ;
+ aaiService.LOGwriteDateTrace("interface-name", interfaceName);
+ return request_url;
+ }
+
+
+ @Override
+ public String[] getArgsList() {
+ String[] tmpArray = {INTERFACE_NAME, LINTERFACE_INTERFACE_NAME, GenericVnfRequest.GENERIC_VNF_ID, GenericVnfRequest.VNF_ID};
+ return tmpArray;
+ }
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GenericVnfRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GenericVnfRequest.java
new file mode 100644
index 0000000..093ab80
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/GenericVnfRequest.java
@@ -0,0 +1,145 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Properties;
+
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import org.openecomp.aai.inventory.v8.GenericVnf;
+
+public class GenericVnfRequest extends AAIRequest {
+
+ // tenant (1602)
+ public static final String GENERIC_VNF_PATH = "org.openecomp.sdnc.sli.aai.path.generic.vnf";
+ public static final String GENERIC_VNF_QUERY_PATH = "org.openecomp.sdnc.sli.aai.path.generic.vnf.query";
+
+ private final String generic_vnf_path;
+ private final String generic_vnf_query_path;
+
+ public static final String GENERIC_VNF_ID = "generic_vnf.vnf_id";
+ public static final String VNF_ID = "vnf_id";
+
+
+ public GenericVnfRequest() {
+ generic_vnf_path = configProperties.getProperty(GENERIC_VNF_PATH);
+ generic_vnf_query_path = configProperties.getProperty(GENERIC_VNF_QUERY_PATH);
+ }
+
+
+ @Override
+ public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
+
+ String request_url = target_uri+generic_vnf_path;
+ String key = VNF_ID;
+ if(requestProperties.containsKey(GENERIC_VNF_ID)) {
+ key = GENERIC_VNF_ID;
+ }
+
+ if(!requestProperties.containsKey(key)) {
+ aaiService.logKeyError(String.format("%s,%s", VNF_ID, GENERIC_VNF_ID));
+ }
+
+ String encoded_vnf = encodeQuery(requestProperties.getProperty(key));
+ request_url = request_url.replace("{vnf-id}", encoded_vnf) ;
+ if(resourceVersion != null) {
+ request_url = request_url +"?resource-version="+resourceVersion;
+ }
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+ aaiService.LOGwriteDateTrace("vnf-id", requestProperties.getProperty(key));
+
+ return http_req_url;
+ }
+
+ @Override
+ public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
+
+ String request_url = target_uri+generic_vnf_path;
+
+ String key = VNF_ID;
+ if(requestProperties.containsKey(GENERIC_VNF_ID)) {
+ key = GENERIC_VNF_ID;
+ }
+
+ if(!requestProperties.containsKey(key)) {
+ aaiService.logKeyError(String.format("%s,%s", VNF_ID, GENERIC_VNF_ID));
+ }
+
+ String encoded_vnf = encodeQuery(requestProperties.getProperty(key));
+ request_url = request_url.replace("{vnf-id}", encoded_vnf) ;
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+ aaiService.LOGwriteDateTrace("vnf-id", requestProperties.getProperty(key));
+
+ return http_req_url;
+ }
+
+
+ @Override
+ public String toJSONString() {
+ ObjectMapper mapper = getObjectMapper();
+ GenericVnf tenant = (GenericVnf)requestDatum;
+ String json_text = null;
+ try {
+ json_text = mapper.writeValueAsString(tenant);
+ } catch (JsonProcessingException exc) {
+ handleException(this, exc);
+ return null;
+ }
+ return json_text;
+ }
+
+
+ @Override
+ public String[] getArgsList() {
+ String[] args = {VNF_ID, GENERIC_VNF_ID};
+ return args;
+ }
+
+
+ @Override
+ public Class<? extends AAIDatum> getModelClass() {
+ return GenericVnf.class;
+ }
+
+
+ public static String processPathData(String request_url, Properties requestProperties) throws UnsupportedEncodingException {
+
+ String key = VNF_ID;
+ if(requestProperties.containsKey(GENERIC_VNF_ID)) {
+ key = GENERIC_VNF_ID;
+ }
+ String encoded_vnf = encodeQuery(requestProperties.getProperty(key));
+ request_url = request_url.replace("{vnf-id}", encoded_vnf) ;
+
+ return request_url;
+ }
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/L3InterfaceIpv4AddressListRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/L3InterfaceIpv4AddressListRequest.java
new file mode 100644
index 0000000..014a8a2
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/L3InterfaceIpv4AddressListRequest.java
@@ -0,0 +1,196 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Properties;
+
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import org.openecomp.aai.inventory.v8.L3InterfaceIpv4AddressList;
+
+public class L3InterfaceIpv4AddressListRequest extends AAIRequest {
+
+ /*
+ * Note: there are 3 possible paths:
+ * /aai/v7/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
+ * /aai/v7/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
+ * /aai/v7/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
+ * /aai/v7/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
+ * aaiv7:inventory/network/newvces/newvce/{vnf-id2}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
+ * aaiv7:inventory/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
+ * aaiv7:inventory/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
+ * aaiv7:inventory/cloud-infrastructure/cloud-regions/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
+ * aaiv7:inventory/cloud-infrastructure/cloud-regions/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
+ * aaiv7:inventory/cloud-infrastructure/cloud-regions/pservers/pserver/{hostname}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
+ * aaiv7:inventory/cloud-infrastructure/cloud-regions/pservers/pserver/{hostname}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
+ * aaiv7:inventory/network/newvces/newvce/{vnf-id2}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
+ * aaiv7:inventory/network/vpes/vpe/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
+ * aaiv7:inventory/network/vpes/vpe/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
+ * aaiv7:inventory/network/vpes/vpe/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
+ * aaiv7:inventory/network/vpes/vpe/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
+ * aaiv7:inventory/network/vpls-pes/vpls-pe/{equipment-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
+ * aaiv7:inventory/network/vpls-pes/vpls-pe/{equipment-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
+ * aaiv7:inventory/network/vpls-pes/vpls-pe/{equipment-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
+ * aaiv7:inventory/network/vpls-pes/vpls-pe/{equipment-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
+ * aaiv7:inventory/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
+ * aaiv7:inventory/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
+ */
+
+ public static final String L3_INTERFACE_IPV4_ADDRESS_LIST_PATH = "org.openecomp.sdnc.sli.aai.path.l3.interface.ipv4.address.list";
+ public static final String VLAN_L3_INTERFACE_IPV4_ADDRESS_LIST_PATH = "org.openecomp.sdnc.sli.aai.path.vlan.l3.interface.ipv4.address.list";
+
+ private final String l3_interface_ipv4_address_list_path;
+ private final String vlan_l3_interface_ipv4_address_list_path;
+
+ public static final String L3_INTERFACE_IPV4_ADDRESS = "l3-interface-ipv4-address";
+ public static final String LIST_L3_INTERFACE_IPV4_ADDRESS = "l3-interface-ipv4-address-list.l3-interface-ipv4-address";
+
+
+ public L3InterfaceIpv4AddressListRequest() {
+ l3_interface_ipv4_address_list_path = configProperties.getProperty(L3_INTERFACE_IPV4_ADDRESS_LIST_PATH);
+ vlan_l3_interface_ipv4_address_list_path = configProperties.getProperty(VLAN_L3_INTERFACE_IPV4_ADDRESS_LIST_PATH);
+ }
+
+ @Override
+ public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
+ return this.getRequestUrl(method, null);
+ }
+
+ @Override
+ public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
+
+ String request_url = target_uri+l3_interface_ipv4_address_list_path;
+
+ if(requestProperties.containsKey(VLanRequest.VLAN_INTERFACE) || requestProperties.containsKey(VLanRequest.VLAN_VLAN_INTERFACE)){
+ request_url = target_uri+vlan_l3_interface_ipv4_address_list_path;
+ request_url = VLanRequest.processPathData(request_url, requestProperties);
+ }
+
+ request_url = processPathData(request_url, requestProperties);
+ request_url = LInterfaceRequest.processPathData(request_url, requestProperties);
+ request_url = GenericVnfRequest.processPathData(request_url, requestProperties);
+
+ if(resourceVersion != null) {
+ request_url = request_url +"?resource-version="+resourceVersion;
+ }
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+
+ return http_req_url;
+ }
+
+
+ @Override
+ public String toJSONString() {
+ ObjectMapper mapper = getObjectMapper();
+ L3InterfaceIpv4AddressList vnfc = (L3InterfaceIpv4AddressList)requestDatum;
+ String json_text = null;
+ try {
+ json_text = mapper.writeValueAsString(vnfc);
+ } catch (JsonProcessingException exc) {
+ handleException(this, exc);
+ return null;
+ }
+ return json_text;
+ }
+
+ @Override
+ public String[] getArgsList() {
+ String[] args =
+ {
+ L3_INTERFACE_IPV4_ADDRESS,
+ LIST_L3_INTERFACE_IPV4_ADDRESS,
+ VLanRequest.VLAN_INTERFACE,
+ VLanRequest.VLAN_VLAN_INTERFACE,
+ LInterfaceRequest.INTERFACE_NAME,
+ LInterfaceRequest.LINTERFACE_INTERFACE_NAME,
+ GenericVnfRequest.GENERIC_VNF_ID,
+ GenericVnfRequest.VNF_ID
+ };
+
+ return args;
+ }
+
+ @Override
+ public Class<? extends AAIDatum> getModelClass() {
+ return L3InterfaceIpv4AddressList.class;
+ }
+
+ public static String processPathData(String request_url, Properties requestProperties) throws UnsupportedEncodingException {
+ String key = L3_INTERFACE_IPV4_ADDRESS;
+ if(requestProperties.containsKey(LIST_L3_INTERFACE_IPV4_ADDRESS)) {
+ key = LIST_L3_INTERFACE_IPV4_ADDRESS;
+ }
+
+ if(!requestProperties.containsKey(key)) {
+ aaiService.logKeyError(String.format("%s,%s", L3_INTERFACE_IPV4_ADDRESS, LIST_L3_INTERFACE_IPV4_ADDRESS));
+ }
+
+ String encoded_vnf = encodeQuery(requestProperties.getProperty(key));
+
+ request_url = request_url.replace("{l3-interface-ipv4-address}", encoded_vnf) ;
+
+ aaiService.LOGwriteDateTrace("l3-interface-ipv4-address", requestProperties.getProperty(key));
+ return request_url;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.openecomp.sdnc.sli.aai.PathConfigurator#configurePath(java.lang.String)
+ */
+// @Override
+// public void processRequestPathValues(Map<String, String> nameValues) {
+// String[] paths =
+// {
+// "/aai/v7/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}",
+// "/aai/v7/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}",
+// "/aai/v7/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}",
+// "/aai/v7/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}"
+// };
+//
+// List<String>keys = new LinkedList<String>();
+// keys.addAll(nameValues.keySet());
+// for(String key : keys) {
+// if(key.contains(".")) {
+// key = key.replaceAll("_", "-");
+// if(!LIST_L3_INTERFACE_IPV4_ADDRESS.equals(key)) {
+// int index = key.indexOf(".");
+// String resource = key.substring(0, index);
+// AAIRequest rx = createRequest(resource, nameValues);
+// if(rx != null) {
+// pathElements.add(rx);
+// }
+// }
+// }
+// }
+// super.processRequestPathValues(nameValues);
+// }
+// List<AAIRequest> pathElements = new LinkedList<AAIRequest>();
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/L3InterfaceIpv6AddressListRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/L3InterfaceIpv6AddressListRequest.java
new file mode 100644
index 0000000..549cb93
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/L3InterfaceIpv6AddressListRequest.java
@@ -0,0 +1,163 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Properties;
+
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import org.openecomp.aai.inventory.v8.L3InterfaceIpv6AddressList;
+
+public class L3InterfaceIpv6AddressListRequest extends AAIRequest {
+
+ /*
+ * Note: there are 3 possible paths:
+ * /aai/v7/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
+ * /aai/v7/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
+ * /aai/v7/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
+ * /aai/v7/network/generic-vnfs/generic-vnf/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
+ * aaiv7:inventory/network/newvces/newvce/{vnf-id2}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
+ * aaiv7:inventory/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
+ * aaiv7:inventory/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
+ * aaiv7:inventory/cloud-infrastructure/cloud-regions/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
+ * aaiv7:inventory/cloud-infrastructure/cloud-regions/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
+ * aaiv7:inventory/cloud-infrastructure/cloud-regions/pservers/pserver/{hostname}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
+ * aaiv7:inventory/cloud-infrastructure/cloud-regions/pservers/pserver/{hostname}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
+ * aaiv7:inventory/network/newvces/newvce/{vnf-id2}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
+ * aaiv7:inventory/network/vpes/vpe/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
+ * aaiv7:inventory/network/vpes/vpe/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
+ * aaiv7:inventory/network/vpes/vpe/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
+ * aaiv7:inventory/network/vpes/vpe/{vnf-id}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
+ * aaiv7:inventory/network/vpls-pes/vpls-pe/{equipment-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
+ * aaiv7:inventory/network/vpls-pes/vpls-pe/{equipment-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
+ * aaiv7:inventory/network/vpls-pes/vpls-pe/{equipment-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
+ * aaiv7:inventory/network/vpls-pes/vpls-pe/{equipment-name}/lag-interfaces/lag-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
+ * aaiv7:inventory/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
+ * aaiv7:inventory/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{interface-name}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
+ */
+
+ public static final String L3_INTERFACE_IPV6_ADDRESS_LIST_PATH = "org.openecomp.sdnc.sli.aai.path.l3.interface.ipv6.address.list";
+ public static final String VLAN_L3_INTERFACE_IPV6_ADDRESS_LIST_PATH = "org.openecomp.sdnc.sli.aai.path.vlan.l3.interface.ipv6.address.list";
+
+ private final String l3_interface_ipv6_address_list_path;
+ private final String vlan_l3_interface_ipv6_address_list_path;
+
+ public static final String L3_INTERFACE_IPV6_ADDRESS = "l3-interface-ipv6-address";
+ public static final String LIST_L3_INTERFACE_IPV6_ADDRESS = "l3-interface-ipv6-address-list.l3-interface-ipv6-address";
+
+
+ public L3InterfaceIpv6AddressListRequest() {
+ l3_interface_ipv6_address_list_path = configProperties.getProperty(L3_INTERFACE_IPV6_ADDRESS_LIST_PATH);
+ vlan_l3_interface_ipv6_address_list_path = configProperties.getProperty(VLAN_L3_INTERFACE_IPV6_ADDRESS_LIST_PATH);
+ }
+
+ @Override
+ public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
+ return this.getRequestUrl(method, null);
+ }
+
+ @Override
+ public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
+
+ String request_url = target_uri+l3_interface_ipv6_address_list_path;
+
+ if(requestProperties.containsKey(VLanRequest.VLAN_INTERFACE) || requestProperties.containsKey(VLanRequest.VLAN_VLAN_INTERFACE)){
+ request_url = target_uri+vlan_l3_interface_ipv6_address_list_path;
+ request_url = VLanRequest.processPathData(request_url, requestProperties);
+ }
+
+ request_url = processPathData(request_url, requestProperties);
+ request_url = LInterfaceRequest.processPathData(request_url, requestProperties);
+ request_url = GenericVnfRequest.processPathData(request_url, requestProperties);
+
+ if(resourceVersion != null) {
+ request_url = request_url +"?resource-version="+resourceVersion;
+ }
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+
+ return http_req_url;
+ }
+
+
+ @Override
+ public String toJSONString() {
+ ObjectMapper mapper = getObjectMapper();
+ L3InterfaceIpv6AddressList vnfc = (L3InterfaceIpv6AddressList)requestDatum;
+ String json_text = null;
+ try {
+ json_text = mapper.writeValueAsString(vnfc);
+ } catch (JsonProcessingException exc) {
+ handleException(this, exc);
+ return null;
+ }
+ return json_text;
+ }
+
+ @Override
+ public String[] getArgsList() {
+ String[] args =
+ {
+ L3_INTERFACE_IPV6_ADDRESS,
+ LIST_L3_INTERFACE_IPV6_ADDRESS,
+ VLanRequest.VLAN_INTERFACE,
+ VLanRequest.VLAN_VLAN_INTERFACE,
+ LInterfaceRequest.INTERFACE_NAME,
+ LInterfaceRequest.LINTERFACE_INTERFACE_NAME,
+ GenericVnfRequest.GENERIC_VNF_ID,
+ GenericVnfRequest.VNF_ID
+
+ };
+
+ return args;
+ }
+
+ @Override
+ public Class<? extends AAIDatum> getModelClass() {
+ return L3InterfaceIpv6AddressList.class;
+ }
+
+ public static String processPathData(String request_url, Properties requestProperties) throws UnsupportedEncodingException {
+ String key = L3_INTERFACE_IPV6_ADDRESS;
+ if(requestProperties.containsKey(LIST_L3_INTERFACE_IPV6_ADDRESS)) {
+ key = LIST_L3_INTERFACE_IPV6_ADDRESS;
+ }
+
+ if(!requestProperties.containsKey(key)) {
+ aaiService.logKeyError(String.format("%s,%s", L3_INTERFACE_IPV6_ADDRESS, LIST_L3_INTERFACE_IPV6_ADDRESS));
+ }
+
+ String encoded_vnf = encodeQuery(requestProperties.getProperty(key));
+
+ request_url = request_url.replace("{l3-interface-ipv6-address}", encoded_vnf) ;
+
+ aaiService.LOGwriteDateTrace("l3-interface-ipv6-address", requestProperties.getProperty(key));
+ return request_url;
+ }
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/L3NetworkRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/L3NetworkRequest.java
new file mode 100644
index 0000000..608646a
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/L3NetworkRequest.java
@@ -0,0 +1,130 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import org.openecomp.aai.inventory.v8.L3Network;
+
+public class L3NetworkRequest extends AAIRequest {
+
+ public static final String L3_NETWORK_PATH = "org.openecomp.sdnc.sli.aai.path.l3.network";
+ public static final String L3_NETWORK_QUERY_PATH = "org.openecomp.sdnc.sli.aai.path.l3network.query.name";
+
+ private final String l3_network_path;
+ private final String l3_network_query_path;
+
+ public static final String NETWORK_ID = "l3-network.network-id";
+ public static final String NETWORK_NAME = "l3-network.network-name";
+
+
+ public L3NetworkRequest() {
+ l3_network_path = configProperties.getProperty(L3_NETWORK_PATH);
+ l3_network_query_path = configProperties.getProperty(L3_NETWORK_QUERY_PATH);
+ }
+
+
+ @Override
+ public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
+ if(requestProperties.containsKey(NETWORK_NAME)) {
+ return getRequestQueryUrl(method);
+ }
+
+ String request_url = target_uri+l3_network_path;
+
+ String encoded_vnf = null;
+
+ if(requestProperties.containsKey(NETWORK_ID)) {
+ encoded_vnf = encodeQuery(requestProperties.getProperty(NETWORK_ID));
+ request_url = request_url.replace("{network-id}", encoded_vnf) ;
+
+ }
+
+ if(resourceVersion != null) {
+ request_url = request_url +"?resource-version="+resourceVersion;
+ }
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+ aaiService.LOGwriteDateTrace(NETWORK_ID, requestProperties.getProperty(NETWORK_ID));
+
+ return http_req_url;
+ }
+
+ @Override
+ public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
+
+ String request_url = target_uri+l3_network_query_path;
+
+ String encoded_vnf = null;
+
+ if(requestProperties.containsKey(NETWORK_NAME)) {
+ encoded_vnf = encodeQuery(requestProperties.getProperty(NETWORK_NAME));
+ request_url = request_url.replace("{network-name}", encoded_vnf) ;
+
+ }
+
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+ aaiService.LOGwriteDateTrace(NETWORK_NAME, requestProperties.getProperty(NETWORK_NAME));
+
+ return http_req_url;
+ }
+
+
+ @Override
+ public String toJSONString() {
+ ObjectMapper mapper = getObjectMapper();
+ L3Network l3Network = (L3Network)requestDatum;
+ String json_text = null;
+ try {
+ json_text = mapper.writeValueAsString(l3Network);
+ } catch (JsonProcessingException exc) {
+ handleException(this, exc);
+ return null;
+ }
+ return json_text;
+ }
+
+ @Override
+ public String[] getArgsList() {
+ String[] args = {NETWORK_ID, NETWORK_NAME};
+ return args;
+ }
+
+ @Override
+ public Class<? extends AAIDatum> getModelClass() {
+ return L3Network.class;
+ }
+
+ public String getPrimaryResourceName(String resource) {
+ return "l3-network";
+ }
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/LInterfaceRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/LInterfaceRequest.java
new file mode 100644
index 0000000..2923667
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/LInterfaceRequest.java
@@ -0,0 +1,244 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Properties;
+
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import org.openecomp.aai.inventory.v8.LInterface;
+
+public class LInterfaceRequest extends AAIRequest {
+
+ // tenant (1602)
+ public static final String LAGINTERFACE_LINTERFACE_PATH = "org.openecomp.sdnc.sli.aai.path.lag.interface.l.interface";
+ public static final String LAGINTERFACE_LINTERFACE_QUERY_PATH = "org.openecomp.sdnc.sli.aai.path.lag.interface.l.interface.query";
+
+ public static final String P_INTERFACE_LINTERFACE_PATH = "org.openecomp.sdnc.sli.aai.path.p.interface.l.interface";
+ public static final String P_INTERFACE_LINTERFACE_QUERY_PATH = "org.openecomp.sdnc.sli.aai.path.p.interface.l.interface.query";
+
+ public static final String LAGINTERFACE_LINTERFACE_PNF_PATH = "org.openecomp.sdnc.sli.aai.path.lag.interface.l.interface.pnf";
+ public static final String P_INTERFACE_LINTERFACE_PNF_PATH = "org.openecomp.sdnc.sli.aai.path.p.interface.l.interface.pnf";
+
+ private final String laginterface_linterface_path;
+ private final String laginterface_linterface_query_path;
+ private final String p_interface_linterface_path;
+ private final String p_interface_linterface_query_path;
+
+ private final String laginterface_linterface_pnf_path;
+ private final String p_interface_linterface_pnf_path;
+
+ public static final String INTERFACE_NAME = "interface-name";
+ public static final String LINTERFACE_INTERFACE_NAME = "l-interface.interface-name";
+ public static final String LAG_INTERFACE_INTERFACE_NAME = "lag-interface.interface-name";
+ public static final String P_INTERFACE_INTERFACE_NAME = "p-interface.interface-name";
+
+ public static final String ROUTER_NAME = "router-name";
+ public static final String HOSTNAME = "hostname";
+
+
+ public static enum TYPE { L2_BRIDGE_BGF, L2_BRIDGE_SBG};
+
+ private final TYPE type;
+
+ public LInterfaceRequest(TYPE type) {
+ this.type = type;
+
+ laginterface_linterface_path = configProperties.getProperty(LAGINTERFACE_LINTERFACE_PATH);
+ laginterface_linterface_query_path = configProperties.getProperty(LAGINTERFACE_LINTERFACE_QUERY_PATH);
+
+ p_interface_linterface_path = configProperties.getProperty(P_INTERFACE_LINTERFACE_PATH);
+ p_interface_linterface_query_path = configProperties.getProperty(P_INTERFACE_LINTERFACE_QUERY_PATH);
+
+ laginterface_linterface_pnf_path = configProperties.getProperty(LAGINTERFACE_LINTERFACE_PNF_PATH);
+ p_interface_linterface_pnf_path = configProperties.getProperty(P_INTERFACE_LINTERFACE_PNF_PATH);
+ }
+
+
+ @Override
+ public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
+
+ String request_url = null;
+ String encoded_vnf = null;
+ String hostname = null;
+ String pnfname = null;
+ String interfaceName = null;
+
+ if(type == TYPE.L2_BRIDGE_SBG) {
+ if(requestProperties.containsKey(PnfRequest.PNF_PNF_NAME)) {
+ request_url = target_uri + laginterface_linterface_pnf_path;
+ } else {
+ request_url = target_uri + laginterface_linterface_path;
+ }
+
+ if(requestProperties.containsKey(ROUTER_NAME)) {
+ hostname = requestProperties.getProperty(ROUTER_NAME);
+ encoded_vnf = encodeQuery(hostname);
+ request_url = request_url.replace("{hostname}", encoded_vnf);
+ }
+
+ if(requestProperties.containsKey(HOSTNAME)) {
+ hostname = requestProperties.getProperty(HOSTNAME);
+ encoded_vnf = encodeQuery(hostname);
+ request_url = request_url.replace("{hostname}", encoded_vnf);
+ }
+
+ if(requestProperties.containsKey(PnfRequest.PNF_PNF_NAME)) {
+ pnfname = requestProperties.getProperty(PnfRequest.PNF_PNF_NAME);
+ encoded_vnf = encodeQuery(pnfname);
+ request_url = request_url.replace("{pnf-name}", encoded_vnf);
+ }
+
+ encoded_vnf = encodeQuery(requestProperties.getProperty(LAG_INTERFACE_INTERFACE_NAME));
+ request_url = request_url.replace("{lag-interface.interface-name}", encoded_vnf) ;
+
+
+ interfaceName = requestProperties.getProperty(INTERFACE_NAME);
+ if(interfaceName == null || interfaceName.isEmpty()) {
+ interfaceName = requestProperties.getProperty(LINTERFACE_INTERFACE_NAME);
+ }
+ encoded_vnf = encodeQuery(interfaceName);
+ request_url = request_url.replace("{interface-name}", encoded_vnf) ;
+
+ }
+ if(type == TYPE.L2_BRIDGE_BGF) {
+ if(requestProperties.containsKey(PnfRequest.PNF_PNF_NAME)) {
+ request_url = target_uri + p_interface_linterface_pnf_path;
+ } else {
+ request_url = target_uri + p_interface_linterface_path;
+ }
+
+
+ if(requestProperties.containsKey(ROUTER_NAME)) {
+ hostname = requestProperties.getProperty(ROUTER_NAME);
+ encoded_vnf = encodeQuery(hostname);
+ request_url = request_url.replace("{hostname}", encoded_vnf);
+ }
+
+ if(requestProperties.containsKey(HOSTNAME)) {
+ hostname = requestProperties.getProperty(HOSTNAME);
+ encoded_vnf = encodeQuery(hostname);
+ request_url = request_url.replace("{hostname}", encoded_vnf);
+ }
+
+ if(requestProperties.containsKey(PnfRequest.PNF_PNF_NAME)) {
+ pnfname = requestProperties.getProperty(PnfRequest.PNF_PNF_NAME);
+ encoded_vnf = encodeQuery(pnfname);
+ request_url = request_url.replace("{pnf-name}", encoded_vnf);
+ }
+
+ encoded_vnf = encodeQuery(requestProperties.getProperty(P_INTERFACE_INTERFACE_NAME));
+ request_url = request_url.replace("{p-interface.interface-name}", encoded_vnf) ;
+
+
+ interfaceName = requestProperties.getProperty(INTERFACE_NAME);
+ if(interfaceName == null || interfaceName.isEmpty()) {
+ interfaceName = requestProperties.getProperty(LINTERFACE_INTERFACE_NAME);
+ }
+ encoded_vnf = encodeQuery(interfaceName);
+ request_url = request_url.replace("{interface-name}", encoded_vnf) ;
+ }
+
+
+ if(resourceVersion != null) {
+ request_url = request_url +"?resource-version="+resourceVersion;
+ }
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+ if(hostname != null)
+ aaiService.LOGwriteDateTrace("hostname", hostname);
+ if(pnfname != null)
+ aaiService.LOGwriteDateTrace("pnf-name", pnfname);
+ if(requestProperties.containsKey(LAG_INTERFACE_INTERFACE_NAME)) {
+ aaiService.LOGwriteDateTrace("lag-interface.interface-name", requestProperties.getProperty(LAG_INTERFACE_INTERFACE_NAME));
+ }
+ if(requestProperties.containsKey(P_INTERFACE_INTERFACE_NAME)) {
+ aaiService.LOGwriteDateTrace("p-interface.interface-name", requestProperties.getProperty(P_INTERFACE_INTERFACE_NAME));
+ }
+ aaiService.LOGwriteDateTrace("interface-name", interfaceName);
+
+ return http_req_url;
+ }
+
+ @Override
+ public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
+ return this.getRequestUrl(method, null);
+ }
+
+
+ @Override
+ public String toJSONString() {
+ ObjectMapper mapper = getObjectMapper();
+ LInterface vnfc = (LInterface)requestDatum;
+ String json_text = null;
+ try {
+ json_text = mapper.writeValueAsString(vnfc);
+ } catch (JsonProcessingException exc) {
+ handleException(this, exc);
+ return null;
+ }
+ return json_text;
+ }
+
+
+ @Override
+ public String[] getArgsList() {
+ String[] args = {};
+ if(type == TYPE.L2_BRIDGE_SBG) {
+ String[] tmpArray = {INTERFACE_NAME, LINTERFACE_INTERFACE_NAME, LAG_INTERFACE_INTERFACE_NAME, HOSTNAME, ROUTER_NAME, PnfRequest.PNF_PNF_NAME};
+ args = tmpArray;
+ }
+ if(type == TYPE.L2_BRIDGE_BGF) {
+ String[] tmpArray = {INTERFACE_NAME, LINTERFACE_INTERFACE_NAME, P_INTERFACE_INTERFACE_NAME, HOSTNAME, ROUTER_NAME, PnfRequest.PNF_PNF_NAME};
+ args = tmpArray;
+ }
+
+ return args;
+ }
+
+ @Override
+ public Class<? extends AAIDatum> getModelClass() {
+ return LInterface.class;
+ }
+
+ @Override
+ public String getPrimaryResourceName(String resource) {
+ return "l-interface";
+ }
+
+ public static final String processPathData(String request_url, Properties requestProperties) throws UnsupportedEncodingException {
+ String interfaceName = requestProperties.getProperty(INTERFACE_NAME);
+ if(interfaceName == null || interfaceName.isEmpty()) {
+ interfaceName = requestProperties.getProperty(LINTERFACE_INTERFACE_NAME);
+ }
+
+ request_url = request_url.replace("{interface-name}", encodeQuery(interfaceName)) ;
+ return request_url;
+ }
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/LagInterfacePnfRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/LagInterfacePnfRequest.java
new file mode 100644
index 0000000..8dbbd4f
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/LagInterfacePnfRequest.java
@@ -0,0 +1,126 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import org.apache.commons.lang.ArrayUtils;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+import org.slf4j.LoggerFactory;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import org.openecomp.aai.inventory.v8.LagInterface;
+
+public class LagInterfacePnfRequest extends AAIRequest {
+
+ // tenant (1602)
+ public static final String LAG_INTERFACE_PATH = "org.openecomp.sdnc.sli.aai.path.pserver.pinterface";
+ public static final String LAG_INTERFACE_QUERY_PATH = "org.openecomp.sdnc.sli.aai.path.pserver.pinterface.query";
+
+ private final String lag_interface_path;
+ private final String lag_interface_query_path;
+
+ public static final String INTERFACE_NAME = "interface-name";
+ public static final String LAG_INTERFACE_INTERFACE_NAME = "lag-interface.interface-name";
+
+
+ public LagInterfacePnfRequest() {
+ lag_interface_path = configProperties.getProperty(PnfRequest.PNF_PATH) + "/lag-interfaces/lag-interface/{interface-name}";
+ lag_interface_query_path = configProperties.getProperty(LAG_INTERFACE_QUERY_PATH);
+ LoggerFactory.getLogger(LagInterfacePnfRequest.class).debug("org.openecomp.sdnc.sli.aai.path.pserver.pinterface=\t" + lag_interface_path);
+ LoggerFactory.getLogger(LagInterfacePnfRequest.class).debug("org.openecomp.sdnc.sli.aai.path.pserver.pinterface.query=\t" + lag_interface_query_path);
+ if(lag_interface_path == null) {
+ LoggerFactory.getLogger(LagInterfacePnfRequest.class).warn("org.openecomp.sdnc.sli.aai.path.pserver.pinterface PATH not found in aaiclient.properties");
+ }
+ }
+
+
+ @Override
+ public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
+
+ String request_url = target_uri + lag_interface_path;
+ String encoded_vnf = null;
+
+ String interfaceName = null;
+
+ if(requestProperties.containsKey(INTERFACE_NAME)) {
+ interfaceName = requestProperties.getProperty(INTERFACE_NAME);
+ } else
+ if(requestProperties.containsKey(LAG_INTERFACE_INTERFACE_NAME)) {
+ interfaceName = requestProperties.getProperty(LAG_INTERFACE_INTERFACE_NAME);
+ }
+
+ encoded_vnf = encodeQuery(interfaceName);
+ request_url = request_url.replace("{interface-name}", encoded_vnf) ;
+
+ request_url = PnfRequest.processPathData(request_url,requestProperties);
+
+ if(resourceVersion != null) {
+ request_url = request_url +"?resource-version="+resourceVersion;
+ }
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+ aaiService.LOGwriteDateTrace("interface-name", interfaceName);
+
+ return http_req_url;
+ }
+
+ @Override
+ public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
+ return this.getRequestUrl(method, null);
+ }
+
+
+ @Override
+ public String toJSONString() {
+ ObjectMapper mapper = getObjectMapper();
+ LagInterface vnfc = (LagInterface)requestDatum;
+ String json_text = null;
+ try {
+ json_text = mapper.writeValueAsString(vnfc);
+ } catch (JsonProcessingException exc) {
+ handleException(this, exc);
+ return null;
+ }
+ return json_text;
+ }
+
+ @Override
+ public String[] getArgsList() {
+ String[] args = {INTERFACE_NAME, LAG_INTERFACE_INTERFACE_NAME};
+ String[] tmpArgs = new PnfRequest().getArgsList();
+
+ args = (String[]) ArrayUtils.addAll(args, tmpArgs);
+
+ return args;
+ }
+
+ @Override
+ public Class<? extends AAIDatum> getModelClass() {
+ return LagInterface.class;
+ }
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/LogicalLinkRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/LogicalLinkRequest.java
new file mode 100644
index 0000000..66c80b0
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/LogicalLinkRequest.java
@@ -0,0 +1,110 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import org.openecomp.aai.inventory.v8.LogicalLink;
+
+public class LogicalLinkRequest extends AAIRequest {
+
+ // tenant (1602)
+ public static final String LOGICAL_LINK_PATH = "org.openecomp.sdnc.sli.aai.path.logical.link";
+ public static final String LOGICAL_LINK_QUERY_PATH = "org.openecomp.sdnc.sli.aai.path.logical.link.query";
+
+ private final String logical_link_path;
+ private final String logical_link_query_path;
+
+ public static final String LIK_NAME = "link-name";
+ public static final String LOGICAL_LIK_NAME = "logical-link.link-name";
+
+ public LogicalLinkRequest() {
+ logical_link_path = configProperties.getProperty(LOGICAL_LINK_PATH);
+ logical_link_query_path = configProperties.getProperty(LOGICAL_LINK_QUERY_PATH);
+ }
+
+
+ @Override
+ public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
+
+ String request_url = target_uri + logical_link_path;
+ String encoded_vnf = null;
+
+ String linkNameKey = LIK_NAME;
+ if(requestProperties.containsKey(LOGICAL_LIK_NAME)) {
+ linkNameKey = LOGICAL_LIK_NAME;
+ }
+
+ encoded_vnf = encodeQuery(requestProperties.getProperty(linkNameKey));
+ request_url = request_url.replace("{link-name}", encoded_vnf) ;
+
+
+
+ if(resourceVersion != null) {
+ request_url = request_url +"?resource-version="+resourceVersion;
+ }
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+ aaiService.LOGwriteDateTrace("link-name", requestProperties.getProperty(linkNameKey));
+
+ return http_req_url;
+ }
+
+ @Override
+ public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
+ return this.getRequestUrl(method, null);
+ }
+
+
+ @Override
+ public String toJSONString() {
+ ObjectMapper mapper = getObjectMapper();
+ LogicalLink vnfc = (LogicalLink)requestDatum;
+ String json_text = null;
+ try {
+ json_text = mapper.writeValueAsString(vnfc);
+ } catch (JsonProcessingException exc) {
+ handleException(this, exc);
+ return null;
+ }
+ return json_text;
+ }
+
+ @Override
+ public String[] getArgsList() {
+ String[] args = {LIK_NAME, LOGICAL_LIK_NAME};
+ return args;
+ }
+
+ @Override
+ public Class<? extends AAIDatum> getModelClass() {
+ return LogicalLink.class;
+ }
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/NamedQueryRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/NamedQueryRequest.java
new file mode 100644
index 0000000..5fa1270
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/NamedQueryRequest.java
@@ -0,0 +1,133 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Properties;
+
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.AnnotationIntrospector;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector;
+import com.fasterxml.jackson.databind.type.TypeFactory;
+import com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector;
+
+import org.openecomp.aai.inventory.v8.InventoryResponseItems;
+
+public class NamedQueryRequest extends AAIRequest {
+
+ public static final String NAMED_SEARCH_PATH = "org.openecomp.sdnc.sli.aai.query.named";
+
+ private final String named_search_path;
+
+ public static final String NAMED_QUERY_UUID = "named-query-uuid";
+ public static final String PREFIX = "prefix";
+
+
+ public NamedQueryRequest() {
+ named_search_path = configProperties.getProperty(NAMED_SEARCH_PATH);
+ }
+
+ @Override
+ public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
+
+ String request_url = target_uri+named_search_path;
+
+ request_url = processPathData(request_url, requestProperties);
+
+ if(resourceVersion != null) {
+ request_url = request_url +"?resource-version="+resourceVersion;
+ }
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+
+ return http_req_url;
+ }
+
+ @Override
+ public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
+ return getRequestUrl(method, null);
+ }
+
+
+ @Override
+ public String toJSONString() {
+ ObjectMapper mapper = new ObjectMapper();
+ AnnotationIntrospector introspector = new JaxbAnnotationIntrospector(TypeFactory.defaultInstance());
+ AnnotationIntrospector secondary = new JacksonAnnotationIntrospector();
+ mapper.setAnnotationIntrospector(AnnotationIntrospector.pair(introspector, secondary));
+ mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
+
+ AAIDatum tenant = (AAIDatum)requestDatum;
+ String json_text = null;
+ try {
+ json_text = mapper.writeValueAsString(tenant);
+ } catch (JsonProcessingException exc) {
+ handleException(this, exc);
+ return null;
+ }
+ return json_text;
+ }
+
+
+ @Override
+ public String[] getArgsList() {
+ String[] args = {NAMED_QUERY_UUID, PREFIX};
+ return args;
+ }
+
+
+ @Override
+ public Class<? extends AAIDatum> getModelClass() {
+ return InventoryResponseItems.class;
+ }
+
+
+ public static String processPathData(String request_url, Properties requestProperties) throws UnsupportedEncodingException {
+
+
+ String encoded_vnf ;
+ String key = NAMED_QUERY_UUID;
+
+ if(requestProperties.containsKey(key)) {
+ encoded_vnf = encodeQuery(requestProperties.getProperty(key));
+ request_url = request_url.replace("{named-query-uuid}", encoded_vnf) ;
+ aaiService.LOGwriteDateTrace("named-query-uuid", requestProperties.getProperty(key));
+ }
+
+ key = PREFIX;
+
+ if(requestProperties.containsKey(key)) {
+ encoded_vnf = encodeQuery(requestProperties.getProperty(key));
+ request_url = request_url.replace("{prefix}", encoded_vnf) ;
+ aaiService.LOGwriteDateTrace("prefix", requestProperties.getProperty(key));
+ }
+
+ return request_url;
+ }
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/NodesQueryRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/NodesQueryRequest.java
new file mode 100644
index 0000000..bc1dccb
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/NodesQueryRequest.java
@@ -0,0 +1,145 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Properties;
+
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import org.openecomp.aai.inventory.v8.SearchResults;
+
+public class NodesQueryRequest extends AAIRequest {
+
+ public static final String NODES_SEARCH_PATH = "org.openecomp.sdnc.sli.aai.query.nodes";
+
+ private final String nodes_search_path;
+
+ public static final String NODE_TYPE = "node-type";
+ public static final String ENTITY_IDENTIFIER = "entity-identifier";
+ public static final String ENTITY_VALUE = "entity-value";
+
+
+ public NodesQueryRequest() {
+ nodes_search_path = configProperties.getProperty(NODES_SEARCH_PATH);
+ }
+
+
+// @Override
+// public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
+//
+// String request_url = target_uri+generic_search_path;
+// String key = START_NODE_TYPE;
+//
+// String encoded_vnf = encodeQuery(requestProperties.getProperty(key));
+// request_url = request_url.replace("{vnf-id}", encoded_vnf) ;
+//
+// if(resourceVersion != null) {
+// request_url = request_url +"?resource-version="+resourceVersion;
+// }
+// URL http_req_url = new URL(request_url);
+//
+// aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+//
+//
+// return http_req_url;
+// }
+
+ @Override
+ public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
+
+ String request_url = target_uri+nodes_search_path;
+
+ request_url = processPathData(request_url, requestProperties);
+
+ if(resourceVersion != null) {
+ request_url = request_url +"?resource-version="+resourceVersion;
+ }
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+
+ return http_req_url;
+ }
+
+ @Override
+ public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
+ return getRequestUrl(method, null);
+ }
+
+
+ @Override
+ public String toJSONString() {
+ ObjectMapper mapper = getObjectMapper();
+ SearchResults tenant = (SearchResults)requestDatum;
+ String json_text = null;
+ try {
+ json_text = mapper.writeValueAsString(tenant);
+ } catch (JsonProcessingException exc) {
+ handleException(this, exc);
+ return null;
+ }
+ return json_text;
+ }
+
+
+ @Override
+ public String[] getArgsList() {
+ String[] args = {NODE_TYPE, ENTITY_IDENTIFIER, ENTITY_VALUE};
+ return args;
+ }
+
+
+ @Override
+ public Class<? extends AAIDatum> getModelClass() {
+ return SearchResults.class;
+ }
+
+
+ public static String processPathData(String request_url, Properties requestProperties) throws UnsupportedEncodingException {
+
+ String key = ENTITY_IDENTIFIER;
+
+ String encoded_vnf = encodeQuery(requestProperties.getProperty(key));
+ request_url = request_url.replace("{entity-identifier}", encoded_vnf) ;
+ aaiService.LOGwriteDateTrace("entity-identifier", requestProperties.getProperty(key));
+
+ key = ENTITY_VALUE;
+
+ encoded_vnf = encodeQuery(requestProperties.getProperty(key));
+ request_url = request_url.replace("{entity-name}", encoded_vnf) ;
+ aaiService.LOGwriteDateTrace("entity-name", requestProperties.getProperty(key));
+
+ key = NODE_TYPE;
+
+ encoded_vnf = encodeQuery(requestProperties.getProperty(key));
+ request_url = request_url.replace("{node-type}", encoded_vnf) ;
+ aaiService.LOGwriteDateTrace("node-type", requestProperties.getProperty(key));
+
+ return request_url;
+ }
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PInterfacePnfRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PInterfacePnfRequest.java
new file mode 100644
index 0000000..91f6569
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PInterfacePnfRequest.java
@@ -0,0 +1,126 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import org.apache.commons.lang.ArrayUtils;
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+import org.slf4j.LoggerFactory;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import org.openecomp.aai.inventory.v8.PInterface;
+
+public class PInterfacePnfRequest extends AAIRequest {
+
+ // tenant (1602)
+ public static final String PINTERFACE_PATH = "org.openecomp.sdnc.sli.aai.path.pserver.pinterface";
+ public static final String PINTERFACE_QUERY_PATH = "org.openecomp.sdnc.sli.aai.path.pserver.pinterface.query";
+
+ private final String pinterface_path;
+ private final String pinterface_query_path;
+
+ public static final String INTERFACE_NAME = "interface-name";
+ public static final String PINTERFACE_INTERFACE_NAME = "p-interface.interface-name";
+
+
+ public PInterfacePnfRequest() {
+ pinterface_path = configProperties.getProperty(PnfRequest.PNF_PATH) + "/p-interfaces/p-interface/{interface-name}";
+ pinterface_query_path = configProperties.getProperty(PINTERFACE_QUERY_PATH);
+ LoggerFactory.getLogger(PInterfacePnfRequest.class).debug("org.openecomp.sdnc.sli.aai.path.pserver.pinterface=\t" + pinterface_path);
+ LoggerFactory.getLogger(PInterfacePnfRequest.class).debug("org.openecomp.sdnc.sli.aai.path.pserver.pinterface.query=\t" + pinterface_query_path);
+ if(pinterface_path == null) {
+ LoggerFactory.getLogger(PInterfacePnfRequest.class).warn("org.openecomp.sdnc.sli.aai.path.pserver.pinterface PATH not found in aaiclient.properties");
+ }
+ }
+
+
+ @Override
+ public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
+
+ String request_url = target_uri + pinterface_path;
+ String encoded_vnf = null;
+
+ String interfaceName = null;
+
+ if(requestProperties.containsKey(INTERFACE_NAME)) {
+ interfaceName = requestProperties.getProperty(INTERFACE_NAME);
+ } else
+ if(requestProperties.containsKey(PINTERFACE_INTERFACE_NAME)) {
+ interfaceName = requestProperties.getProperty(PINTERFACE_INTERFACE_NAME);
+ }
+
+ encoded_vnf = encodeQuery(interfaceName);
+ request_url = request_url.replace("{interface-name}", encoded_vnf) ;
+
+ request_url = PnfRequest.processPathData(request_url,requestProperties);
+
+ if(resourceVersion != null) {
+ request_url = request_url +"?resource-version="+resourceVersion;
+ }
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+ aaiService.LOGwriteDateTrace("interface-name", interfaceName);
+
+ return http_req_url;
+ }
+
+ @Override
+ public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
+ return this.getRequestUrl(method, null);
+ }
+
+
+ @Override
+ public String toJSONString() {
+ ObjectMapper mapper = getObjectMapper();
+ PInterface vnfc = (PInterface)requestDatum;
+ String json_text = null;
+ try {
+ json_text = mapper.writeValueAsString(vnfc);
+ } catch (JsonProcessingException exc) {
+ handleException(this, exc);
+ return null;
+ }
+ return json_text;
+ }
+
+ @Override
+ public String[] getArgsList() {
+ String[] args = {INTERFACE_NAME, PINTERFACE_INTERFACE_NAME};
+ String[] tmpArgs = new PnfRequest().getArgsList();
+
+ args = (String[]) ArrayUtils.addAll(args, tmpArgs);
+
+ return args;
+ }
+
+ @Override
+ public Class<? extends AAIDatum> getModelClass() {
+ return PInterface.class;
+ }
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PInterfaceRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PInterfaceRequest.java
new file mode 100644
index 0000000..33d6b3b
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PInterfaceRequest.java
@@ -0,0 +1,133 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+import org.slf4j.LoggerFactory;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import org.openecomp.aai.inventory.v8.PInterface;
+
+public class PInterfaceRequest extends AAIRequest {
+
+ // tenant (1602)
+ public static final String PINTERFACE_PATH = "org.openecomp.sdnc.sli.aai.path.pserver.pinterface";
+ public static final String PINTERFACE_QUERY_PATH = "org.openecomp.sdnc.sli.aai.path.pserver.pinterface.query";
+
+ private final String pinterface_path;
+ private final String pinterface_query_path;
+
+ public static final String HOSTNAME = "hostname";
+ public static final String PSERVER_HOSTNAME = "pserver.hostname";
+ public static final String INTERFACE_NAME = "interface-name";
+ public static final String PINTERFACE_INTERFACE_NAME = "p-interface.interface-name";
+
+
+ public PInterfaceRequest() {
+ pinterface_path = configProperties.getProperty(PINTERFACE_PATH);
+ pinterface_query_path = configProperties.getProperty(PINTERFACE_QUERY_PATH);
+ LoggerFactory.getLogger(PInterfaceRequest.class).debug("org.openecomp.sdnc.sli.aai.path.pserver.pinterface=\t" + pinterface_path);
+ LoggerFactory.getLogger(PInterfaceRequest.class).debug("org.openecomp.sdnc.sli.aai.path.pserver.pinterface.query=\t" + pinterface_query_path);
+ if(pinterface_path == null) {
+ LoggerFactory.getLogger(PInterfaceRequest.class).warn("org.openecomp.sdnc.sli.aai.path.pserver.pinterface PATH not found in aaiclient.properties");
+ }
+ }
+
+
+ @Override
+ public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
+
+ String request_url = target_uri + pinterface_path;
+ String encoded_vnf = null;
+
+ String hostname = null;
+ String interfaceName = null;
+
+ if(requestProperties.containsKey(HOSTNAME)) {
+ hostname = requestProperties.getProperty(HOSTNAME);
+ }
+ if(requestProperties.containsKey(PSERVER_HOSTNAME)) {
+ hostname = requestProperties.getProperty(PSERVER_HOSTNAME);
+ }
+
+ if(requestProperties.containsKey(INTERFACE_NAME)) {
+ interfaceName = requestProperties.getProperty(INTERFACE_NAME);
+ }
+ if(requestProperties.containsKey(PINTERFACE_INTERFACE_NAME)) {
+ interfaceName = requestProperties.getProperty(PINTERFACE_INTERFACE_NAME);
+ }
+
+ encoded_vnf = encodeQuery(hostname);
+ request_url = request_url.replace("{hostname}", encoded_vnf) ;
+
+ encoded_vnf = encodeQuery(interfaceName);
+ request_url = request_url.replace("{interface-name}", encoded_vnf) ;
+
+ if(resourceVersion != null) {
+ request_url = request_url +"?resource-version="+resourceVersion;
+ }
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+ aaiService.LOGwriteDateTrace("hostname", hostname);
+ aaiService.LOGwriteDateTrace("interface-name", hostname);
+
+ return http_req_url;
+ }
+
+ @Override
+ public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
+ return this.getRequestUrl(method, null);
+ }
+
+
+ @Override
+ public String toJSONString() {
+ ObjectMapper mapper = getObjectMapper();
+ PInterface vnfc = (PInterface)requestDatum;
+ String json_text = null;
+ try {
+ json_text = mapper.writeValueAsString(vnfc);
+ } catch (JsonProcessingException exc) {
+ handleException(this, exc);
+ return null;
+ }
+ return json_text;
+ }
+
+ @Override
+ public String[] getArgsList() {
+ String[] args = {HOSTNAME, PSERVER_HOSTNAME, INTERFACE_NAME, PINTERFACE_INTERFACE_NAME};
+ return args;
+ }
+
+ @Override
+ public Class<? extends AAIDatum> getModelClass() {
+ return PInterface.class;
+ }
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PServerRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PServerRequest.java
new file mode 100644
index 0000000..09674b8
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PServerRequest.java
@@ -0,0 +1,116 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import org.openecomp.aai.inventory.v8.Pserver;
+
+public class PServerRequest extends AAIRequest {
+
+ // tenant (1602)
+ public static final String PSERVER_PATH = "org.openecomp.sdnc.sli.aai.path.pserver";
+ public static final String PSERVER_QUERY_PATH = "org.openecomp.sdnc.sli.aai.path.pserver.query";
+
+ private final String pserver_path;
+ private final String pserver_query_path;
+
+ public static final String HOSTNAME = "hostname";
+ public static final String PSERVER_HOSTNAME = "pserver.hostname";
+
+
+ public PServerRequest() {
+ pserver_path = configProperties.getProperty(PSERVER_PATH);
+ pserver_query_path = configProperties.getProperty(PSERVER_QUERY_PATH);
+ }
+
+
+ @Override
+ public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
+
+ String request_url = target_uri + pserver_path;
+ String encoded_vnf = null;
+
+ String hostname = null;
+ if(requestProperties.containsKey(HOSTNAME)) {
+ hostname = requestProperties.getProperty(HOSTNAME);
+ encoded_vnf = encodeQuery(hostname);
+ request_url = request_url.replace("{hostname}", encoded_vnf) ;
+
+ } else if(requestProperties.containsKey(PSERVER_HOSTNAME)) {
+ hostname = requestProperties.getProperty(PSERVER_HOSTNAME);
+ encoded_vnf = encodeQuery(hostname);
+ request_url = request_url.replace("{hostname}", encoded_vnf) ;
+
+ } else {
+ LOG.error("Required key "+PSERVER_HOSTNAME+" is misssing.");
+ }
+
+ if(resourceVersion != null) {
+ request_url = request_url +"?resource-version="+resourceVersion;
+ }
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+ aaiService.LOGwriteDateTrace("hostname", hostname);
+
+ return http_req_url;
+ }
+
+ @Override
+ public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
+ return this.getRequestUrl(method, null);
+ }
+
+
+ @Override
+ public String toJSONString() {
+ ObjectMapper mapper = getObjectMapper();
+ Pserver vnfc = (Pserver)requestDatum;
+ String json_text = null;
+ try {
+ json_text = mapper.writeValueAsString(vnfc);
+ } catch (JsonProcessingException exc) {
+ handleException(this, exc);
+ return null;
+ }
+ return json_text;
+ }
+
+ @Override
+ public String[] getArgsList() {
+ String[] args = {HOSTNAME, PSERVER_HOSTNAME};
+ return args;
+ }
+
+ @Override
+ public Class<? extends AAIDatum> getModelClass() {
+ return Pserver.class;
+ }
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PathRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PathRequest.java
new file mode 100644
index 0000000..e46f005
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PathRequest.java
@@ -0,0 +1,88 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+public class PathRequest extends AAIRequest {
+
+ private final Class<? extends AAIDatum> classType;
+
+ public static final String RESOURCE_PATH = "resource-path";
+
+ public PathRequest(Class<?> type) {
+ classType = (Class<? extends AAIDatum>)type;
+ }
+
+
+ @Override
+ public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
+
+ String request_url = target_uri + "{resource-path}";
+
+ String encoded_vnf = requestProperties.getProperty(RESOURCE_PATH);
+ request_url = request_url.replace("{resource-path}", encoded_vnf) ;
+
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+
+ return http_req_url;
+ }
+
+ @Override
+ public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
+ return this.getRequestUrl(method, null);
+ }
+
+
+ @Override
+ public String toJSONString() {
+ ObjectMapper mapper = getObjectMapper();
+ String json_text = null;
+ try {
+ json_text = mapper.writeValueAsString(classType);
+ } catch (JsonProcessingException exc) {
+ handleException(this, exc);
+ return null;
+ }
+ return json_text;
+ }
+
+ @Override
+ public String[] getArgsList() {
+ String[] args = {RESOURCE_PATH};
+ return args;
+ }
+
+ @Override
+ public Class<? extends AAIDatum> getModelClass() {
+ return classType;
+ }
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PhysicalLinkRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PhysicalLinkRequest.java
new file mode 100644
index 0000000..055da4a
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PhysicalLinkRequest.java
@@ -0,0 +1,113 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import org.openecomp.aai.inventory.v8.PhysicalLink;
+
+public class PhysicalLinkRequest extends AAIRequest {
+
+ // physical link
+ public static final String PHYSICAL_LINK_PATH = "org.openecomp.sdnc.sli.aai.path.physical.link";
+ public static final String PHYSICAL_LINK_QUERY_PATH = "org.openecomp.sdnc.sli.aai.path.physical.link.query";
+
+ private final String physical_link_path;
+ private final String physical_link_query_path;
+
+ public static final String LINK_NAME = "link-name";
+ public static final String PHYSICAL_LINK_NAME = "physical-link.link-name";
+
+
+ public PhysicalLinkRequest() {
+ physical_link_path = configProperties.getProperty(PHYSICAL_LINK_PATH);
+ physical_link_query_path = configProperties.getProperty(PHYSICAL_LINK_QUERY_PATH);
+ }
+
+ @Override
+ public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
+ return this.getRequestUrl(method, null);
+ }
+
+ @Override
+ public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
+
+ String request_url = target_uri+physical_link_path;
+
+ String linkName = null;
+ if(requestProperties.containsKey(LINK_NAME)) {
+ linkName = requestProperties.getProperty(LINK_NAME);
+ }
+
+ if(requestProperties.containsKey(PHYSICAL_LINK_NAME)) {
+ linkName = requestProperties.getProperty(PHYSICAL_LINK_NAME);
+ }
+
+
+ String encoded_vnf = encodeQuery(linkName);
+ request_url = request_url.replace("{link-name}", encoded_vnf) ;
+
+ if(resourceVersion != null) {
+ request_url = request_url +"?resource-version="+resourceVersion;
+ }
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+ aaiService.LOGwriteDateTrace("link-name", linkName);
+
+ return http_req_url;
+ }
+
+
+ @Override
+ public String toJSONString() {
+ ObjectMapper mapper = getObjectMapper();
+ PhysicalLink vpe = (PhysicalLink)requestDatum;
+ String json_text = null;
+ try {
+ json_text = mapper.writeValueAsString(vpe);
+ } catch (JsonProcessingException exc) {
+ handleException(this, exc);
+ return null;
+ }
+ return json_text;
+ }
+
+ @Override
+ public String[] getArgsList() {
+ String[] args = {LINK_NAME, PHYSICAL_LINK_NAME};
+
+ return args;
+ }
+
+ @Override
+ public Class<? extends AAIDatum> getModelClass() {
+ return PhysicalLink.class;
+ }
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PnfRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PnfRequest.java
new file mode 100644
index 0000000..e668a27
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/PnfRequest.java
@@ -0,0 +1,117 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Properties;
+
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import org.openecomp.aai.inventory.v8.Pnf;
+
+public class PnfRequest extends AAIRequest {
+
+ // pnf
+ public static final String PNF_PATH = "org.openecomp.sdnc.sli.aai.path.pnf";
+
+
+ private final String pnf_path;
+
+
+ public static final String PNF_NAME = "pnf-name";
+ public static final String PNF_PNF_NAME = "pnf.pnf-name";
+
+
+ public PnfRequest() {
+ pnf_path = configProperties.getProperty(PNF_PATH);
+
+ }
+
+ @Override
+ public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
+ return this.getRequestUrl(method, null);
+ }
+
+ @Override
+ public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
+
+ String request_url = target_uri+pnf_path;
+ request_url = processPathData(request_url, requestProperties);
+
+ if(resourceVersion != null) {
+ request_url = request_url +"?resource-version="+resourceVersion;
+ }
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+
+ return http_req_url;
+ }
+
+ public static String processPathData(String request_url, Properties requestProperties) throws UnsupportedEncodingException {
+
+ String key = PNF_NAME;
+ if(requestProperties.containsKey(PNF_PNF_NAME)) {
+ key = PNF_PNF_NAME;
+ }
+
+ if(!requestProperties.containsKey(key)) {
+ aaiService.logKeyError(String.format("%s,%s", PNF_NAME, PNF_PNF_NAME));
+ }
+
+ String encoded_vnf = encodeQuery(requestProperties.getProperty(key));
+ request_url = request_url.replace("{pnf-name}", encoded_vnf) ;
+
+ return request_url;
+ }
+
+ @Override
+ public String toJSONString() {
+ ObjectMapper mapper = getObjectMapper();
+ Pnf pnf = (Pnf)requestDatum;
+ String json_text = null;
+ try {
+ json_text = mapper.writeValueAsString(pnf);
+ } catch (JsonProcessingException exc) {
+ handleException(this, exc);
+ return null;
+ }
+ return json_text;
+ }
+
+ @Override
+ public String[] getArgsList() {
+ String[] args = {PNF_NAME, PNF_PNF_NAME};
+
+ return args;
+ }
+
+ @Override
+ public Class<? extends AAIDatum> getModelClass() {
+ return Pnf.class;
+ }
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/RelationshipRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/RelationshipRequest.java
new file mode 100644
index 0000000..06ab78f
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/RelationshipRequest.java
@@ -0,0 +1,127 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import org.openecomp.aai.inventory.v8.RelationshipList;
+
+public class RelationshipRequest extends AAIRequest {
+
+ // tenant (1602)
+ public static final String RELATIONSHIP_LIST_PATH = "org.openecomp.sdnc.sli.aai.path.relationship.list";
+ public static final String RELATIONSHIP_LIST_QUERY_PATH = "org.openecomp.sdnc.sli.aai.path.relationship.list.query";
+
+ private final String relationship_path;
+ private final String relationship_query_path;
+
+ public static final String RELATED_TO = "related-to";
+ public static final String RELATIONSHIP_KEY = "relationship-key";
+
+ public RelationshipRequest() {
+ relationship_path = configProperties.getProperty(RELATIONSHIP_LIST_PATH, "/relationship-list/relationship");
+ relationship_query_path = configProperties.getProperty(RELATIONSHIP_LIST_QUERY_PATH);
+ }
+
+
+ @Override
+ public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
+
+ AAIRequest masterRequest = (AAIRequest)requestProperties.get(MASTER_REQUEST);
+ URL masterURL = masterRequest.getRequestUrl(method, null);
+
+ String request_url = masterURL.toString();
+ request_url = request_url + relationship_path;
+
+ if(request_url.contains("//")) {
+ request_url = request_url.replaceAll("//", "/");
+ }
+
+ if(requestProperties.containsKey(RELATED_TO)) {
+ String encoded_vnf = encodeQuery(requestProperties.getProperty(RELATED_TO));
+ request_url = request_url.replace("{related-to}", encoded_vnf) ;
+ }
+
+// if(resourceVersion != null) {
+// request_url = request_url +"?resource-version="+resourceVersion;
+// }
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+ aaiService.LOGwriteDateTrace("related-to", requestProperties.getProperty(RELATED_TO));
+
+ return http_req_url;
+ }
+
+ @Override
+ public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
+
+ String request_url = target_uri+relationship_query_path;
+ String encoded_vnf = encodeQuery(requestProperties.getProperty(RELATIONSHIP_KEY));
+ request_url = request_url.replace("{tenant-name}", encoded_vnf) ;
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+ aaiService.LOGwriteDateTrace("tenant_name", requestProperties.getProperty(RELATIONSHIP_KEY));
+
+ return http_req_url;
+ }
+
+
+ @Override
+ public String toJSONString() {
+ ObjectMapper mapper = getObjectMapper();
+ Object tenant = requestDatum;
+ String json_text = null;
+ try {
+ json_text = mapper.writeValueAsString(tenant);
+ } catch (JsonProcessingException exc) {
+ handleException(this, exc);
+ return null;
+ }
+ return json_text;
+ }
+
+
+ @Override
+ public String[] getArgsList() {
+ String[] args = {RELATED_TO, RELATIONSHIP_KEY};
+ return args;
+ }
+
+
+ @Override
+ public Class<? extends AAIDatum> getModelClass() {
+ return RelationshipList.class;
+ }
+
+ public boolean isDeleteDataRequired() {
+ return true;
+ }
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/SelfLinkRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/SelfLinkRequest.java
new file mode 100644
index 0000000..d8c36f3
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/SelfLinkRequest.java
@@ -0,0 +1,86 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+public class SelfLinkRequest extends AAIRequest {
+
+ private final Class<? extends AAIDatum> classType;
+
+ public static final String SELFLINK = "selflink";
+
+ public SelfLinkRequest(Class<?> type) {
+ classType = (Class<? extends AAIDatum>)type;
+ }
+
+
+ @Override
+ public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
+
+ String request_url = null;
+
+ request_url = requestProperties.getProperty(SELFLINK);
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+
+ return http_req_url;
+ }
+
+ @Override
+ public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
+ return this.getRequestUrl(method, null);
+ }
+
+
+ @Override
+ public String toJSONString() {
+ ObjectMapper mapper = getObjectMapper();
+ String json_text = null;
+ try {
+ json_text = mapper.writeValueAsString(classType);
+ } catch (JsonProcessingException exc) {
+ handleException(this, exc);
+ return null;
+ }
+ return json_text;
+ }
+
+ @Override
+ public String[] getArgsList() {
+ String[] args = {SELFLINK};
+ return args;
+ }
+
+ @Override
+ public Class<? extends AAIDatum> getModelClass() {
+ return classType;
+ }
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/ServiceInstanceRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/ServiceInstanceRequest.java
new file mode 100644
index 0000000..e03fc98
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/ServiceInstanceRequest.java
@@ -0,0 +1,120 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Properties;
+
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import org.openecomp.aai.inventory.v8.ServiceInstance;
+
+public class ServiceInstanceRequest extends AAIRequest {
+
+ // tenant (1602)
+ public static final String REQUEST_PATH = "org.openecomp.sdnc.sli.aai.path.service.instance";
+ public static final String QUERY_REQUEST_PATH = "org.openecomp.sdnc.sli.aai.path.service.instance.query";
+
+ private final String request_path;
+ private final String query_request_path;
+
+ public static final String SERVICE_INSTANCE_ID = "service-instance.service-instance-id";
+
+
+
+ public ServiceInstanceRequest() {
+ request_path = configProperties.getProperty(REQUEST_PATH);
+ query_request_path = configProperties.getProperty(QUERY_REQUEST_PATH);
+ }
+
+
+ @Override
+ public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
+
+ String request_url = target_uri + request_path;
+ String encoded_vnf = null;
+
+ request_url = processPathData(request_url, requestProperties);
+ request_url = ServiceSubscriptionRequest.processPathData(request_url, requestProperties);
+ request_url = CustomerRequest.processPathData(request_url, requestProperties);
+
+ if(resourceVersion != null) {
+ request_url = request_url +"?resource-version="+resourceVersion;
+ }
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+
+ return http_req_url;
+ }
+
+ @Override
+ public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
+ return this.getRequestUrl(method, null);
+ }
+
+
+ public static String processPathData(String request_url, Properties requestProperties) throws UnsupportedEncodingException {
+
+ String key = SERVICE_INSTANCE_ID;
+
+ if(!requestProperties.containsKey(key)) {
+ aaiService.logKeyError(SERVICE_INSTANCE_ID);
+ }
+
+ String encoded_vnf = encodeQuery(requestProperties.getProperty(key));
+ request_url = request_url.replace("{service-instance-id}", encoded_vnf) ;
+ aaiService.LOGwriteDateTrace("service-instance-id", requestProperties.getProperty(key));
+
+ return request_url;
+ }
+
+ @Override
+ public String toJSONString() {
+ ObjectMapper mapper = getObjectMapper();
+ ServiceInstance vnfc = (ServiceInstance)requestDatum;
+ String json_text = null;
+ try {
+ json_text = mapper.writeValueAsString(vnfc);
+ } catch (JsonProcessingException exc) {
+ handleException(this, exc);
+ return null;
+ }
+ return json_text;
+ }
+
+ @Override
+ public String[] getArgsList() {
+ String[] args = {SERVICE_INSTANCE_ID, ServiceSubscriptionRequest.SERVICE_TYPE, CustomerRequest.CUSTOMER_GLOBAL_CUSTOMER_ID};
+ return args;
+ }
+
+ @Override
+ public Class<? extends AAIDatum> getModelClass() {
+ return ServiceInstance.class;
+ }
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/ServiceRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/ServiceRequest.java
new file mode 100644
index 0000000..8ddbaef
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/ServiceRequest.java
@@ -0,0 +1,109 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import org.openecomp.aai.inventory.v8.Service;
+
+public class ServiceRequest extends AAIRequest {
+
+ // tenant (1602)
+ public static final String SERVICE_PATH = "org.openecomp.sdnc.sli.aai.path.service";
+ public static final String SERVICE_QUERY_PATH = "org.openecomp.sdnc.sli.aai.path.service.query";
+
+ private final String service_path;
+ private final String service_query_path;
+
+ public static final String SERVICE_ID = "service.service-id";
+
+
+
+ public ServiceRequest() {
+ service_path = configProperties.getProperty(SERVICE_PATH);
+ service_query_path = configProperties.getProperty(SERVICE_QUERY_PATH);
+ }
+
+
+ @Override
+ public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
+
+ String request_url = target_uri + service_path;
+ String encoded_vnf = null;
+
+ String serviceId = null;
+ if(requestProperties.containsKey(SERVICE_ID)) {
+ serviceId = requestProperties.getProperty(SERVICE_ID);
+ }
+
+ encoded_vnf = encodeQuery(serviceId);
+ request_url = request_url.replace("{service-id}", encoded_vnf) ;
+
+ if(resourceVersion != null) {
+ request_url = request_url +"?resource-version="+resourceVersion;
+ }
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+ aaiService.LOGwriteDateTrace("service-id", serviceId);
+
+ return http_req_url;
+ }
+
+ @Override
+ public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
+ return this.getRequestUrl(method, null);
+ }
+
+
+ @Override
+ public String toJSONString() {
+ ObjectMapper mapper = getObjectMapper();
+ Service vnfc = (Service)requestDatum;
+ String json_text = null;
+ try {
+ json_text = mapper.writeValueAsString(vnfc);
+ } catch (JsonProcessingException exc) {
+ handleException(this, exc);
+ return null;
+ }
+ return json_text;
+ }
+
+ @Override
+ public String[] getArgsList() {
+ String[] args = {SERVICE_ID};
+ return args;
+ }
+
+ @Override
+ public Class<? extends AAIDatum> getModelClass() {
+ return Service.class;
+ }
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/ServiceSubscriptionRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/ServiceSubscriptionRequest.java
new file mode 100644
index 0000000..74a0340
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/ServiceSubscriptionRequest.java
@@ -0,0 +1,120 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Properties;
+
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import org.openecomp.aai.inventory.v8.ServiceSubscription;
+
+public class ServiceSubscriptionRequest extends AAIRequest {
+
+ // tenant (1602)
+ public static final String REQUEST_PATH = "org.openecomp.sdnc.sli.aai.path.service.subscription";
+ public static final String QUERY_REQUEST_PATH = "org.openecomp.sdnc.sli.aai.path.service.subscription.query";
+
+ private final String request_path;
+ private final String query_request_path;
+
+ public static final String SERVICE_TYPE = "service-subscription.service-type";
+
+
+
+ public ServiceSubscriptionRequest() {
+ request_path = configProperties.getProperty(REQUEST_PATH);
+ query_request_path = configProperties.getProperty(QUERY_REQUEST_PATH);
+ }
+
+
+ @Override
+ public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
+
+ String request_url = target_uri + request_path;
+ String encoded_vnf = null;
+
+ request_url = processPathData(request_url, requestProperties);
+ request_url = CustomerRequest.processPathData(request_url, requestProperties);
+
+ if(resourceVersion != null) {
+ request_url = request_url +"?resource-version="+resourceVersion;
+ }
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+// aaiService.LOGwriteDateTrace("service-type", serviceId);
+
+ return http_req_url;
+ }
+
+ @Override
+ public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
+ return this.getRequestUrl(method, null);
+ }
+
+
+ public static String processPathData(String request_url, Properties requestProperties) throws UnsupportedEncodingException {
+
+ String key = SERVICE_TYPE;
+
+ if(!requestProperties.containsKey(key)) {
+ aaiService.logKeyError(SERVICE_TYPE);
+ }
+
+ String encoded_vnf = encodeQuery(requestProperties.getProperty(key));
+ request_url = request_url.replace("{service-type}", encoded_vnf) ;
+ aaiService.LOGwriteDateTrace("service-type", requestProperties.getProperty(key));
+
+ return request_url;
+ }
+
+ @Override
+ public String toJSONString() {
+ ObjectMapper mapper = getObjectMapper();
+ ServiceSubscription vnfc = (ServiceSubscription)requestDatum;
+ String json_text = null;
+ try {
+ json_text = mapper.writeValueAsString(vnfc);
+ } catch (JsonProcessingException exc) {
+ handleException(this, exc);
+ return null;
+ }
+ return json_text;
+ }
+
+ @Override
+ public String[] getArgsList() {
+ String[] args = {SERVICE_TYPE, CustomerRequest.CUSTOMER_GLOBAL_CUSTOMER_ID};
+ return args;
+ }
+
+ @Override
+ public Class<? extends AAIDatum> getModelClass() {
+ return ServiceSubscription.class;
+ }
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/SubInterfaceRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/SubInterfaceRequest.java
new file mode 100644
index 0000000..67bb96f
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/SubInterfaceRequest.java
@@ -0,0 +1,185 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Properties;
+
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import org.openecomp.aai.inventory.v8.LInterface;
+
+public class SubInterfaceRequest extends AAIRequest {
+
+ // tenant (1602)
+ public static final String PNF_LAGINTERFACE_SUBINTERFACE_PATH = "org.openecomp.sdnc.sli.aai.path.pnf.lag.interface.subinterface";
+ public static final String PNF_LAGINTERFACE_SUBINTERFACE_QUERY_PATH = "org.openecomp.sdnc.sli.aai.path.pnf.lag.interface.subinterface.query";
+
+ public static final String PNF_P_INTERFACE_SUBINTERFACE_PATH = "org.openecomp.sdnc.sli.aai.path.pnf.p.interface.l.interface";
+ public static final String PNF_P_INTERFACE_SUBINTERFACE_QUERY_PATH = "org.openecomp.sdnc.sli.aai.path.pnf.p.interface.l.interface.query";
+
+ private final String pnf_laginterface_subinterface_path;
+ private final String pnf_laginterface_subinterface_query_path;
+ private final String pnf_p_interface_subinterface_path;
+ private final String pnf_p_interface_subinterface_query_path;
+
+ public static final String SUBINTERFACE_INTERFACE_NAME = "l-interface.interface-name";
+ public static final String LAG_INTERFACE_INTERFACE_NAME = "lag-interface.interface-name";
+
+ public static enum TYPE { L2_BRIDGE_BGF, L2_BRIDGE_SBG};
+
+ private final TYPE type;
+
+ public SubInterfaceRequest(TYPE type) {
+ this.type = type;
+
+ pnf_laginterface_subinterface_path = configProperties.getProperty(PNF_LAGINTERFACE_SUBINTERFACE_PATH);
+ pnf_laginterface_subinterface_query_path = configProperties.getProperty(PNF_LAGINTERFACE_SUBINTERFACE_QUERY_PATH);
+
+ pnf_p_interface_subinterface_path = configProperties.getProperty(PNF_P_INTERFACE_SUBINTERFACE_PATH);
+ pnf_p_interface_subinterface_query_path = configProperties.getProperty(PNF_P_INTERFACE_SUBINTERFACE_QUERY_PATH);
+ }
+
+
+ @Override
+ public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
+
+ String request_url = null;
+ String encoded_vnf = null;
+
+ String pnfname = null;
+ String interfaceName = null;
+
+ if(type == TYPE.L2_BRIDGE_SBG) {
+ request_url = target_uri + pnf_laginterface_subinterface_path;
+
+ if(requestProperties.containsKey(PnfRequest.PNF_PNF_NAME)) {
+ pnfname = requestProperties.getProperty(PnfRequest.PNF_PNF_NAME);
+ encoded_vnf = encodeQuery(pnfname);
+ request_url = request_url.replace("{pnf-name}", encoded_vnf);
+ }
+
+ encoded_vnf = encodeQuery(requestProperties.getProperty(LAG_INTERFACE_INTERFACE_NAME));
+ request_url = request_url.replace("{lag-interface.interface-name}", encoded_vnf) ;
+
+
+ interfaceName = requestProperties.getProperty(SUBINTERFACE_INTERFACE_NAME);
+ encoded_vnf = encodeQuery(interfaceName);
+ request_url = request_url.replace("{interface-name}", encoded_vnf) ;
+
+ }
+ if(type == TYPE.L2_BRIDGE_BGF) {
+ request_url = target_uri + pnf_p_interface_subinterface_path;
+
+ if(requestProperties.containsKey(PnfRequest.PNF_PNF_NAME)) {
+ pnfname = requestProperties.getProperty(PnfRequest.PNF_PNF_NAME);
+ encoded_vnf = encodeQuery(pnfname);
+ request_url = request_url.replace("{pnf-name}", encoded_vnf);
+ }
+
+ encoded_vnf = encodeQuery(requestProperties.getProperty(PInterfaceRequest.PINTERFACE_INTERFACE_NAME));
+ request_url = request_url.replace("{p-interface.interface-name}", encoded_vnf) ;
+
+
+ interfaceName = requestProperties.getProperty(SUBINTERFACE_INTERFACE_NAME);
+ encoded_vnf = encodeQuery(interfaceName);
+ request_url = request_url.replace("{interface-name}", encoded_vnf) ;
+ }
+
+
+ if(resourceVersion != null) {
+ request_url = request_url +"?resource-version="+resourceVersion;
+ }
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+
+ if(pnfname != null)
+ aaiService.LOGwriteDateTrace("pnf-name", pnfname);
+ if(requestProperties.containsKey(LAG_INTERFACE_INTERFACE_NAME)) {
+ aaiService.LOGwriteDateTrace("lag-interface.interface-name", requestProperties.getProperty(LAG_INTERFACE_INTERFACE_NAME));
+ }
+ if(requestProperties.containsKey(PInterfaceRequest.PINTERFACE_INTERFACE_NAME)) {
+ aaiService.LOGwriteDateTrace("p-interface.interface-name", requestProperties.getProperty(PInterfaceRequest.PINTERFACE_INTERFACE_NAME));
+ }
+ aaiService.LOGwriteDateTrace("interface-name", interfaceName);
+
+ return http_req_url;
+ }
+
+ @Override
+ public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
+ return this.getRequestUrl(method, null);
+ }
+
+
+ @Override
+ public String toJSONString() {
+ ObjectMapper mapper = getObjectMapper();
+ LInterface vnfc = (LInterface)requestDatum;
+ String json_text = null;
+ try {
+ json_text = mapper.writeValueAsString(vnfc);
+ } catch (JsonProcessingException exc) {
+ handleException(this, exc);
+ return null;
+ }
+ return json_text;
+ }
+
+
+ @Override
+ public String[] getArgsList() {
+ String[] args = {};
+ if(type == TYPE.L2_BRIDGE_SBG) {
+ String[] tmpArray = {SUBINTERFACE_INTERFACE_NAME, LAG_INTERFACE_INTERFACE_NAME, PnfRequest.PNF_PNF_NAME};
+ args = tmpArray;
+ }
+ if(type == TYPE.L2_BRIDGE_BGF) {
+ String[] tmpArray = {SUBINTERFACE_INTERFACE_NAME, PInterfaceRequest.PINTERFACE_INTERFACE_NAME, PnfRequest.PNF_PNF_NAME};
+ args = tmpArray;
+ }
+
+ return args;
+ }
+
+ @Override
+ public Class<? extends AAIDatum> getModelClass() {
+ return LInterface.class;
+ }
+
+ @Override
+ public String getPrimaryResourceName(String resource) {
+ return "sub-interface";
+ }
+
+ public static final String processPathData(String request_url, Properties requestProperties) throws UnsupportedEncodingException {
+ String interfaceName = requestProperties.getProperty(SUBINTERFACE_INTERFACE_NAME);
+ request_url = request_url.replace("{interface-name}", encodeQuery(interfaceName)) ;
+ return request_url;
+ }
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/SubnetRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/SubnetRequest.java
new file mode 100644
index 0000000..ccaf25f
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/SubnetRequest.java
@@ -0,0 +1,116 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import org.openecomp.aai.inventory.v8.Subnet;
+
+public class SubnetRequest extends AAIRequest {
+
+ public static final String SUBNET_PATH = "org.openecomp.sdnc.sli.aai.path.subnet";
+ public static final String SUBNET_QUERY_PATH = "org.openecomp.sdnc.sli.aai.path.subnet.query";
+
+ private final String subnet_path;
+ private final String subnet_query_path;
+
+ public static final String SUBNET_ID = "subnet.subnet-id";
+ public static final String NETWORK_ID = "l3-network.network-id";
+
+
+ public SubnetRequest() {
+ subnet_path = configProperties.getProperty(SUBNET_PATH);
+ subnet_query_path = configProperties.getProperty(SUBNET_QUERY_PATH);
+ }
+
+
+ @Override
+ public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
+
+ String request_url = target_uri+subnet_path;
+
+ String encoded_vnf = null;
+ if(requestProperties.getProperty(SUBNET_ID) != null) {
+ encoded_vnf = encodeQuery(requestProperties.getProperty(SUBNET_ID));
+ request_url = request_url.replace("{subnet-id}", encoded_vnf) ;
+ }
+
+ if(requestProperties.getProperty(NETWORK_ID) != null) {
+ encoded_vnf = encodeQuery(requestProperties.getProperty(NETWORK_ID));
+ request_url = request_url.replace("{network-id}", encoded_vnf) ;
+
+ }
+
+ if(resourceVersion != null) {
+ request_url = request_url +"?resource-version="+resourceVersion;
+ }
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+ aaiService.LOGwriteDateTrace(SUBNET_ID, requestProperties.getProperty(SUBNET_ID));
+ aaiService.LOGwriteDateTrace(NETWORK_ID, requestProperties.getProperty(NETWORK_ID));
+
+ return http_req_url;
+ }
+
+ @Override
+ public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
+ return this.getRequestUrl(method, null);
+ }
+
+
+ @Override
+ public String toJSONString() {
+ ObjectMapper mapper = getObjectMapper();
+ Subnet vnfc = (Subnet)requestDatum;
+ String json_text = null;
+ try {
+ json_text = mapper.writeValueAsString(vnfc);
+ } catch (JsonProcessingException exc) {
+ handleException(this, exc);
+ return null;
+ }
+ return json_text;
+ }
+
+ @Override
+ public String[] getArgsList() {
+ String[] args = {SUBNET_ID, NETWORK_ID};
+ return args;
+ }
+
+ @Override
+ public Class<? extends AAIDatum> getModelClass() {
+ return Subnet.class;
+ }
+
+ public String getPrimaryResourceName(String resource) {
+ return "subnet";
+ }
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/TenantRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/TenantRequest.java
new file mode 100644
index 0000000..3b94adb
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/TenantRequest.java
@@ -0,0 +1,145 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Properties;
+
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import org.openecomp.aai.inventory.v8.Tenant;
+
+public class TenantRequest extends AAIRequest {
+
+ // tenant (1602)
+ public static final String TENANT_PATH = "org.openecomp.sdnc.sli.aai.path.tenant";
+ public static final String TENANT_QUERY_PATH = "org.openecomp.sdnc.sli.aai.path.tenant.query";
+
+ private final String tenant_path;
+ private final String tenant_query_path;
+
+ public static final String TENANT_ID = "tenant_id";
+ public static final String TENANT_NAME = "tenant_name";
+ public static final String TENANT_TENANT_ID = "tenant.tenant_id";
+ public static final String TENANT_TENANT_NAME = "tenant.tenant_name";
+
+ public TenantRequest() {
+ tenant_path = configProperties.getProperty(TENANT_PATH);
+ tenant_query_path = configProperties.getProperty(TENANT_QUERY_PATH);
+ }
+
+
+ @Override
+ public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
+
+ if(requestProperties.getProperty(TENANT_ID) == null && requestProperties.getProperty(TENANT_NAME) != null) {
+ return getRequestQueryUrl(method);
+ }
+
+ String request_url = target_uri+tenant_path;
+// String encoded_vnf = encodeQuery(requestProperties.getProperty(TENANT_ID));
+// request_url = request_url.replace("{tenant-id}", encoded_vnf) ;
+
+ request_url = TenantRequest.processPathData(request_url, requestProperties);
+ if(requestProperties.containsKey(CloudRegionRequest.CLOUD_REGION_CLOUD_OWNER)) {
+ request_url = CloudRegionRequest.processPathData(request_url, requestProperties);
+ }
+
+ if(resourceVersion != null) {
+ request_url = request_url +"?resource-version="+resourceVersion;
+ }
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+
+ return http_req_url;
+ }
+
+ @Override
+ public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
+
+ String request_url = target_uri+tenant_query_path;
+ String encoded_vnf = encodeQuery(requestProperties.getProperty(TENANT_NAME));
+ request_url = request_url.replace("{tenant-name}", encoded_vnf) ;
+
+ if(requestProperties.containsKey(CloudRegionRequest.CLOUD_REGION_CLOUD_OWNER)) {
+ request_url = CloudRegionRequest.processPathData(request_url, requestProperties);
+ }
+
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+ aaiService.LOGwriteDateTrace("tenant_name", requestProperties.getProperty(TENANT_NAME));
+
+ return http_req_url;
+ }
+
+
+ @Override
+ public String toJSONString() {
+ ObjectMapper mapper = getObjectMapper();
+ Tenant tenant = (Tenant)requestDatum;
+ String json_text = null;
+ try {
+ json_text = mapper.writeValueAsString(tenant);
+ } catch (JsonProcessingException exc) {
+ handleException(this, exc);
+ return null;
+ }
+ return json_text;
+ }
+
+
+ @Override
+ public String[] getArgsList() {
+ String[] args = {TENANT_ID, TENANT_NAME, TENANT_TENANT_ID, TENANT_TENANT_NAME, CloudRegionRequest.CLOUD_REGION_CLOUD_OWNER, CloudRegionRequest.CLOUD_REGION_CLOUD_REGION_ID };
+ return args;
+ }
+
+
+ @Override
+ public Class<? extends AAIDatum> getModelClass() {
+ return Tenant.class;
+ }
+
+ public static String processPathData(String request_url, Properties requestProperties) throws UnsupportedEncodingException {
+ String key = TENANT_ID;
+ if(requestProperties.containsKey(TENANT_TENANT_ID)) {
+ key = TENANT_TENANT_ID;
+ }
+
+ if(!requestProperties.containsKey(key)) {
+ aaiService.logKeyError(String.format("%s,%s", TENANT_ID, TENANT_TENANT_ID));
+ }
+
+ String encoded_vnf = encodeQuery(requestProperties.getProperty(key));
+ request_url = request_url.replace("{tenant-id}", encoded_vnf) ;
+
+ aaiService.LOGwriteDateTrace("tenant-id", requestProperties.getProperty(key));
+ return request_url;
+ }
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/VLanRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/VLanRequest.java
new file mode 100644
index 0000000..a24517b
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/VLanRequest.java
@@ -0,0 +1,137 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Properties;
+
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import org.openecomp.aai.inventory.v8.Vlan;
+
+public class VLanRequest extends AAIRequest {
+
+ public static final String VLAN_PATH = "org.openecomp.sdnc.sli.aai.path.vlan";
+ public static final String GENERIC_VNF_VLAN_PATH ="org.openecomp.sdnc.sli.aai.path.generic.vnf.vlan";
+
+ private final String vlan_path;
+
+ public static final String VLAN_INTERFACE = "vlan-interface";
+ public static final String VLAN_VLAN_INTERFACE = "vlan.vlan-interface";
+
+
+ public VLanRequest() {
+ vlan_path = configProperties.getProperty(VLAN_PATH);
+ }
+
+ @Override
+ public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
+ return this.getRequestUrl(method, null);
+ }
+
+ @Override
+ public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
+
+ String request_url = target_uri+vlan_path;
+
+ String key = VLAN_INTERFACE;
+ if(requestProperties.containsKey(VLAN_VLAN_INTERFACE)) {
+ key = VLAN_VLAN_INTERFACE;
+ }
+
+ if(!requestProperties.containsKey(key)) {
+ aaiService.logKeyError(String.format("%s,%s", VLAN_INTERFACE, VLAN_VLAN_INTERFACE));
+ }
+ String encoded_vnf = encodeQuery(requestProperties.getProperty(key));
+
+ request_url = request_url.replace("{vlan-interface}", encoded_vnf) ;
+ aaiService.LOGwriteDateTrace("vlan-interface", requestProperties.getProperty(key));
+
+ if(resourceVersion != null) {
+ request_url = request_url +"?resource-version="+resourceVersion;
+ }
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+
+ return http_req_url;
+ }
+
+
+ @Override
+ public String toJSONString() {
+ ObjectMapper mapper = getObjectMapper();
+ Vlan vnfc = (Vlan)requestDatum;
+ String json_text = null;
+ try {
+ json_text = mapper.writeValueAsString(vnfc);
+ } catch (JsonProcessingException exc) {
+ handleException(this, exc);
+ return null;
+ }
+ return json_text;
+ }
+
+ @Override
+ public String[] getArgsList() {
+ String[] args =
+ {
+ VLAN_INTERFACE,
+ VLAN_VLAN_INTERFACE,
+ LInterfaceRequest.INTERFACE_NAME,
+ LInterfaceRequest.LINTERFACE_INTERFACE_NAME,
+ GenericVnfRequest.GENERIC_VNF_ID,
+ GenericVnfRequest.VNF_ID,
+ CloudRegionRequest.CLOUD_REGION_CLOUD_OWNER,
+ CloudRegionRequest.CLOUD_REGION_CLOUD_REGION_ID
+ };
+
+ return args;
+ }
+
+ @Override
+ public Class<? extends AAIDatum> getModelClass() {
+ return Vlan.class;
+ }
+
+ public static String processPathData(String request_url, Properties requestProperties) throws UnsupportedEncodingException {
+ String key = VLAN_INTERFACE;
+ if(requestProperties.containsKey(VLAN_VLAN_INTERFACE)) {
+ key = VLAN_VLAN_INTERFACE;
+ }
+
+ if(!requestProperties.containsKey(key)) {
+ aaiService.logKeyError(String.format("%s,%s", VLAN_INTERFACE, VLAN_VLAN_INTERFACE));
+ }
+
+ String encoded_vnf = encodeQuery(requestProperties.getProperty(key));
+
+ request_url = request_url.replace("{vlan-interface}", encoded_vnf) ;
+ aaiService.LOGwriteDateTrace("vlan-interface", requestProperties.getProperty(key));
+ return request_url;
+ }
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/VServerVLanRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/VServerVLanRequest.java
new file mode 100644
index 0000000..28b5542
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/VServerVLanRequest.java
@@ -0,0 +1,148 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import org.openecomp.aai.inventory.v8.Vlan;
+
+public class VServerVLanRequest extends AAIRequest {
+ //aai/v7/cloud-infrastructure/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}
+
+ // tenant (1602)
+ public static final String VLAN_PATH = "org.openecomp.sdnc.sli.aai.path.vlan";
+ public static final String VLAN_QUERY_PATH = "org.openecomp.sdnc.sli.aai.path.vlan.query";
+
+ private final String vlan_path;
+ private final String vlan_query_path;
+
+ public static final String TENANT_ID = "tenant.tenant_id";
+ public static final String VSERVER_ID = "vserver.vserver_id";
+ public static final String INTERFACE_NAME = "l-interface.interface-name";
+ public static final String VLAN_INTERFACE = "vlan.vlan-interface";
+
+ public VServerVLanRequest() {
+ vlan_path = configProperties.getProperty(VLAN_PATH);
+ vlan_query_path = configProperties.getProperty(VLAN_QUERY_PATH);
+ }
+
+
+ @Override
+ public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
+
+ String request_url = target_uri+vlan_path;
+ String encoded_vnf = encodeQuery(requestProperties.getProperty(TENANT_ID));
+ request_url = request_url.replace("{tenant-id}", encoded_vnf) ;
+
+ encoded_vnf = encodeQuery(requestProperties.getProperty(VSERVER_ID));
+ request_url = request_url.replace("{vserver-id}", encoded_vnf) ;
+
+ encoded_vnf = encodeQuery(requestProperties.getProperty(INTERFACE_NAME));
+ request_url = request_url.replace("{interface-name}", encoded_vnf) ;
+
+ encoded_vnf = encodeQuery(requestProperties.getProperty(VLAN_INTERFACE));
+ request_url = request_url.replace("{vlan-interface}", encoded_vnf) ;
+
+ if(requestProperties.containsKey(CloudRegionRequest.CLOUD_REGION_CLOUD_OWNER)) {
+ request_url = CloudRegionRequest.processPathData(request_url, requestProperties);
+ }
+
+ if(resourceVersion != null) {
+ request_url = request_url +"?resource-version="+resourceVersion;
+ }
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+ aaiService.LOGwriteDateTrace("tenant-id", requestProperties.getProperty(TENANT_ID));
+ aaiService.LOGwriteDateTrace("vserver-id", requestProperties.getProperty(VSERVER_ID));
+ aaiService.LOGwriteDateTrace("interface-name", requestProperties.getProperty(INTERFACE_NAME));
+ aaiService.LOGwriteDateTrace("vlan-interface", requestProperties.getProperty(VLAN_INTERFACE));
+
+ return http_req_url;
+ }
+
+ @Override
+ public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
+
+ String request_url = target_uri+vlan_path;
+ String encoded_vnf = encodeQuery(requestProperties.getProperty(TENANT_ID));
+ request_url = request_url.replace("{tenant-id}", encoded_vnf) ;
+
+ encoded_vnf = encodeQuery(requestProperties.getProperty(VSERVER_ID));
+ request_url = request_url.replace("{vserver-id}", encoded_vnf) ;
+
+ encoded_vnf = encodeQuery(requestProperties.getProperty(INTERFACE_NAME));
+ request_url = request_url.replace("{interface-name}", encoded_vnf) ;
+
+ encoded_vnf = encodeQuery(requestProperties.getProperty(VLAN_INTERFACE));
+ request_url = request_url.replace("{vlan-interface}", encoded_vnf) ;
+
+ if(requestProperties.containsKey(CloudRegionRequest.CLOUD_REGION_CLOUD_OWNER)) {
+ request_url = CloudRegionRequest.processPathData(request_url, requestProperties);
+ }
+
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+ aaiService.LOGwriteDateTrace("tenant-id", requestProperties.getProperty(TENANT_ID));
+ aaiService.LOGwriteDateTrace("vserver-id", requestProperties.getProperty(VSERVER_ID));
+ aaiService.LOGwriteDateTrace("interface-name", requestProperties.getProperty(INTERFACE_NAME));
+ aaiService.LOGwriteDateTrace("vlan-interface", requestProperties.getProperty(VLAN_INTERFACE));
+
+ return http_req_url;
+ }
+
+
+ @Override
+ public String toJSONString() {
+ ObjectMapper mapper = getObjectMapper();
+ Vlan tenant = (Vlan)requestDatum;
+ String json_text = null;
+ try {
+ json_text = mapper.writeValueAsString(tenant);
+ } catch (JsonProcessingException exc) {
+ handleException(this, exc);
+ return null;
+ }
+ return json_text;
+ }
+
+
+ @Override
+ public String[] getArgsList() {
+ String[] args = {TENANT_ID, VSERVER_ID, INTERFACE_NAME, VLAN_INTERFACE, CloudRegionRequest.CLOUD_REGION_CLOUD_OWNER, CloudRegionRequest.CLOUD_REGION_CLOUD_REGION_ID};
+ return args;
+ }
+
+
+ @Override
+ public Class<? extends AAIDatum> getModelClass() {
+ return Vlan.class;
+ }
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/VfModuleRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/VfModuleRequest.java
new file mode 100644
index 0000000..64d65ef
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/VfModuleRequest.java
@@ -0,0 +1,116 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Properties;
+
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import org.openecomp.aai.inventory.v8.VfModule;
+
+public class VfModuleRequest extends AAIRequest {
+
+ // tenant (1602)
+ public static final String GENERIC_VNF_PATH = "org.openecomp.sdnc.sli.aai.path.vf.module";
+
+ private final String vf_module_path;
+
+ public static final String VF_MODULE_ID = "vf-module.vf-module-id";
+
+
+ public VfModuleRequest() {
+ vf_module_path = configProperties.getProperty(GENERIC_VNF_PATH);
+ }
+
+
+ @Override
+ public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
+
+ String request_url = target_uri+vf_module_path;
+ String key = VF_MODULE_ID;
+
+ String encoded_vnf = encodeQuery(requestProperties.getProperty(key));
+ request_url = request_url.replace("{vf-module-id}", encoded_vnf) ;
+
+ request_url = GenericVnfRequest.processPathData(request_url, requestProperties);
+
+ if(resourceVersion != null) {
+ request_url = request_url +"?resource-version="+resourceVersion;
+ }
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+ aaiService.LOGwriteDateTrace("vf-module-id", requestProperties.getProperty(key));
+
+ return http_req_url;
+ }
+
+ @Override
+ public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
+ return getRequestUrl(method, null);
+ }
+
+
+ @Override
+ public String toJSONString() {
+ ObjectMapper mapper = getObjectMapper();
+ VfModule tenant = (VfModule)requestDatum;
+ String json_text = null;
+ try {
+ json_text = mapper.writeValueAsString(tenant);
+ } catch (JsonProcessingException exc) {
+ handleException(this, exc);
+ return null;
+ }
+ return json_text;
+ }
+
+
+ @Override
+ public String[] getArgsList() {
+ String[] args = {VF_MODULE_ID, GenericVnfRequest.GENERIC_VNF_ID, GenericVnfRequest.VNF_ID};
+ return args;
+ }
+
+
+ @Override
+ public Class<? extends AAIDatum> getModelClass() {
+ return VfModule.class;
+ }
+
+
+ public static String processPathData(String request_url, Properties requestProperties) throws UnsupportedEncodingException {
+
+ String key = VF_MODULE_ID;
+
+ String encoded_vnf = encodeQuery(requestProperties.getProperty(key));
+ request_url = request_url.replace("{vf-module-id}", encoded_vnf) ;
+
+ return request_url;
+ }
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/VnfcRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/VnfcRequest.java
new file mode 100644
index 0000000..e45e78d
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/VnfcRequest.java
@@ -0,0 +1,107 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import org.openecomp.aai.inventory.v8.Vnfc;
+
+public class VnfcRequest extends AAIRequest {
+
+ // vnfc
+ public static final String VNFC_PATH = "org.openecomp.sdnc.sli.aai.path.vnfc";
+
+
+ private final String vnfc_path;
+
+
+ public static final String VNFC_NAME = "vnfc-name";
+ public static final String VNFC_VNFC_NAME = "vnfc.vnfc-name";
+
+
+ public VnfcRequest() {
+ vnfc_path = configProperties.getProperty(VNFC_PATH);
+
+ }
+
+ @Override
+ public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
+ return this.getRequestUrl(method, null);
+ }
+
+ @Override
+ public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
+
+ String request_url = target_uri+vnfc_path;
+
+ String key = VNFC_NAME;
+ if(requestProperties.containsKey(VNFC_VNFC_NAME)) {
+ key = VNFC_VNFC_NAME;
+ }
+ String encoded_vnf = encodeQuery(requestProperties.getProperty(key));
+ request_url = request_url.replace("{vnfc-name}", encoded_vnf) ;
+
+ if(resourceVersion != null) {
+ request_url = request_url +"?resource-version="+resourceVersion;
+ }
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+ aaiService.LOGwriteDateTrace("vnfc-name", requestProperties.getProperty(key));
+
+ return http_req_url;
+ }
+
+
+ @Override
+ public String toJSONString() {
+ ObjectMapper mapper = getObjectMapper();
+ Vnfc vnfc = (Vnfc)requestDatum;
+ String json_text = null;
+ try {
+ json_text = mapper.writeValueAsString(vnfc);
+ } catch (JsonProcessingException exc) {
+ handleException(this, exc);
+ return null;
+ }
+ return json_text;
+ }
+
+ @Override
+ public String[] getArgsList() {
+ String[] args = {VNFC_NAME, VNFC_VNFC_NAME};
+
+ return args;
+ }
+
+ @Override
+ public Class<? extends AAIDatum> getModelClass() {
+ return Vnfc.class;
+ }
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/VolumeGroupRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/VolumeGroupRequest.java
new file mode 100644
index 0000000..4437cb4
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/VolumeGroupRequest.java
@@ -0,0 +1,106 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import org.openecomp.aai.inventory.v8.Vnfc;
+
+public class VolumeGroupRequest extends AAIRequest {
+
+ // volume-group-id
+ public static final String VOLUME_GROUP_PATH = "org.openecomp.sdnc.sli.aai.path.volume.group";
+
+ private final String volume_group_path;
+
+ public static final String VOLUME_GROUP_NAME = "volume-group-id";
+ public static final String VOLUME_GROUP_VOLUME_GROUP_NAME = "volume-group.volume-group-id";
+
+
+ public VolumeGroupRequest() {
+ volume_group_path = configProperties.getProperty(VOLUME_GROUP_PATH);
+ }
+
+ @Override
+ public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
+ return this.getRequestUrl(method, null);
+ }
+
+ @Override
+ public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
+
+ String request_url = target_uri+volume_group_path;
+
+ String key = VOLUME_GROUP_NAME;
+ if(requestProperties.containsKey(VOLUME_GROUP_VOLUME_GROUP_NAME)) {
+ key = VOLUME_GROUP_VOLUME_GROUP_NAME;
+ }
+ String encoded_vnf = encodeQuery(requestProperties.getProperty(key));
+ request_url = request_url.replace("{volume-group-id}", encoded_vnf) ;
+
+ request_url = CloudRegionRequest.processPathData(request_url, requestProperties);
+
+ if(resourceVersion != null) {
+ request_url = request_url +"?resource-version="+resourceVersion;
+ }
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+ aaiService.LOGwriteDateTrace("volume-group-id", requestProperties.getProperty(key));
+
+ return http_req_url;
+ }
+
+
+ @Override
+ public String toJSONString() {
+ ObjectMapper mapper = getObjectMapper();
+ Vnfc vnfc = (Vnfc)requestDatum;
+ String json_text = null;
+ try {
+ json_text = mapper.writeValueAsString(vnfc);
+ } catch (JsonProcessingException exc) {
+ handleException(this, exc);
+ return null;
+ }
+ return json_text;
+ }
+
+ @Override
+ public String[] getArgsList() {
+ String[] args = {VOLUME_GROUP_NAME, VOLUME_GROUP_VOLUME_GROUP_NAME, CloudRegionRequest.CLOUD_REGION_CLOUD_OWNER, CloudRegionRequest.CLOUD_REGION_CLOUD_REGION_ID};
+
+ return args;
+ }
+
+ @Override
+ public Class<? extends AAIDatum> getModelClass() {
+ return Vnfc.class;
+ }
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/VserverRequest.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/VserverRequest.java
new file mode 100644
index 0000000..d621ac5
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/VserverRequest.java
@@ -0,0 +1,156 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai;
+
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Arrays;
+
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import org.openecomp.aai.inventory.v8.Vserver;
+
+public class VserverRequest extends AAIRequest {
+
+ public static final String VSERVER_PATH = "org.openecomp.sdnc.sli.aai.path.vserver";
+ public static final String VSERVER_QUERY_PATH = "org.openecomp.sdnc.sli.aai.path.vserver.query";
+
+ private final String vserver_path;
+ private final String vserver_query_path;
+
+ public static final String VSERVER_ID = "vserver_id";
+ public static final String VSERVER_VSERVER_ID = "vserver.vserver_id";
+
+ public static final String TENANT_ID = "tenant_id";
+ public static final String TENANT_TENANT_ID = "tenant.tenant_id";
+
+
+ public static final String VSERVER_NAME = "vserver_name";
+
+ public VserverRequest() {
+ vserver_path = configProperties.getProperty(VSERVER_PATH);
+ vserver_query_path = configProperties.getProperty(VSERVER_QUERY_PATH);
+ }
+
+
+ @Override
+ public URL getRequestUrl(String method, String resourceVersion) throws UnsupportedEncodingException, MalformedURLException {
+
+ String request_url = target_uri+vserver_path;
+ LOG.debug(Arrays.toString(requestProperties.entrySet().toArray()));
+
+ String encoded_vnf = null;
+ if(requestProperties.containsKey(VSERVER_ID)) {
+ encoded_vnf = encodeQuery(requestProperties.getProperty(VSERVER_ID));
+ request_url = request_url.replace("{vserver-id}", encoded_vnf) ;
+ aaiService.LOGwriteDateTrace(VSERVER_ID, requestProperties.getProperty(VSERVER_ID));
+ }
+ else if(requestProperties.containsKey(VSERVER_VSERVER_ID)) {
+ encoded_vnf = encodeQuery(requestProperties.getProperty(VSERVER_VSERVER_ID));
+ request_url = request_url.replace("{vserver-id}", encoded_vnf) ;
+ aaiService.LOGwriteDateTrace(VSERVER_ID, requestProperties.getProperty(VSERVER_VSERVER_ID));
+ }
+
+
+ if(requestProperties.containsKey(TENANT_ID)) {
+ encoded_vnf = encodeQuery(requestProperties.getProperty(TENANT_ID));
+ request_url = request_url.replace("{tenant-id}", encoded_vnf) ;
+ aaiService.LOGwriteDateTrace(TENANT_ID, requestProperties.getProperty(TENANT_ID));
+ }
+ else if(requestProperties.containsKey(TENANT_TENANT_ID)) {
+ encoded_vnf = encodeQuery(requestProperties.getProperty(TENANT_TENANT_ID));
+ request_url = request_url.replace("{tenant-id}", encoded_vnf) ;
+ aaiService.LOGwriteDateTrace(TENANT_ID, requestProperties.getProperty(TENANT_TENANT_ID));
+ }
+
+ if(requestProperties.containsKey(CloudRegionRequest.CLOUD_REGION_CLOUD_OWNER)) {
+ request_url = CloudRegionRequest.processPathData(request_url, requestProperties);
+ }
+
+
+ if(resourceVersion != null) {
+ request_url = request_url +"?resource-version="+resourceVersion;
+ }
+ URL http_req_url = new URL(request_url);
+
+ aaiService.LOGwriteFirstTrace(method, http_req_url.toString());
+
+ return http_req_url;
+ }
+
+ @Override
+ public URL getRequestQueryUrl(String method) throws UnsupportedEncodingException, MalformedURLException {
+ return this.getRequestUrl(method, null);
+ }
+
+
+ @Override
+ public String toJSONString() {
+ ObjectMapper mapper = getObjectMapper();
+ Vserver vnfc = (Vserver)requestDatum;
+ String json_text = null;
+ try {
+ json_text = mapper.writeValueAsString(vnfc);
+ } catch (JsonProcessingException exc) {
+ handleException(this, exc);
+ return null;
+ }
+ return json_text;
+ }
+
+ @Override
+ public String[] getArgsList() {
+ String[] args = {VSERVER_ID, VSERVER_VSERVER_ID, VSERVER_NAME, TENANT_ID, TENANT_TENANT_ID, CloudRegionRequest.CLOUD_REGION_CLOUD_OWNER, CloudRegionRequest.CLOUD_REGION_CLOUD_REGION_ID};
+ return args;
+ }
+
+ @Override
+ public Class<? extends AAIDatum> getModelClass() {
+ return Vserver.class;
+ }
+
+ @Override
+ public String formatKey(String argument) {
+ switch(argument) {
+ case "tenant-id":
+ return "tenant.tenant-id";
+ case "vserver-id":
+ return "vserver.vserver-id";
+ case "vserver-name":
+ return "vserver.vserver-name";
+// case "cloud-region-id":
+// return "cloud-region.cloud-region-id";
+// case "cloud-owner":
+// return "cloud-region.cloud-owner";
+ default:
+ return argument;
+ }
+ }
+
+ public String getPrimaryResourceName(String resource) {
+ return "vserver";
+ }
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/AAIDatum.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/AAIDatum.java
new file mode 100644
index 0000000..b809d9e
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/AAIDatum.java
@@ -0,0 +1,26 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai.data;
+
+public interface AAIDatum {
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/EchoResponse.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/EchoResponse.java
new file mode 100644
index 0000000..abbd44f
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/EchoResponse.java
@@ -0,0 +1,76 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai.data;
+
+import java.util.HashMap;
+import java.util.Map;
+import javax.annotation.Generated;
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@Generated("org.jsonschema2pojo")
+@JsonPropertyOrder({
+ "responseMessages"
+})
+public class EchoResponse implements AAIDatum {
+
+ @JsonProperty("responseMessages")
+ private ResponseMessages responseMessages;
+ @JsonIgnore
+ private Map<String, Object> additionalProperties = new HashMap<String, Object>();
+
+ /**
+ *
+ * @return
+ * The responseMessages
+ */
+ @JsonProperty("responseMessages")
+ public ResponseMessages getResponseMessages() {
+ return responseMessages;
+ }
+
+ /**
+ *
+ * @param responseMessages
+ * The responseMessages
+ */
+ @JsonProperty("responseMessages")
+ public void setResponseMessages(ResponseMessages responseMessages) {
+ this.responseMessages = responseMessages;
+ }
+
+ @JsonAnyGetter
+ public Map<String, Object> getAdditionalProperties() {
+ return this.additionalProperties;
+ }
+
+ @JsonAnySetter
+ public void setAdditionalProperty(String name, Object value) {
+ this.additionalProperties.put(name, value);
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/ErrorResponse.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/ErrorResponse.java
new file mode 100644
index 0000000..93d6604
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/ErrorResponse.java
@@ -0,0 +1,78 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai.data;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.annotation.Generated;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@Generated("org.jsonschema2pojo")
+@JsonPropertyOrder({
+ "requestError"
+})
+public class ErrorResponse {
+
+ @JsonProperty("requestError")
+ private RequestError requestError;
+ @JsonIgnore
+ private Map<String, Object> additionalProperties = new HashMap<String, Object>();
+
+ /**
+ *
+ * @return
+ * The requestError
+ */
+ @JsonProperty("requestError")
+ public RequestError getRequestError() {
+ return requestError;
+ }
+
+ /**
+ *
+ * @param requestError
+ * The requestError
+ */
+ @JsonProperty("requestError")
+ public void setRequestError(RequestError requestError) {
+ this.requestError = requestError;
+ }
+
+ @JsonAnyGetter
+ public Map<String, Object> getAdditionalProperties() {
+ return this.additionalProperties;
+ }
+
+ @JsonAnySetter
+ public void setAdditionalProperty(String name, Object value) {
+ this.additionalProperties.put(name, value);
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/RequestError.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/RequestError.java
new file mode 100644
index 0000000..f434382
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/RequestError.java
@@ -0,0 +1,78 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai.data;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.annotation.Generated;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@Generated("org.jsonschema2pojo")
+@JsonPropertyOrder({
+ "serviceException"
+})
+public class RequestError {
+
+ @JsonProperty("serviceException")
+ private ServiceException serviceException;
+ @JsonIgnore
+ private Map<String, Object> additionalProperties = new HashMap<String, Object>();
+
+ /**
+ *
+ * @return
+ * The serviceException
+ */
+ @JsonProperty("serviceException")
+ public ServiceException getServiceException() {
+ return serviceException;
+ }
+
+ /**
+ *
+ * @param serviceException
+ * The serviceException
+ */
+ @JsonProperty("serviceException")
+ public void setServiceException(ServiceException serviceException) {
+ this.serviceException = serviceException;
+ }
+
+ @JsonAnyGetter
+ public Map<String, Object> getAdditionalProperties() {
+ return this.additionalProperties;
+ }
+
+ @JsonAnySetter
+ public void setAdditionalProperty(String name, Object value) {
+ this.additionalProperties.put(name, value);
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/ResourceVersion.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/ResourceVersion.java
new file mode 100644
index 0000000..b3de714
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/ResourceVersion.java
@@ -0,0 +1,28 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai.data;
+
+public interface ResourceVersion {
+
+ public String getResourceVersion();
+ public void setResourceVersion(String resourceVersion);
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/ResponseMessage.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/ResponseMessage.java
new file mode 100644
index 0000000..4836006
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/ResponseMessage.java
@@ -0,0 +1,122 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai.data;
+
+import java.util.HashMap;
+import java.util.Map;
+import javax.annotation.Generated;
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@Generated("org.jsonschema2pojo")
+@JsonPropertyOrder({
+ "messageId",
+ "text",
+ "variables"
+})
+public class ResponseMessage {
+
+ @JsonProperty("messageId")
+ private String messageId;
+ @JsonProperty("text")
+ private String text;
+ @JsonProperty("variables")
+ private Variables variables;
+ @JsonIgnore
+ private Map<String, Object> additionalProperties = new HashMap<String, Object>();
+
+ /**
+ *
+ * @return
+ * The messageId
+ */
+ @JsonProperty("messageId")
+ public String getMessageId() {
+ return messageId;
+ }
+
+ /**
+ *
+ * @param messageId
+ * The messageId
+ */
+ @JsonProperty("messageId")
+ public void setMessageId(String messageId) {
+ this.messageId = messageId;
+ }
+
+ /**
+ *
+ * @return
+ * The text
+ */
+ @JsonProperty("text")
+ public String getText() {
+ return text;
+ }
+
+ /**
+ *
+ * @param text
+ * The text
+ */
+ @JsonProperty("text")
+ public void setText(String text) {
+ this.text = text;
+ }
+
+ /**
+ *
+ * @return
+ * The variables
+ */
+ @JsonProperty("variables")
+ public Variables getVariables() {
+ return variables;
+ }
+
+ /**
+ *
+ * @param variables
+ * The variables
+ */
+ @JsonProperty("variables")
+ public void setVariables(Variables variables) {
+ this.variables = variables;
+ }
+
+ @JsonAnyGetter
+ public Map<String, Object> getAdditionalProperties() {
+ return this.additionalProperties;
+ }
+
+ @JsonAnySetter
+ public void setAdditionalProperty(String name, Object value) {
+ this.additionalProperties.put(name, value);
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/ResponseMessages.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/ResponseMessages.java
new file mode 100644
index 0000000..96ce492
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/ResponseMessages.java
@@ -0,0 +1,78 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai.data;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import javax.annotation.Generated;
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@Generated("org.jsonschema2pojo")
+@JsonPropertyOrder({
+ "responseMessage"
+})
+public class ResponseMessages {
+
+ @JsonProperty("responseMessage")
+ private List<ResponseMessage> responseMessage = new ArrayList<ResponseMessage>();
+ @JsonIgnore
+ private Map<String, Object> additionalProperties = new HashMap<String, Object>();
+
+ /**
+ *
+ * @return
+ * The responseMessage
+ */
+ @JsonProperty("responseMessage")
+ public List<ResponseMessage> getResponseMessage() {
+ return responseMessage;
+ }
+
+ /**
+ *
+ * @param responseMessage
+ * The responseMessage
+ */
+ @JsonProperty("responseMessage")
+ public void setResponseMessage(List<ResponseMessage> responseMessage) {
+ this.responseMessage = responseMessage;
+ }
+
+ @JsonAnyGetter
+ public Map<String, Object> getAdditionalProperties() {
+ return this.additionalProperties;
+ }
+
+ @JsonAnySetter
+ public void setAdditionalProperty(String name, Object value) {
+ this.additionalProperties.put(name, value);
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/ServiceException.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/ServiceException.java
new file mode 100644
index 0000000..13b2970
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/ServiceException.java
@@ -0,0 +1,126 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai.data;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.annotation.Generated;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@Generated("org.jsonschema2pojo")
+@JsonPropertyOrder({
+ "messageId",
+ "text",
+ "variables"
+})
+public class ServiceException {
+
+ @JsonProperty("messageId")
+ private String messageId;
+ @JsonProperty("text")
+ private String text;
+ @JsonProperty("variables")
+ private List<String> variables = new ArrayList<String>();
+ @JsonIgnore
+ private Map<String, Object> additionalProperties = new HashMap<String, Object>();
+
+ /**
+ *
+ * @return
+ * The messageId
+ */
+ @JsonProperty("messageId")
+ public String getMessageId() {
+ return messageId;
+ }
+
+ /**
+ *
+ * @param messageId
+ * The messageId
+ */
+ @JsonProperty("messageId")
+ public void setMessageId(String messageId) {
+ this.messageId = messageId;
+ }
+
+ /**
+ *
+ * @return
+ * The text
+ */
+ @JsonProperty("text")
+ public String getText() {
+ return text;
+ }
+
+ /**
+ *
+ * @param text
+ * The text
+ */
+ @JsonProperty("text")
+ public void setText(String text) {
+ this.text = text;
+ }
+
+ /**
+ *
+ * @return
+ * The variables
+ */
+ @JsonProperty("variables")
+ public List<String> getVariables() {
+ return variables;
+ }
+
+ /**
+ *
+ * @param variables
+ * The variables
+ */
+ @JsonProperty("variables")
+ public void setVariables(List<String> variables) {
+ this.variables = variables;
+ }
+
+ @JsonAnyGetter
+ public Map<String, Object> getAdditionalProperties() {
+ return this.additionalProperties;
+ }
+
+ @JsonAnySetter
+ public void setAdditionalProperty(String name, Object value) {
+ this.additionalProperties.put(name, value);
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/SubInterface.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/SubInterface.java
new file mode 100644
index 0000000..5df2892
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/SubInterface.java
@@ -0,0 +1,171 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai.data;
+
+import java.util.HashMap;
+import java.util.Map;
+import javax.annotation.Generated;
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+import org.openecomp.aai.inventory.v8.RelationshipList;
+import org.openecomp.aai.inventory.v8.Vlans;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@Generated("org.jsonschema2pojo")
+@JsonPropertyOrder({
+ "interface-name",
+ "interface-role",
+ "resource-version",
+ "vlans",
+ "relationshipList"
+})
+public class SubInterface implements AAIDatum, ResourceVersion {
+
+ @JsonProperty("interface-name")
+ private String interfaceName;
+ @JsonProperty("interface-role")
+ private String interfaceRole;
+ @JsonProperty("resource-version")
+ private String resourceVersion;
+ @JsonProperty("vlans")
+ private Vlans vlans;
+ @JsonProperty("relationshipList")
+ private RelationshipList relationshipList;
+ @JsonIgnore
+ private Map<String, Object> additionalProperties = new HashMap<String, Object>();
+
+ /**
+ *
+ * @return
+ * The interfaceName
+ */
+ @JsonProperty("interface-name")
+ public String getInterfaceName() {
+ return interfaceName;
+ }
+
+ /**
+ *
+ * @param interfaceName
+ * The interface-name
+ */
+ @JsonProperty("interface-name")
+ public void setInterfaceName(String interfaceName) {
+ this.interfaceName = interfaceName;
+ }
+
+ /**
+ *
+ * @return
+ * The interfaceRole
+ */
+ @JsonProperty("interface-role")
+ public String getInterfaceRole() {
+ return interfaceRole;
+ }
+
+ /**
+ *
+ * @param interfaceRole
+ * The interface-role
+ */
+ @JsonProperty("interface-role")
+ public void setInterfaceRole(String interfaceRole) {
+ this.interfaceRole = interfaceRole;
+ }
+
+ /**
+ *
+ * @return
+ * The resourceVersion
+ */
+ @JsonProperty("resource-version")
+ public String getResourceVersion() {
+ return resourceVersion;
+ }
+
+ /**
+ *
+ * @param resourceVersion
+ * The resource-version
+ */
+ @JsonProperty("resource-version")
+ public void setResourceVersion(String resourceVersion) {
+ this.resourceVersion = resourceVersion;
+ }
+
+ /**
+ *
+ * @return
+ * The vlans
+ */
+ @JsonProperty("vlans")
+ public Vlans getVlans() {
+ return vlans;
+ }
+
+ /**
+ *
+ * @param vlans
+ * The vlans
+ */
+ @JsonProperty("vlans")
+ public void setVlans(Vlans vlans) {
+ this.vlans = vlans;
+ }
+
+ /**
+ *
+ * @return
+ * The relationshipList
+ */
+ @JsonProperty("relationshipList")
+ public RelationshipList getRelationshipList() {
+ return relationshipList;
+ }
+
+ /**
+ *
+ * @param relationshipList
+ * The relationshipList
+ */
+ @JsonProperty("relationshipList")
+ public void setRelationshipList(RelationshipList relationshipList) {
+ this.relationshipList = relationshipList;
+ }
+
+ @JsonAnyGetter
+ public Map<String, Object> getAdditionalProperties() {
+ return this.additionalProperties;
+ }
+
+ @JsonAnySetter
+ public void setAdditionalProperty(String name, Object value) {
+ this.additionalProperties.put(name, value);
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/Variables.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/Variables.java
new file mode 100644
index 0000000..e15b657
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/Variables.java
@@ -0,0 +1,78 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai.data;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import javax.annotation.Generated;
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@Generated("org.jsonschema2pojo")
+@JsonPropertyOrder({
+ "variable"
+})
+public class Variables {
+
+ @JsonProperty("variable")
+ private List<String> variable = new ArrayList<String>();
+ @JsonIgnore
+ private Map<String, Object> additionalProperties = new HashMap<String, Object>();
+
+ /**
+ *
+ * @return
+ * The variable
+ */
+ @JsonProperty("variable")
+ public List<String> getVariable() {
+ return variable;
+ }
+
+ /**
+ *
+ * @param variable
+ * The variable
+ */
+ @JsonProperty("variable")
+ public void setVariable(List<String> variable) {
+ this.variable = variable;
+ }
+
+ @JsonAnyGetter
+ public Map<String, Object> getAdditionalProperties() {
+ return this.additionalProperties;
+ }
+
+ @JsonAnySetter
+ public void setAdditionalProperty(String name, Object value) {
+ this.additionalProperties.put(name, value);
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/notify/KeyDatum.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/notify/KeyDatum.java
new file mode 100644
index 0000000..8b26ad2
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/notify/KeyDatum.java
@@ -0,0 +1,99 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai.data.notify;
+
+import java.util.HashMap;
+import java.util.Map;
+import javax.annotation.Generated;
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@Generated("org.jsonschema2pojo")
+@JsonPropertyOrder({
+ "key-name",
+ "key-value"
+})
+public class KeyDatum {
+
+ @JsonProperty("key-name")
+ private String keyName;
+ @JsonProperty("key-value")
+ private String keyValue;
+ @JsonIgnore
+ private Map<String, Object> additionalProperties = new HashMap<String, Object>();
+
+ /**
+ *
+ * @return
+ * The keyName
+ */
+ @JsonProperty("key-name")
+ public String getKeyName() {
+ return keyName;
+ }
+
+ /**
+ *
+ * @param keyName
+ * The key-name
+ */
+ @JsonProperty("key-name")
+ public void setKeyName(String keyName) {
+ this.keyName = keyName;
+ }
+
+ /**
+ *
+ * @return
+ * The keyValue
+ */
+ @JsonProperty("key-value")
+ public String getKeyValue() {
+ return keyValue;
+ }
+
+ /**
+ *
+ * @param keyValue
+ * The key-value
+ */
+ @JsonProperty("key-value")
+ public void setKeyValue(String keyValue) {
+ this.keyValue = keyValue;
+ }
+
+ @JsonAnyGetter
+ public Map<String, Object> getAdditionalProperties() {
+ return this.additionalProperties;
+ }
+
+ @JsonAnySetter
+ public void setAdditionalProperty(String name, Object value) {
+ this.additionalProperties.put(name, value);
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/notify/NotifyEvent.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/notify/NotifyEvent.java
new file mode 100644
index 0000000..0196a8d
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/notify/NotifyEvent.java
@@ -0,0 +1,170 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai.data.notify;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import javax.annotation.Generated;
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@Generated("org.jsonschema2pojo")
+@JsonPropertyOrder({
+ "event-id",
+ "event-trigger",
+ "key-data",
+ "node-type",
+ "selflink"
+})
+public class NotifyEvent {
+
+ @JsonProperty("event-id")
+ private String eventId;
+ @JsonProperty("event-trigger")
+ private String eventTrigger;
+ @JsonProperty("key-data")
+ private List<KeyDatum> keyData = new ArrayList<KeyDatum>();
+ @JsonProperty("node-type")
+ private String nodeType;
+ @JsonProperty("selflink")
+ private String selflink;
+ @JsonIgnore
+ private Map<String, Object> additionalProperties = new HashMap<String, Object>();
+
+ /**
+ *
+ * @return
+ * The eventId
+ */
+ @JsonProperty("event-id")
+ public String getEventId() {
+ return eventId;
+ }
+
+ /**
+ *
+ * @param eventId
+ * The event-id
+ */
+ @JsonProperty("event-id")
+ public void setEventId(String eventId) {
+ this.eventId = eventId;
+ }
+
+ /**
+ *
+ * @return
+ * The eventTrigger
+ */
+ @JsonProperty("event-trigger")
+ public String getEventTrigger() {
+ return eventTrigger;
+ }
+
+ /**
+ *
+ * @param eventTrigger
+ * The event-trigger
+ */
+ @JsonProperty("event-trigger")
+ public void setEventTrigger(String eventTrigger) {
+ this.eventTrigger = eventTrigger;
+ }
+
+ /**
+ *
+ * @return
+ * The keyData
+ */
+ @JsonProperty("key-data")
+ public List<KeyDatum> getKeyData() {
+ return keyData;
+ }
+
+ /**
+ *
+ * @param keyData
+ * The key-data
+ */
+ @JsonProperty("key-data")
+ public void setKeyData(List<KeyDatum> keyData) {
+ this.keyData = keyData;
+ }
+
+ /**
+ *
+ * @return
+ * The nodeType
+ */
+ @JsonProperty("node-type")
+ public String getNodeType() {
+ return nodeType;
+ }
+
+ /**
+ *
+ * @param nodeType
+ * The node-type
+ */
+ @JsonProperty("node-type")
+ public void setNodeType(String nodeType) {
+ this.nodeType = nodeType;
+ }
+
+ /**
+ *
+ * @return
+ * The selflink
+ */
+ @JsonProperty("selflink")
+ public String getSelflink() {
+ return selflink;
+ }
+
+ /**
+ *
+ * @param selflink
+ * The selflink
+ */
+ @JsonProperty("selflink")
+ public void setSelflink(String selflink) {
+ this.selflink = selflink;
+ }
+
+ @JsonAnyGetter
+ public Map<String, Object> getAdditionalProperties() {
+ return this.additionalProperties;
+ }
+
+ @JsonAnySetter
+ public void setAdditionalProperty(String name, Object value) {
+ this.additionalProperties.put(name, value);
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/v1507/Flavor.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/v1507/Flavor.java
new file mode 100644
index 0000000..24d93de
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/v1507/Flavor.java
@@ -0,0 +1,122 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai.data.v1507;
+
+import java.util.HashMap;
+import java.util.Map;
+import javax.annotation.Generated;
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@Generated("org.jsonschema2pojo")
+@JsonPropertyOrder({
+ "flavorId",
+ "flavorName",
+ "flavorLink"
+})
+public class Flavor {
+
+ @JsonProperty("flavorId")
+ private String flavorId;
+ @JsonProperty("flavorName")
+ private String flavorName;
+ @JsonProperty("flavorLink")
+ private String flavorLink;
+ @JsonIgnore
+ private Map<String, Object> additionalProperties = new HashMap<String, Object>();
+
+ /**
+ *
+ * @return
+ * The flavorId
+ */
+ @JsonProperty("flavorId")
+ public String getFlavorId() {
+ return flavorId;
+ }
+
+ /**
+ *
+ * @param flavorId
+ * The flavorId
+ */
+ @JsonProperty("flavorId")
+ public void setFlavorId(String flavorId) {
+ this.flavorId = flavorId;
+ }
+
+ /**
+ *
+ * @return
+ * The flavorName
+ */
+ @JsonProperty("flavorName")
+ public String getFlavorName() {
+ return flavorName;
+ }
+
+ /**
+ *
+ * @param flavorName
+ * The flavorName
+ */
+ @JsonProperty("flavorName")
+ public void setFlavorName(String flavorName) {
+ this.flavorName = flavorName;
+ }
+
+ /**
+ *
+ * @return
+ * The flavorLink
+ */
+ @JsonProperty("flavorLink")
+ public String getFlavorLink() {
+ return flavorLink;
+ }
+
+ /**
+ *
+ * @param flavorLink
+ * The flavorLink
+ */
+ @JsonProperty("flavorLink")
+ public void setFlavorLink(String flavorLink) {
+ this.flavorLink = flavorLink;
+ }
+
+ @JsonAnyGetter
+ public Map<String, Object> getAdditionalProperties() {
+ return this.additionalProperties;
+ }
+
+ @JsonAnySetter
+ public void setAdditionalProperty(String name, Object value) {
+ this.additionalProperties.put(name, value);
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/v1507/Host.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/v1507/Host.java
new file mode 100644
index 0000000..a4d43d4
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/v1507/Host.java
@@ -0,0 +1,122 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai.data.v1507;
+
+import java.util.HashMap;
+import java.util.Map;
+import javax.annotation.Generated;
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@Generated("org.jsonschema2pojo")
+@JsonPropertyOrder({
+ "hostId",
+ "hostname",
+ "hostLoc"
+})
+public class Host {
+
+ @JsonProperty("hostId")
+ private String hostId;
+ @JsonProperty("hostname")
+ private String hostname;
+ @JsonProperty("hostLoc")
+ private String hostLoc;
+ @JsonIgnore
+ private Map<String, Object> additionalProperties = new HashMap<String, Object>();
+
+ /**
+ *
+ * @return
+ * The hostId
+ */
+ @JsonProperty("hostId")
+ public String getHostId() {
+ return hostId;
+ }
+
+ /**
+ *
+ * @param hostId
+ * The hostId
+ */
+ @JsonProperty("hostId")
+ public void setHostId(String hostId) {
+ this.hostId = hostId;
+ }
+
+ /**
+ *
+ * @return
+ * The hostname
+ */
+ @JsonProperty("hostname")
+ public String getHostname() {
+ return hostname;
+ }
+
+ /**
+ *
+ * @param hostname
+ * The hostname
+ */
+ @JsonProperty("hostname")
+ public void setHostname(String hostname) {
+ this.hostname = hostname;
+ }
+
+ /**
+ *
+ * @return
+ * The hostLoc
+ */
+ @JsonProperty("hostLoc")
+ public String getHostLoc() {
+ return hostLoc;
+ }
+
+ /**
+ *
+ * @param hostLoc
+ * The hostLoc
+ */
+ @JsonProperty("hostLoc")
+ public void setHostLoc(String hostLoc) {
+ this.hostLoc = hostLoc;
+ }
+
+ @JsonAnyGetter
+ public Map<String, Object> getAdditionalProperties() {
+ return this.additionalProperties;
+ }
+
+ @JsonAnySetter
+ public void setAdditionalProperty(String name, Object value) {
+ this.additionalProperties.put(name, value);
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/v1507/Image.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/v1507/Image.java
new file mode 100644
index 0000000..2ffa32f
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/v1507/Image.java
@@ -0,0 +1,237 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai.data.v1507;
+
+import java.util.HashMap;
+import java.util.Map;
+import javax.annotation.Generated;
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@Generated("org.jsonschema2pojo")
+@JsonPropertyOrder({
+ "imageId",
+ "imageName",
+ "osType",
+ "osVersion",
+ "application",
+ "applicationVersion",
+ "applicationVendor",
+ "imageLink"
+})
+public class Image {
+
+ @JsonProperty("imageId")
+ private String imageId;
+ @JsonProperty("imageName")
+ private String imageName;
+ @JsonProperty("osType")
+ private String osType;
+ @JsonProperty("osVersion")
+ private String osVersion;
+ @JsonProperty("application")
+ private String application;
+ @JsonProperty("applicationVersion")
+ private String applicationVersion;
+ @JsonProperty("applicationVendor")
+ private String applicationVendor;
+ @JsonProperty("imageLink")
+ private String imageLink;
+ @JsonIgnore
+ private Map<String, Object> additionalProperties = new HashMap<String, Object>();
+
+ /**
+ *
+ * @return
+ * The imageId
+ */
+ @JsonProperty("imageId")
+ public String getImageId() {
+ return imageId;
+ }
+
+ /**
+ *
+ * @param imageId
+ * The imageId
+ */
+ @JsonProperty("imageId")
+ public void setImageId(String imageId) {
+ this.imageId = imageId;
+ }
+
+ /**
+ *
+ * @return
+ * The imageName
+ */
+ @JsonProperty("imageName")
+ public String getImageName() {
+ return imageName;
+ }
+
+ /**
+ *
+ * @param imageName
+ * The imageName
+ */
+ @JsonProperty("imageName")
+ public void setImageName(String imageName) {
+ this.imageName = imageName;
+ }
+
+ /**
+ *
+ * @return
+ * The osType
+ */
+ @JsonProperty("osType")
+ public String getOsType() {
+ return osType;
+ }
+
+ /**
+ *
+ * @param osType
+ * The osType
+ */
+ @JsonProperty("osType")
+ public void setOsType(String osType) {
+ this.osType = osType;
+ }
+
+ /**
+ *
+ * @return
+ * The osVersion
+ */
+ @JsonProperty("osVersion")
+ public String getOsVersion() {
+ return osVersion;
+ }
+
+ /**
+ *
+ * @param osVersion
+ * The osVersion
+ */
+ @JsonProperty("osVersion")
+ public void setOsVersion(String osVersion) {
+ this.osVersion = osVersion;
+ }
+
+ /**
+ *
+ * @return
+ * The application
+ */
+ @JsonProperty("application")
+ public String getApplication() {
+ return application;
+ }
+
+ /**
+ *
+ * @param application
+ * The application
+ */
+ @JsonProperty("application")
+ public void setApplication(String application) {
+ this.application = application;
+ }
+
+ /**
+ *
+ * @return
+ * The applicationVersion
+ */
+ @JsonProperty("applicationVersion")
+ public String getApplicationVersion() {
+ return applicationVersion;
+ }
+
+ /**
+ *
+ * @param applicationVersion
+ * The applicationVersion
+ */
+ @JsonProperty("applicationVersion")
+ public void setApplicationVersion(String applicationVersion) {
+ this.applicationVersion = applicationVersion;
+ }
+
+ /**
+ *
+ * @return
+ * The applicationVendor
+ */
+ @JsonProperty("applicationVendor")
+ public String getApplicationVendor() {
+ return applicationVendor;
+ }
+
+ /**
+ *
+ * @param applicationVendor
+ * The applicationVendor
+ */
+ @JsonProperty("applicationVendor")
+ public void setApplicationVendor(String applicationVendor) {
+ this.applicationVendor = applicationVendor;
+ }
+
+ /**
+ *
+ * @return
+ * The imageLink
+ */
+ @JsonProperty("imageLink")
+ public String getImageLink() {
+ return imageLink;
+ }
+
+ /**
+ *
+ * @param imageLink
+ * The imageLink
+ */
+ @JsonProperty("imageLink")
+ public void setImageLink(String imageLink) {
+ this.imageLink = imageLink;
+ }
+
+ @JsonAnyGetter
+ public Map<String, Object> getAdditionalProperties() {
+ return this.additionalProperties;
+ }
+
+ @JsonAnySetter
+ public void setAdditionalProperty(String name, Object value) {
+ this.additionalProperties.put(name, value);
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/v1507/IpAddress.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/v1507/IpAddress.java
new file mode 100644
index 0000000..d4faca1
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/v1507/IpAddress.java
@@ -0,0 +1,168 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai.data.v1507;
+
+import java.util.HashMap;
+import java.util.Map;
+import javax.annotation.Generated;
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@Generated("org.jsonschema2pojo")
+@JsonPropertyOrder({
+ "addrId",
+ "addr",
+ "version",
+ "type",
+ "networkName"
+})
+public class IpAddress {
+
+ @JsonProperty("addrId")
+ private String addrId;
+ @JsonProperty("addr")
+ private String addr;
+ @JsonProperty("version")
+ private String version;
+ @JsonProperty("type")
+ private String type;
+ @JsonProperty("networkName")
+ private String networkName;
+ @JsonIgnore
+ private Map<String, Object> additionalProperties = new HashMap<String, Object>();
+
+ /**
+ *
+ * @return
+ * The addrId
+ */
+ @JsonProperty("addrId")
+ public String getAddrId() {
+ return addrId;
+ }
+
+ /**
+ *
+ * @param addrId
+ * The addrId
+ */
+ @JsonProperty("addrId")
+ public void setAddrId(String addrId) {
+ this.addrId = addrId;
+ }
+
+ /**
+ *
+ * @return
+ * The addr
+ */
+ @JsonProperty("addr")
+ public String getAddr() {
+ return addr;
+ }
+
+ /**
+ *
+ * @param addr
+ * The addr
+ */
+ @JsonProperty("addr")
+ public void setAddr(String addr) {
+ this.addr = addr;
+ }
+
+ /**
+ *
+ * @return
+ * The version
+ */
+ @JsonProperty("version")
+ public String getVersion() {
+ return version;
+ }
+
+ /**
+ *
+ * @param version
+ * The version
+ */
+ @JsonProperty("version")
+ public void setVersion(String version) {
+ this.version = version;
+ }
+
+ /**
+ *
+ * @return
+ * The type
+ */
+ @JsonProperty("type")
+ public String getType() {
+ return type;
+ }
+
+ /**
+ *
+ * @param type
+ * The type
+ */
+ @JsonProperty("type")
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ /**
+ *
+ * @return
+ * The networkName
+ */
+ @JsonProperty("networkName")
+ public String getNetworkName() {
+ return networkName;
+ }
+
+ /**
+ *
+ * @param networkName
+ * The networkName
+ */
+ @JsonProperty("networkName")
+ public void setNetworkName(String networkName) {
+ this.networkName = networkName;
+ }
+
+ @JsonAnyGetter
+ public Map<String, Object> getAdditionalProperties() {
+ return this.additionalProperties;
+ }
+
+ @JsonAnySetter
+ public void setAdditionalProperty(String name, Object value) {
+ this.additionalProperties.put(name, value);
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/v1507/Relationship.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/v1507/Relationship.java
new file mode 100644
index 0000000..cb65abf
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/v1507/Relationship.java
@@ -0,0 +1,147 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai.data.v1507;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import javax.annotation.Generated;
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@Generated("org.jsonschema2pojo")
+@JsonPropertyOrder({
+ "relatedTo",
+ "relatedLink",
+ "relationshipData",
+ "any"
+})
+public class Relationship {
+
+ @JsonProperty("relatedTo")
+ private String relatedTo;
+ @JsonProperty("relatedLink")
+ private String relatedLink;
+ @JsonProperty("relationshipData")
+ private List<RelationshipDatum> relationshipData = new ArrayList<RelationshipDatum>();
+ @JsonProperty("any")
+ private List<Object> any = new ArrayList<Object>();
+ @JsonIgnore
+ private Map<String, Object> additionalProperties = new HashMap<String, Object>();
+
+ /**
+ *
+ * @return
+ * The relatedTo
+ */
+ @JsonProperty("relatedTo")
+ public String getRelatedTo() {
+ return relatedTo;
+ }
+
+ /**
+ *
+ * @param relatedTo
+ * The relatedTo
+ */
+ @JsonProperty("relatedTo")
+ public void setRelatedTo(String relatedTo) {
+ this.relatedTo = relatedTo;
+ }
+
+ /**
+ *
+ * @return
+ * The relatedLink
+ */
+ @JsonProperty("relatedLink")
+ public String getRelatedLink() {
+ return relatedLink;
+ }
+
+ /**
+ *
+ * @param relatedLink
+ * The relatedLink
+ */
+ @JsonProperty("relatedLink")
+ public void setRelatedLink(String relatedLink) {
+ this.relatedLink = relatedLink;
+ }
+
+ /**
+ *
+ * @return
+ * The relationshipData
+ */
+ @JsonProperty("relationshipData")
+ public List<RelationshipDatum> getRelationshipData() {
+ return relationshipData;
+ }
+
+ /**
+ *
+ * @param relationshipData
+ * The relationshipData
+ */
+ @JsonProperty("relationshipData")
+ public void setRelationshipData(List<RelationshipDatum> relationshipData) {
+ this.relationshipData = relationshipData;
+ }
+
+ /**
+ *
+ * @return
+ * The any
+ */
+ @JsonProperty("any")
+ public List<Object> getAny() {
+ return any;
+ }
+
+ /**
+ *
+ * @param any
+ * The any
+ */
+ @JsonProperty("any")
+ public void setAny(List<Object> any) {
+ this.any = any;
+ }
+
+ @JsonAnyGetter
+ public Map<String, Object> getAdditionalProperties() {
+ return this.additionalProperties;
+ }
+
+ @JsonAnySetter
+ public void setAdditionalProperty(String name, Object value) {
+ this.additionalProperties.put(name, value);
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/v1507/RelationshipDatum.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/v1507/RelationshipDatum.java
new file mode 100644
index 0000000..800bb6a
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/v1507/RelationshipDatum.java
@@ -0,0 +1,124 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai.data.v1507;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import javax.annotation.Generated;
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@Generated("org.jsonschema2pojo")
+@JsonPropertyOrder({
+ "relationshipKey",
+ "relationshipValue",
+ "any"
+})
+public class RelationshipDatum {
+
+ @JsonProperty("relationshipKey")
+ private String relationshipKey;
+ @JsonProperty("relationshipValue")
+ private String relationshipValue;
+ @JsonProperty("any")
+ private List<Object> any = new ArrayList<Object>();
+ @JsonIgnore
+ private Map<String, Object> additionalProperties = new HashMap<String, Object>();
+
+ /**
+ *
+ * @return
+ * The relationshipKey
+ */
+ @JsonProperty("relationshipKey")
+ public String getRelationshipKey() {
+ return relationshipKey;
+ }
+
+ /**
+ *
+ * @param relationshipKey
+ * The relationshipKey
+ */
+ @JsonProperty("relationshipKey")
+ public void setRelationshipKey(String relationshipKey) {
+ this.relationshipKey = relationshipKey;
+ }
+
+ /**
+ *
+ * @return
+ * The relationshipValue
+ */
+ @JsonProperty("relationshipValue")
+ public String getRelationshipValue() {
+ return relationshipValue;
+ }
+
+ /**
+ *
+ * @param relationshipValue
+ * The relationshipValue
+ */
+ @JsonProperty("relationshipValue")
+ public void setRelationshipValue(String relationshipValue) {
+ this.relationshipValue = relationshipValue;
+ }
+
+ /**
+ *
+ * @return
+ * The any
+ */
+ @JsonProperty("any")
+ public List<Object> getAny() {
+ return any;
+ }
+
+ /**
+ *
+ * @param any
+ * The any
+ */
+ @JsonProperty("any")
+ public void setAny(List<Object> any) {
+ this.any = any;
+ }
+
+ @JsonAnyGetter
+ public Map<String, Object> getAdditionalProperties() {
+ return this.additionalProperties;
+ }
+
+ @JsonAnySetter
+ public void setAdditionalProperty(String name, Object value) {
+ this.additionalProperties.put(name, value);
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/v1507/RelationshipList.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/v1507/RelationshipList.java
new file mode 100644
index 0000000..be39145
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/v1507/RelationshipList.java
@@ -0,0 +1,101 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai.data.v1507;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import javax.annotation.Generated;
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@Generated("org.jsonschema2pojo")
+@JsonPropertyOrder({
+ "relationship",
+ "any"
+})
+public class RelationshipList {
+
+ @JsonProperty("relationship")
+ private List<Relationship> relationship = new ArrayList<Relationship>();
+ @JsonProperty("any")
+ private List<Object> any = new ArrayList<Object>();
+ @JsonIgnore
+ private Map<String, Object> additionalProperties = new HashMap<String, Object>();
+
+ /**
+ *
+ * @return
+ * The relationship
+ */
+ @JsonProperty("relationship")
+ public List<Relationship> getRelationship() {
+ return relationship;
+ }
+
+ /**
+ *
+ * @param relationship
+ * The relationship
+ */
+ @JsonProperty("relationship")
+ public void setRelationship(List<Relationship> relationship) {
+ this.relationship = relationship;
+ }
+
+ /**
+ *
+ * @return
+ * The any
+ */
+ @JsonProperty("any")
+ public List<Object> getAny() {
+ return any;
+ }
+
+ /**
+ *
+ * @param any
+ * The any
+ */
+ @JsonProperty("any")
+ public void setAny(List<Object> any) {
+ this.any = any;
+ }
+
+ @JsonAnyGetter
+ public Map<String, Object> getAdditionalProperties() {
+ return this.additionalProperties;
+ }
+
+ @JsonAnySetter
+ public void setAdditionalProperty(String name, Object value) {
+ this.additionalProperties.put(name, value);
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/v1507/VServer.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/v1507/VServer.java
new file mode 100644
index 0000000..84349af
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/data/v1507/VServer.java
@@ -0,0 +1,262 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai.data.v1507;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import javax.annotation.Generated;
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@Generated("org.jsonschema2pojo")
+@JsonPropertyOrder({
+ "vmId",
+ "vmName",
+ "vmName2",
+ "host",
+ "image",
+ "flavor",
+ "ipAddresses",
+ "vserverLink",
+ "relationshipList"
+})
+public class VServer {
+
+ @JsonProperty("vmId")
+ private String vmId;
+ @JsonProperty("vmName")
+ private String vmName;
+ @JsonProperty("vmName2")
+ private String vmName2;
+ @JsonProperty("host")
+ private Host host;
+ @JsonProperty("image")
+ private Image image;
+ @JsonProperty("flavor")
+ private Flavor flavor;
+ @JsonProperty("ipAddresses")
+ private List<IpAddress> ipAddresses = new ArrayList<IpAddress>();
+ @JsonProperty("vserverLink")
+ private String vserverLink;
+ @JsonProperty("relationshipList")
+ private RelationshipList relationshipList;
+ @JsonIgnore
+ private Map<String, Object> additionalProperties = new HashMap<String, Object>();
+
+ /**
+ *
+ * @return
+ * The vmId
+ */
+ @JsonProperty("vmId")
+ public String getVmId() {
+ return vmId;
+ }
+
+ /**
+ *
+ * @param vmId
+ * The vmId
+ */
+ @JsonProperty("vmId")
+ public void setVmId(String vmId) {
+ this.vmId = vmId;
+ }
+
+ /**
+ *
+ * @return
+ * The vmName
+ */
+ @JsonProperty("vmName")
+ public String getVmName() {
+ return vmName;
+ }
+
+ /**
+ *
+ * @param vmName
+ * The vmName
+ */
+ @JsonProperty("vmName")
+ public void setVmName(String vmName) {
+ this.vmName = vmName;
+ }
+
+ /**
+ *
+ * @return
+ * The vmName2
+ */
+ @JsonProperty("vmName2")
+ public String getVmName2() {
+ return vmName2;
+ }
+
+ /**
+ *
+ * @param vmName2
+ * The vmName2
+ */
+ @JsonProperty("vmName2")
+ public void setVmName2(String vmName2) {
+ this.vmName2 = vmName2;
+ }
+
+ /**
+ *
+ * @return
+ * The host
+ */
+ @JsonProperty("host")
+ public Host getHost() {
+ return host;
+ }
+
+ /**
+ *
+ * @param host
+ * The host
+ */
+ @JsonProperty("host")
+ public void setHost(Host host) {
+ this.host = host;
+ }
+
+ /**
+ *
+ * @return
+ * The image
+ */
+ @JsonProperty("image")
+ public Image getImage() {
+ return image;
+ }
+
+ /**
+ *
+ * @param image
+ * The image
+ */
+ @JsonProperty("image")
+ public void setImage(Image image) {
+ this.image = image;
+ }
+
+ /**
+ *
+ * @return
+ * The flavor
+ */
+ @JsonProperty("flavor")
+ public Flavor getFlavor() {
+ return flavor;
+ }
+
+ /**
+ *
+ * @param flavor
+ * The flavor
+ */
+ @JsonProperty("flavor")
+ public void setFlavor(Flavor flavor) {
+ this.flavor = flavor;
+ }
+
+ /**
+ *
+ * @return
+ * The ipAddresses
+ */
+ @JsonProperty("ipAddresses")
+ public List<IpAddress> getIpAddresses() {
+ return ipAddresses;
+ }
+
+ /**
+ *
+ * @param ipAddresses
+ * The ipAddresses
+ */
+ @JsonProperty("ipAddresses")
+ public void setIpAddresses(List<IpAddress> ipAddresses) {
+ this.ipAddresses = ipAddresses;
+ }
+
+ /**
+ *
+ * @return
+ * The vserverLink
+ */
+ @JsonProperty("vserverLink")
+ public String getVserverLink() {
+ return vserverLink;
+ }
+
+ /**
+ *
+ * @param vserverLink
+ * The vserverLink
+ */
+ @JsonProperty("vserverLink")
+ public void setVserverLink(String vserverLink) {
+ this.vserverLink = vserverLink;
+ }
+
+ /**
+ *
+ * @return
+ * The relationshipList
+ */
+ @JsonProperty("relationshipList")
+ public RelationshipList getRelationshipList() {
+ return relationshipList;
+ }
+
+ /**
+ *
+ * @param relationshipList
+ * The relationshipList
+ */
+ @JsonProperty("relationshipList")
+ public void setRelationshipList(RelationshipList relationshipList) {
+ this.relationshipList = relationshipList;
+ }
+
+ @JsonAnyGetter
+ public Map<String, Object> getAdditionalProperties() {
+ return this.additionalProperties;
+ }
+
+ @JsonAnySetter
+ public void setAdditionalProperty(String name, Object value) {
+ this.additionalProperties.put(name, value);
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/query/InstanceFilter.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/query/InstanceFilter.java
new file mode 100644
index 0000000..d602681
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/query/InstanceFilter.java
@@ -0,0 +1,104 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai.query;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.annotation.Generated;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+import org.openecomp.aai.inventory.v8.LogicalLink;
+import org.openecomp.aai.inventory.v8.Pnf;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@Generated("org.jsonschema2pojo")
+@JsonPropertyOrder({
+ "logical-link",
+ "pnf"
+})
+public class InstanceFilter {
+
+ @JsonProperty("logical-link")
+ private LogicalLink logicalLink;
+ @JsonProperty("pnf")
+ private Pnf pnf;
+ @JsonIgnore
+ private Map<String, Object> additionalProperties = new HashMap<String, Object>();
+
+ /**
+ *
+ * @return
+ * The logicalLink
+ */
+ @JsonProperty("logical-link")
+ public LogicalLink getLogicalLink() {
+ return logicalLink;
+ }
+
+ /**
+ *
+ * @param logicalLink
+ * The logical-link
+ */
+ @JsonProperty("logical-link")
+ public void setLogicalLink(LogicalLink logicalLink) {
+ this.logicalLink = logicalLink;
+ }
+
+ /**
+ *
+ * @return
+ * The pnf
+ */
+ @JsonProperty("pnf")
+ public Pnf getPnf() {
+ return pnf;
+ }
+
+ /**
+ *
+ * @param pnf
+ * The pnf
+ */
+ @JsonProperty("pnf")
+ public void setPnf(Pnf pnf) {
+ this.pnf = pnf;
+ }
+
+ @JsonAnyGetter
+ public Map<String, Object> getAdditionalProperties() {
+ return this.additionalProperties;
+ }
+
+ @JsonAnySetter
+ public void setAdditionalProperty(String name, Object value) {
+ this.additionalProperties.put(name, value);
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/query/InstanceFilters.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/query/InstanceFilters.java
new file mode 100644
index 0000000..f251492
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/query/InstanceFilters.java
@@ -0,0 +1,78 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai.query;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import javax.annotation.Generated;
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@Generated("org.jsonschema2pojo")
+@JsonPropertyOrder({
+ "instance-filter"
+})
+public class InstanceFilters {
+
+ @JsonProperty("instance-filter")
+ private List<InstanceFilter> instanceFilter = new ArrayList<InstanceFilter>();
+ @JsonIgnore
+ private Map<String, Object> additionalProperties = new HashMap<String, Object>();
+
+ /**
+ *
+ * @return
+ * The instanceFilter
+ */
+ @JsonProperty("instance-filter")
+ public List<InstanceFilter> getInstanceFilter() {
+ return instanceFilter;
+ }
+
+ /**
+ *
+ * @param instanceFilter
+ * The instance-filter
+ */
+ @JsonProperty("instance-filter")
+ public void setInstanceFilter(List<InstanceFilter> instanceFilter) {
+ this.instanceFilter = instanceFilter;
+ }
+
+ @JsonAnyGetter
+ public Map<String, Object> getAdditionalProperties() {
+ return this.additionalProperties;
+ }
+
+ @JsonAnySetter
+ public void setAdditionalProperty(String name, Object value) {
+ this.additionalProperties.put(name, value);
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/query/NamedQuery.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/query/NamedQuery.java
new file mode 100644
index 0000000..8f927ac
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/query/NamedQuery.java
@@ -0,0 +1,76 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai.query;
+
+import java.util.HashMap;
+import java.util.Map;
+import javax.annotation.Generated;
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@Generated("org.jsonschema2pojo")
+@JsonPropertyOrder({
+ "named-query-uuid"
+})
+public class NamedQuery {
+
+ @JsonProperty("named-query-uuid")
+ private String namedQueryUuid;
+ @JsonIgnore
+ private Map<String, Object> additionalProperties = new HashMap<String, Object>();
+
+ /**
+ *
+ * @return
+ * The namedQueryUuid
+ */
+ @JsonProperty("named-query-uuid")
+ public String getNamedQueryUuid() {
+ return namedQueryUuid;
+ }
+
+ /**
+ *
+ * @param namedQueryUuid
+ * The named-query-uuid
+ */
+ @JsonProperty("named-query-uuid")
+ public void setNamedQueryUuid(String namedQueryUuid) {
+ this.namedQueryUuid = namedQueryUuid;
+ }
+
+ @JsonAnyGetter
+ public Map<String, Object> getAdditionalProperties() {
+ return this.additionalProperties;
+ }
+
+ @JsonAnySetter
+ public void setAdditionalProperty(String name, Object value) {
+ this.additionalProperties.put(name, value);
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/query/NamedQueryData.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/query/NamedQueryData.java
new file mode 100644
index 0000000..595422a
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/query/NamedQueryData.java
@@ -0,0 +1,102 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai.query;
+
+import java.util.HashMap;
+import java.util.Map;
+import javax.annotation.Generated;
+
+import org.openecomp.sdnc.sli.aai.data.AAIDatum;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@Generated("org.jsonschema2pojo")
+@JsonPropertyOrder({
+ "query-parameters",
+ "instance-filters"
+})
+public class NamedQueryData implements AAIDatum {
+
+ @JsonProperty("query-parameters")
+ private QueryParameters queryParameters;
+ @JsonProperty("instance-filters")
+ private InstanceFilters instanceFilters;
+ @JsonIgnore
+ private Map<String, Object> additionalProperties = new HashMap<String, Object>();
+
+ /**
+ *
+ * @return
+ * The queryParameters
+ */
+ @JsonProperty("query-parameters")
+ public QueryParameters getQueryParameters() {
+ return queryParameters;
+ }
+
+ /**
+ *
+ * @param queryParameters
+ * The query-parameters
+ */
+ @JsonProperty("query-parameters")
+ public void setQueryParameters(QueryParameters queryParameters) {
+ this.queryParameters = queryParameters;
+ }
+
+ /**
+ *
+ * @return
+ * The instanceFilters
+ */
+ @JsonProperty("instance-filters")
+ public InstanceFilters getInstanceFilters() {
+ return instanceFilters;
+ }
+
+ /**
+ *
+ * @param instanceFilters
+ * The instance-filters
+ */
+ @JsonProperty("instance-filters")
+ public void setInstanceFilters(InstanceFilters instanceFilters) {
+ this.instanceFilters = instanceFilters;
+ }
+
+ @JsonAnyGetter
+ public Map<String, Object> getAdditionalProperties() {
+ return this.additionalProperties;
+ }
+
+ @JsonAnySetter
+ public void setAdditionalProperty(String name, Object value) {
+ this.additionalProperties.put(name, value);
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/query/QueryParameters.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/query/QueryParameters.java
new file mode 100644
index 0000000..d2cdd26
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/query/QueryParameters.java
@@ -0,0 +1,76 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai.query;
+
+import java.util.HashMap;
+import java.util.Map;
+import javax.annotation.Generated;
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@Generated("org.jsonschema2pojo")
+@JsonPropertyOrder({
+ "named-query"
+})
+public class QueryParameters {
+
+ @JsonProperty("named-query")
+ private NamedQuery namedQuery;
+ @JsonIgnore
+ private Map<String, Object> additionalProperties = new HashMap<String, Object>();
+
+ /**
+ *
+ * @return
+ * The namedQuery
+ */
+ @JsonProperty("named-query")
+ public NamedQuery getNamedQuery() {
+ return namedQuery;
+ }
+
+ /**
+ *
+ * @param namedQuery
+ * The named-query
+ */
+ @JsonProperty("named-query")
+ public void setNamedQuery(NamedQuery namedQuery) {
+ this.namedQuery = namedQuery;
+ }
+
+ @JsonAnyGetter
+ public Map<String, Object> getAdditionalProperties() {
+ return this.additionalProperties;
+ }
+
+ @JsonAnySetter
+ public void setAdditionalProperty(String name, Object value) {
+ this.additionalProperties.put(name, value);
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/update/Action.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/update/Action.java
new file mode 100644
index 0000000..7065448
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/update/Action.java
@@ -0,0 +1,101 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai.update;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import javax.annotation.Generated;
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@Generated("org.jsonschema2pojo")
+@JsonPropertyOrder({
+ "action-data",
+ "action-type"
+})
+public class Action {
+
+ @JsonProperty("action-data")
+ private List<ActionDatum> actionData = new ArrayList<ActionDatum>();
+ @JsonProperty("action-type")
+ private String actionType;
+ @JsonIgnore
+ private Map<String, Object> additionalProperties = new HashMap<String, Object>();
+
+ /**
+ *
+ * @return
+ * The actionData
+ */
+ @JsonProperty("action-data")
+ public List<ActionDatum> getActionData() {
+ return actionData;
+ }
+
+ /**
+ *
+ * @param actionData
+ * The action-data
+ */
+ @JsonProperty("action-data")
+ public void setActionData(List<ActionDatum> actionData) {
+ this.actionData = actionData;
+ }
+
+ /**
+ *
+ * @return
+ * The actionType
+ */
+ @JsonProperty("action-type")
+ public String getActionType() {
+ return actionType;
+ }
+
+ /**
+ *
+ * @param actionType
+ * The action-type
+ */
+ @JsonProperty("action-type")
+ public void setActionType(String actionType) {
+ this.actionType = actionType;
+ }
+
+ @JsonAnyGetter
+ public Map<String, Object> getAdditionalProperties() {
+ return this.additionalProperties;
+ }
+
+ @JsonAnySetter
+ public void setAdditionalProperty(String name, Object value) {
+ this.additionalProperties.put(name, value);
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/update/ActionDatum.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/update/ActionDatum.java
new file mode 100644
index 0000000..0da13c2
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/update/ActionDatum.java
@@ -0,0 +1,99 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai.update;
+
+import java.util.HashMap;
+import java.util.Map;
+import javax.annotation.Generated;
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@Generated("org.jsonschema2pojo")
+@JsonPropertyOrder({
+ "property-name",
+ "property-value"
+})
+public class ActionDatum {
+
+ @JsonProperty("property-name")
+ private String propertyName;
+ @JsonProperty("property-value")
+ private String propertyValue;
+ @JsonIgnore
+ private Map<String, Object> additionalProperties = new HashMap<String, Object>();
+
+ /**
+ *
+ * @return
+ * The propertyName
+ */
+ @JsonProperty("property-name")
+ public String getPropertyName() {
+ return propertyName;
+ }
+
+ /**
+ *
+ * @param propertyName
+ * The property-name
+ */
+ @JsonProperty("property-name")
+ public void setPropertyName(String propertyName) {
+ this.propertyName = propertyName;
+ }
+
+ /**
+ *
+ * @return
+ * The propertyValue
+ */
+ @JsonProperty("property-value")
+ public String getPropertyValue() {
+ return propertyValue;
+ }
+
+ /**
+ *
+ * @param propertyValue
+ * The property-value
+ */
+ @JsonProperty("property-value")
+ public void setPropertyValue(String propertyValue) {
+ this.propertyValue = propertyValue;
+ }
+
+ @JsonAnyGetter
+ public Map<String, Object> getAdditionalProperties() {
+ return this.additionalProperties;
+ }
+
+ @JsonAnySetter
+ public void setAdditionalProperty(String name, Object value) {
+ this.additionalProperties.put(name, value);
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/update/Update.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/update/Update.java
new file mode 100644
index 0000000..dc61e8b
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/update/Update.java
@@ -0,0 +1,124 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai.update;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import javax.annotation.Generated;
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@Generated("org.jsonschema2pojo")
+@JsonPropertyOrder({
+ "update-node-type",
+ "update-node-key",
+ "action"
+})
+public class Update {
+
+ @JsonProperty("update-node-type")
+ private String updateNodeType;
+ @JsonProperty("action")
+ private List<Action> action = new ArrayList<Action>();
+ @JsonProperty("update-node-key")
+ private List<UpdateNodeKey> updateNodeKey = new ArrayList<UpdateNodeKey>();
+ @JsonIgnore
+ private Map<String, Object> additionalProperties = new HashMap<String, Object>();
+
+ /**
+ *
+ * @return
+ * The updateNodeType
+ */
+ @JsonProperty("update-node-type")
+ public String getUpdateNodeType() {
+ return updateNodeType;
+ }
+
+ /**
+ *
+ * @param updateNodeType
+ * The update-node-type
+ */
+ @JsonProperty("update-node-type")
+ public void setUpdateNodeType(String updateNodeType) {
+ this.updateNodeType = updateNodeType;
+ }
+
+ /**
+ *
+ * @return
+ * The action
+ */
+ @JsonProperty("action")
+ public List<Action> getAction() {
+ return action;
+ }
+
+ /**
+ *
+ * @param action
+ * The action
+ */
+ @JsonProperty("action")
+ public void setAction(List<Action> action) {
+ this.action = action;
+ }
+
+ /**
+ *
+ * @return
+ * The updateNodeKey
+ */
+ @JsonProperty("update-node-key")
+ public List<UpdateNodeKey> getUpdateNodeKey() {
+ return updateNodeKey;
+ }
+
+ /**
+ *
+ * @param updateNodeKey
+ * The update-node-key
+ */
+ @JsonProperty("update-node-key")
+ public void setUpdateNodeKey(List<UpdateNodeKey> updateNodeKey) {
+ this.updateNodeKey = updateNodeKey;
+ }
+
+ @JsonAnyGetter
+ public Map<String, Object> getAdditionalProperties() {
+ return this.additionalProperties;
+ }
+
+ @JsonAnySetter
+ public void setAdditionalProperty(String name, Object value) {
+ this.additionalProperties.put(name, value);
+ }
+
+}
diff --git a/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/update/UpdateNodeKey.java b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/update/UpdateNodeKey.java
new file mode 100644
index 0000000..8060d67
--- /dev/null
+++ b/aai-service/provider/src/main/java/org/openecomp/sdnc/sli/aai/update/UpdateNodeKey.java
@@ -0,0 +1,99 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdnc.sli.aai.update;
+
+import java.util.HashMap;
+import java.util.Map;
+import javax.annotation.Generated;
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@Generated("org.jsonschema2pojo")
+@JsonPropertyOrder({
+ "key-name",
+ "key-value"
+})
+public class UpdateNodeKey {
+
+ @JsonProperty("key-name")
+ private String keyName;
+ @JsonProperty("key-value")
+ private String keyValue;
+ @JsonIgnore
+ private Map<String, Object> additionalProperties = new HashMap<String, Object>();
+
+ /**
+ *
+ * @return
+ * The keyName
+ */
+ @JsonProperty("key-name")
+ public String getKeyName() {
+ return keyName;
+ }
+
+ /**
+ *
+ * @param keyName
+ * The key-name
+ */
+ @JsonProperty("key-name")
+ public void setKeyName(String keyName) {
+ this.keyName = keyName;
+ }
+
+ /**
+ *
+ * @return
+ * The keyValue
+ */
+ @JsonProperty("key-value")
+ public String getKeyValue() {
+ return keyValue;
+ }
+
+ /**
+ *
+ * @param keyValue
+ * The key-value
+ */
+ @JsonProperty("key-value")
+ public void setKeyValue(String keyValue) {
+ this.keyValue = keyValue;
+ }
+
+ @JsonAnyGetter
+ public Map<String, Object> getAdditionalProperties() {
+ return this.additionalProperties;
+ }
+
+ @JsonAnySetter
+ public void setAdditionalProperty(String name, Object value) {
+ this.additionalProperties.put(name, value);
+ }
+
+}