You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by pe...@apache.org on 2024/10/10 21:12:28 UTC
(cloudstack) 11/11: Support for listing VPCs
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 6e7e386e4ffb77b41ffd3096a1cb457c94b13a30
Author: Pearl Dsilva <pe...@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 +++++++
...trisApiClientImplTest.java => NetrisV2ApiTest.java} | 9 ++++++++-
4 files changed, 34 insertions(+), 3 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);
+ }
}
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/NetrisV2ApiTest.java
similarity index 87%
copy from plugins/network-elements/netris/src/test/java/org/apache/cloudstack/service/NetrisApiClientImplTest.java
copy to plugins/network-elements/netris/src/test/java/org/apache/cloudstack/service/NetrisV2ApiTest.java
index b8324dad4b0..06b0b406d2e 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/NetrisV2ApiTest.java
@@ -17,12 +17,13 @@
package org.apache.cloudstack.service;
import io.netris.model.GetSiteBody;
+import io.netris.model.VPCListing;
import org.junit.Assert;
import org.junit.Test;
import java.util.List;
-public class NetrisApiClientImplTest {
+public class NetrisV2ApiTest {
private static final String endpointUrl = "https://shapeblue-ctl.netris.dev";
private static final String username = "netris";
@@ -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);
+ }
}