You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by nv...@apache.org on 2021/07/20 21:04:53 UTC

[cloudstack] branch main updated: api: Add 'created' field to API response (#5210)

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

nvazquez pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cloudstack.git


The following commit(s) were added to refs/heads/main by this push:
     new 1f743e9  api: Add 'created' field to API response (#5210)
1f743e9 is described below

commit 1f743e911a17626d441872eebf66135771761c83
Author: Pearl Dsilva <pe...@gmail.com>
AuthorDate: Wed Jul 21 02:34:13 2021 +0530

    api: Add 'created' field to API response (#5210)
    
    * api: Add 'created' field to API response
    
    * address comments
---
 api/src/main/java/com/cloud/network/Network.java            |  3 +++
 api/src/main/java/com/cloud/network/NetworkProfile.java     |  6 ++++++
 api/src/main/java/com/cloud/network/vpc/Vpc.java            |  4 ++++
 api/src/main/java/com/cloud/offering/NetworkOffering.java   |  4 ++++
 .../org/apache/cloudstack/api/response/NetworkResponse.java | 13 +++++++++++++
 .../org/apache/cloudstack/api/response/ProjectResponse.java | 13 +++++++++++++
 .../schema/src/main/java/com/cloud/network/vpc/VpcVO.java   |  5 +++++
 server/src/main/java/com/cloud/api/ApiResponseHelper.java   |  2 ++
 .../com/cloud/api/query/dao/NetworkOfferingJoinDaoImpl.java |  1 +
 .../java/com/cloud/api/query/dao/ProjectJoinDaoImpl.java    |  1 +
 10 files changed, 52 insertions(+)

diff --git a/api/src/main/java/com/cloud/network/Network.java b/api/src/main/java/com/cloud/network/Network.java
index 37b8f33..111b85a 100644
--- a/api/src/main/java/com/cloud/network/Network.java
+++ b/api/src/main/java/com/cloud/network/Network.java
@@ -19,6 +19,7 @@ package com.cloud.network;
 import java.io.Serializable;
 import java.net.URI;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 import com.cloud.exception.InvalidParameterValueException;
@@ -456,4 +457,6 @@ public interface Network extends ControlledEntity, StateObject<Network.State>, I
     String getRouterIp();
 
     String getRouterIpv6();
+
+    Date getCreated();
 }
diff --git a/api/src/main/java/com/cloud/network/NetworkProfile.java b/api/src/main/java/com/cloud/network/NetworkProfile.java
index 08a420a..f3c1787 100644
--- a/api/src/main/java/com/cloud/network/NetworkProfile.java
+++ b/api/src/main/java/com/cloud/network/NetworkProfile.java
@@ -17,6 +17,7 @@
 package com.cloud.network;
 
 import java.net.URI;
+import java.util.Date;
 
 import com.cloud.network.Networks.BroadcastDomainType;
 import com.cloud.network.Networks.Mode;
@@ -329,4 +330,9 @@ public class NetworkProfile implements Network {
         return null;
     }
 
+    @Override
+    public Date getCreated() {
+        return null;
+    }
+
 }
diff --git a/api/src/main/java/com/cloud/network/vpc/Vpc.java b/api/src/main/java/com/cloud/network/vpc/Vpc.java
index 9f40562..432c883 100644
--- a/api/src/main/java/com/cloud/network/vpc/Vpc.java
+++ b/api/src/main/java/com/cloud/network/vpc/Vpc.java
@@ -20,6 +20,8 @@ import org.apache.cloudstack.acl.ControlledEntity;
 import org.apache.cloudstack.api.Identity;
 import org.apache.cloudstack.api.InternalIdentity;
 
+import java.util.Date;
+
 public interface Vpc extends ControlledEntity, Identity, InternalIdentity {
 
     public enum State {
@@ -91,4 +93,6 @@ public interface Vpc extends ControlledEntity, Identity, InternalIdentity {
     boolean isRollingRestart();
 
     void setRollingRestart(boolean rollingRestart);
+
+    Date getCreated();
 }
diff --git a/api/src/main/java/com/cloud/offering/NetworkOffering.java b/api/src/main/java/com/cloud/offering/NetworkOffering.java
index 8ae90c5..f01c585 100644
--- a/api/src/main/java/com/cloud/offering/NetworkOffering.java
+++ b/api/src/main/java/com/cloud/offering/NetworkOffering.java
@@ -23,6 +23,8 @@ import org.apache.cloudstack.api.InternalIdentity;
 import com.cloud.network.Network.GuestType;
 import com.cloud.network.Networks.TrafficType;
 
+import java.util.Date;
+
 /**
  * Describes network offering
  *
@@ -141,4 +143,6 @@ public interface NetworkOffering extends InfrastructureEntity, InternalIdentity,
     boolean isSupportingPublicAccess();
 
     String getServicePackage();
+
+    Date getCreated();
 }
diff --git a/api/src/main/java/org/apache/cloudstack/api/response/NetworkResponse.java b/api/src/main/java/org/apache/cloudstack/api/response/NetworkResponse.java
index a133714..9464317 100644
--- a/api/src/main/java/org/apache/cloudstack/api/response/NetworkResponse.java
+++ b/api/src/main/java/org/apache/cloudstack/api/response/NetworkResponse.java
@@ -16,6 +16,7 @@
 // under the License.
 package org.apache.cloudstack.api.response;
 
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -246,6 +247,10 @@ public class NetworkResponse extends BaseResponse implements ControlledEntityRes
     @Param(description = "If the network has redundant routers enabled", since = "4.11.1")
     private Boolean redundantRouter;
 
+    @SerializedName(ApiConstants.CREATED)
+    @Param(description = "the date this network was created", since = "4.16.0")
+    private Date created;
+
     public Boolean getDisplayNetwork() {
         return displayNetwork;
     }
@@ -482,4 +487,12 @@ public class NetworkResponse extends BaseResponse implements ControlledEntityRes
     public void setVpcName(String vpcName) {
         this.vpcName = vpcName;
     }
+
+    public Date getCreated() {
+        return created;
+    }
+
+    public void setCreated(Date created) {
+        this.created = created;
+    }
 }
diff --git a/api/src/main/java/org/apache/cloudstack/api/response/ProjectResponse.java b/api/src/main/java/org/apache/cloudstack/api/response/ProjectResponse.java
index 47ebab8..7f14fce 100644
--- a/api/src/main/java/org/apache/cloudstack/api/response/ProjectResponse.java
+++ b/api/src/main/java/org/apache/cloudstack/api/response/ProjectResponse.java
@@ -17,6 +17,7 @@
 package org.apache.cloudstack.api.response;
 
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -207,6 +208,10 @@ public class ProjectResponse extends BaseResponse implements ResourceLimitAndCou
     @Param(description = "the total number of virtual machines running for this project", since = "4.2.0")
     private Integer vmRunning;
 
+    @SerializedName(ApiConstants.CREATED)
+    @Param(description = "the date this project was created", since = "4.16.0")
+    private Date created;
+
     public void setId(String id) {
         this.id = id;
     }
@@ -421,4 +426,12 @@ public class ProjectResponse extends BaseResponse implements ResourceLimitAndCou
     public void setOwners(List<Map<String, String>> owners) {
         this.owners = owners;
     }
+
+    public Date getCreated() {
+        return created;
+    }
+
+    public void setCreated(Date created) {
+        this.created = created;
+    }
 }
diff --git a/engine/schema/src/main/java/com/cloud/network/vpc/VpcVO.java b/engine/schema/src/main/java/com/cloud/network/vpc/VpcVO.java
index 3061d30..83034b3 100644
--- a/engine/schema/src/main/java/com/cloud/network/vpc/VpcVO.java
+++ b/engine/schema/src/main/java/com/cloud/network/vpc/VpcVO.java
@@ -242,6 +242,11 @@ public class VpcVO implements Vpc {
     }
 
     @Override
+    public Date getCreated() {
+        return created;
+    }
+
+    @Override
     public Class<?> getEntityType() {
         return Vpc.class;
     }
diff --git a/server/src/main/java/com/cloud/api/ApiResponseHelper.java b/server/src/main/java/com/cloud/api/ApiResponseHelper.java
index b84e10d..d72d940 100644
--- a/server/src/main/java/com/cloud/api/ApiResponseHelper.java
+++ b/server/src/main/java/com/cloud/api/ApiResponseHelper.java
@@ -2354,6 +2354,7 @@ public class ApiResponseHelper implements ResponseGenerator {
         }
         response.setExternalId(network.getExternalId());
         response.setRedundantRouter(network.isRedundant());
+        response.setCreated(network.getCreated());
         response.setObjectName("network");
         return response;
     }
@@ -2963,6 +2964,7 @@ public class ApiResponseHelper implements ResponseGenerator {
         response.setId(vpc.getUuid());
         response.setName(vpc.getName());
         response.setDisplayText(vpc.getDisplayText());
+        response.setCreated(vpc.getCreated());
         response.setState(vpc.getState().name());
         VpcOffering voff = ApiDBUtils.findVpcOfferingById(vpc.getVpcOfferingId());
         if (voff != null) {
diff --git a/server/src/main/java/com/cloud/api/query/dao/NetworkOfferingJoinDaoImpl.java b/server/src/main/java/com/cloud/api/query/dao/NetworkOfferingJoinDaoImpl.java
index 0c258d1..ee3e0f2 100644
--- a/server/src/main/java/com/cloud/api/query/dao/NetworkOfferingJoinDaoImpl.java
+++ b/server/src/main/java/com/cloud/api/query/dao/NetworkOfferingJoinDaoImpl.java
@@ -88,6 +88,7 @@ public class NetworkOfferingJoinDaoImpl extends GenericDaoBase<NetworkOfferingJo
         networkOfferingResponse.setConcurrentConnections(offering.getConcurrentConnections());
         networkOfferingResponse.setSupportsStrechedL2Subnet(offering.isSupportingStrechedL2());
         networkOfferingResponse.setSupportsPublicAccess(offering.isSupportingPublicAccess());
+        networkOfferingResponse.setCreated(offering.getCreated());
         if (offering.getGuestType() != null) {
             networkOfferingResponse.setGuestIpType(offering.getGuestType().toString());
         }
diff --git a/server/src/main/java/com/cloud/api/query/dao/ProjectJoinDaoImpl.java b/server/src/main/java/com/cloud/api/query/dao/ProjectJoinDaoImpl.java
index 3f384f3..d893a5c 100644
--- a/server/src/main/java/com/cloud/api/query/dao/ProjectJoinDaoImpl.java
+++ b/server/src/main/java/com/cloud/api/query/dao/ProjectJoinDaoImpl.java
@@ -110,6 +110,7 @@ public class ProjectJoinDaoImpl extends GenericDaoBase<ProjectJoinVO, Long> impl
             ownersList.add(ownerDetails);
         }
         response.setOwners(ownersList);
+        response.setCreated(proj.getCreated());
 
         // update tag information
         List<ResourceTagJoinVO> tags = ApiDBUtils.listResourceTagViewByResourceUUID(proj.getUuid(), ResourceObjectType.Project);