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); + } }