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