From 481af07fb130d24490efe6a98970cb13104e4046 Mon Sep 17 00:00:00 2001 From: Syed Ahmed Date: Tue, 19 Nov 2013 22:10:22 +0530 Subject: [PATCH] Adding protocol parameter to loadbalancer response --- api/src/com/cloud/network/rules/LoadBalancer.java | 1 + .../cloud/network/rules/LoadBalancerContainer.java | 2 ++ .../cloudstack/api/response/LoadBalancerResponse.java | 8 ++++++++ .../cloudstack/lb/ApplicationLoadBalancerRuleVO.java | 11 +++++++++++ server/src/com/cloud/api/ApiResponseHelper.java | 1 + 5 files changed, 23 insertions(+) diff --git a/api/src/com/cloud/network/rules/LoadBalancer.java b/api/src/com/cloud/network/rules/LoadBalancer.java index e6dadcaee97..c260b81c392 100644 --- a/api/src/com/cloud/network/rules/LoadBalancer.java +++ b/api/src/com/cloud/network/rules/LoadBalancer.java @@ -25,4 +25,5 @@ public interface LoadBalancer extends FirewallRule, LoadBalancerContainer { int getDefaultPortEnd(); + } diff --git a/api/src/com/cloud/network/rules/LoadBalancerContainer.java b/api/src/com/cloud/network/rules/LoadBalancerContainer.java index 9d5ea595c9d..c75d0cc22eb 100644 --- a/api/src/com/cloud/network/rules/LoadBalancerContainer.java +++ b/api/src/com/cloud/network/rules/LoadBalancerContainer.java @@ -27,6 +27,8 @@ public interface LoadBalancerContainer { String getDescription(); String getAlgorithm(); + + String getLbProtocol(); Scheme getScheme(); diff --git a/api/src/org/apache/cloudstack/api/response/LoadBalancerResponse.java b/api/src/org/apache/cloudstack/api/response/LoadBalancerResponse.java index 0f180970fc7..39650d3feaa 100644 --- a/api/src/org/apache/cloudstack/api/response/LoadBalancerResponse.java +++ b/api/src/org/apache/cloudstack/api/response/LoadBalancerResponse.java @@ -91,6 +91,11 @@ public class LoadBalancerResponse extends BaseResponse implements ControlledEnti @Param(description = "the id of the zone the rule belongs to") private String zoneId; + @SerializedName(ApiConstants.PROTOCOL) + @Param(description = "the protocol of the loadbalanacer rule") + private String lbProtocol; + + @SerializedName(ApiConstants.TAGS) @Param(description="the list of resource tags associated with load balancer", responseObject = ResourceTagResponse.class) private List tags; @@ -170,4 +175,7 @@ public class LoadBalancerResponse extends BaseResponse implements ControlledEnti this.networkId = networkId; } + public void setLbProtocol(String lbProtocol) { + this.lbProtocol = lbProtocol; + } } diff --git a/engine/schema/src/org/apache/cloudstack/lb/ApplicationLoadBalancerRuleVO.java b/engine/schema/src/org/apache/cloudstack/lb/ApplicationLoadBalancerRuleVO.java index 37a747e4272..7bb7293ec50 100644 --- a/engine/schema/src/org/apache/cloudstack/lb/ApplicationLoadBalancerRuleVO.java +++ b/engine/schema/src/org/apache/cloudstack/lb/ApplicationLoadBalancerRuleVO.java @@ -58,6 +58,10 @@ public class ApplicationLoadBalancerRuleVO extends FirewallRuleVO implements App @Column(name="source_ip_address_network_id") Long sourceIpNetworkId; + + @Column(name="lb_protocol") + String lbProtocol; + @Column(name="source_ip_address") @Enumerated(value=EnumType.STRING) @@ -111,6 +115,11 @@ public class ApplicationLoadBalancerRuleVO extends FirewallRuleVO implements App return algorithm; } + @Override + public String getLbProtocol() { + return lbProtocol; + } + @Override public int getDefaultPortStart() { return defaultPortStart; @@ -130,4 +139,6 @@ public class ApplicationLoadBalancerRuleVO extends FirewallRuleVO implements App public int getInstancePort() { return defaultPortStart; } + + } diff --git a/server/src/com/cloud/api/ApiResponseHelper.java b/server/src/com/cloud/api/ApiResponseHelper.java index 903c48507a8..b74ebf18db8 100755 --- a/server/src/com/cloud/api/ApiResponseHelper.java +++ b/server/src/com/cloud/api/ApiResponseHelper.java @@ -748,6 +748,7 @@ public class ApiResponseHelper implements ResponseGenerator { lbResponse.setPublicPort(Integer.toString(loadBalancer.getSourcePortStart())); lbResponse.setPrivatePort(Integer.toString(loadBalancer.getDefaultPortStart())); lbResponse.setAlgorithm(loadBalancer.getAlgorithm()); + lbResponse.setLbProtocol(loadBalancer.getLbProtocol()); FirewallRule.State state = loadBalancer.getState(); String stateToSet = state.toString(); if (state.equals(FirewallRule.State.Revoke)) {