This is an automated email from the ASF dual-hosted git repository.

pearl11594 pushed a commit to branch netris-phase2-vpc
in repository https://gitbox.apache.org/repos/asf/cloudstack.git

commit 4812531666f90c07bc43c9cac9474ec09110b4c3
Author: Pearl Dsilva <pearl1...@gmail.com>
AuthorDate: Thu Oct 10 17:11:50 2024 -0400

    Support for listing VPCs
---
 .../org/apache/cloudstack/service/NetrisApiClient.java |  3 +++
 .../apache/cloudstack/service/NetrisApiClientImpl.java | 18 ++++++++++++++++--
 .../cloudstack/service/NetrisApiClientImplTest.java    |  7 +++++++
 3 files changed, 26 insertions(+), 2 deletions(-)

diff --git 
a/plugins/network-elements/netris/src/main/java/org/apache/cloudstack/service/NetrisApiClient.java
 
b/plugins/network-elements/netris/src/main/java/org/apache/cloudstack/service/NetrisApiClient.java
index ac59f3f8c3c..cc6ffee1102 100644
--- 
a/plugins/network-elements/netris/src/main/java/org/apache/cloudstack/service/NetrisApiClient.java
+++ 
b/plugins/network-elements/netris/src/main/java/org/apache/cloudstack/service/NetrisApiClient.java
@@ -17,10 +17,13 @@
 package org.apache.cloudstack.service;
 
 import io.netris.model.GetSiteBody;
+import io.netris.model.VPCListing;
 
 import java.util.List;
 
 public interface NetrisApiClient {
     boolean isSessionAlive();
     List<GetSiteBody> listSites();
+    List<VPCListing> listVPCs();
+
 }
diff --git 
a/plugins/network-elements/netris/src/main/java/org/apache/cloudstack/service/NetrisApiClientImpl.java
 
b/plugins/network-elements/netris/src/main/java/org/apache/cloudstack/service/NetrisApiClientImpl.java
index 1654954017e..3be955954fe 100644
--- 
a/plugins/network-elements/netris/src/main/java/org/apache/cloudstack/service/NetrisApiClientImpl.java
+++ 
b/plugins/network-elements/netris/src/main/java/org/apache/cloudstack/service/NetrisApiClientImpl.java
@@ -20,11 +20,14 @@ import com.cloud.utils.exception.CloudRuntimeException;
 import io.netris.ApiClient;
 import io.netris.ApiException;
 import io.netris.ApiResponse;
-import io.netris.api.AuthenticationApi;
-import io.netris.api.SitesApi;
+import io.netris.api.v1.AuthenticationApi;
+import io.netris.api.v1.SitesApi;
+import io.netris.api.v2.VpcApi;
 import io.netris.model.AuthSchema;
 import io.netris.model.GetSiteBody;
 import io.netris.model.SitesResponseOK;
+import io.netris.model.VPCListing;
+import io.netris.model.VPCResponseOK;
 import io.netris.model.response.AuthResponse;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
@@ -93,4 +96,15 @@ public class NetrisApiClientImpl implements NetrisApiClient {
             throw new CloudRuntimeException(e);
         }
     }
+
+    @Override
+    public List<VPCListing> listVPCs() {
+        VpcApi api = new VpcApi(apiClient);
+        try {
+            VPCResponseOK response = api.apiV2VpcGet();
+            return response.getData();
+        } catch (ApiException e) {
+            throw new CloudRuntimeException(e);
+        }
+    }
 }
diff --git 
a/plugins/network-elements/netris/src/test/java/org/apache/cloudstack/service/NetrisApiClientImplTest.java
 
b/plugins/network-elements/netris/src/test/java/org/apache/cloudstack/service/NetrisApiClientImplTest.java
index b8324dad4b0..dcdcafd18cb 100644
--- 
a/plugins/network-elements/netris/src/test/java/org/apache/cloudstack/service/NetrisApiClientImplTest.java
+++ 
b/plugins/network-elements/netris/src/test/java/org/apache/cloudstack/service/NetrisApiClientImplTest.java
@@ -17,6 +17,7 @@
 package org.apache.cloudstack.service;
 
 import io.netris.model.GetSiteBody;
+import io.netris.model.VPCListing;
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -40,4 +41,10 @@ public class NetrisApiClientImplTest {
         List<GetSiteBody> sites = client.listSites();
         Assert.assertTrue(sites.size() > 0);
     }
+
+    @Test
+    public void testListVpcs() {
+        List<VPCListing> vpcs = client.listVPCs();
+        Assert.assertTrue(vpcs.size() > 0);
+    }
 }

Reply via email to