Notification handling for instantiate
[so.git] / adapters / mso-vnfm-adapter / mso-vnfm-etsi-adapter / src / main / java / org / onap / so / adapters / vnfmadapter / extclients / aai / AaiServiceProviderImpl.java
index fa0dcf0..364a641 100644 (file)
 
 package org.onap.so.adapters.vnfmadapter.extclients.aai;
 
+import java.util.List;
 import org.onap.aai.domain.yang.EsrSystemInfoList;
 import org.onap.aai.domain.yang.EsrVnfm;
 import org.onap.aai.domain.yang.EsrVnfmList;
 import org.onap.aai.domain.yang.GenericVnf;
 import org.onap.aai.domain.yang.Tenant;
+import org.onap.aai.domain.yang.Vserver;
 import org.onap.so.client.aai.AAIObjectType;
 import org.onap.so.client.aai.entities.uri.AAIUriFactory;
 import org.slf4j.Logger;
@@ -53,6 +55,17 @@ public class AaiServiceProviderImpl implements AaiServiceProvider {
                 });
     }
 
+    @Override
+    public List<GenericVnf> invokeQueryGenericVnf(final String selfLink) {
+        return aaiClientProvider.getAaiClient()
+                .get(List.class,
+                        AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNFS).queryParam("selflink", selfLink))
+                .orElseGet(() -> {
+                    logger.debug("No vnf found in AAI with selflink: {}", selfLink);
+                    return null;
+                });
+    }
+
     @Override
     public EsrVnfmList invokeGetVnfms() {
         return aaiClientProvider.getAaiClient()
@@ -88,6 +101,13 @@ public class AaiServiceProviderImpl implements AaiServiceProvider {
                 .update(AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnf.getVnfId()), vnf);
     }
 
+    @Override
+    public void invokePutVserver(final String cloudOwner, final String cloudRegion, final String tenant,
+            final Vserver vserver) {
+        aaiClientProvider.getAaiClient().update(AAIUriFactory.createResourceUri(AAIObjectType.VSERVER, cloudOwner,
+                cloudRegion, tenant, vserver.getVserverId()), vserver);
+    }
+
     @Override
     public Tenant invokeGetTenant(final String cloudOwner, final String cloudRegion, final String tenantId) {
         return aaiClientProvider.getAaiClient()