diff --git a/api/src/com/cloud/api/commands/ListCapabilitiesCmd.java b/api/src/com/cloud/api/commands/ListCapabilitiesCmd.java index 8fcc16d353b..87e9f37d54a 100644 --- a/api/src/com/cloud/api/commands/ListCapabilitiesCmd.java +++ b/api/src/com/cloud/api/commands/ListCapabilitiesCmd.java @@ -50,6 +50,7 @@ public class ListCapabilitiesCmd extends BaseCmd { response.setCloudStackVersion((String)capabilities.get("cloudStackVersion")); response.setUserPublicTemplateEnabled((Boolean)capabilities.get("userPublicTemplateEnabled")); response.setSupportELB((String)capabilities.get("supportELB")); + response.setFirewallRuleUiEnabled((Boolean) capabilities.get("firewallRuleUiEnabled")); response.setObjectName("capability"); response.setResponseName(getCommandName()); this.setResponseObject(response); diff --git a/api/src/com/cloud/api/response/CapabilitiesResponse.java b/api/src/com/cloud/api/response/CapabilitiesResponse.java index 7202ce70c39..07ed8d9120a 100644 --- a/api/src/com/cloud/api/response/CapabilitiesResponse.java +++ b/api/src/com/cloud/api/response/CapabilitiesResponse.java @@ -34,6 +34,9 @@ public class CapabilitiesResponse extends BaseResponse { @SerializedName("supportELB") @Param(description="true if region supports elastic load balancer on basic zones") private String supportELB; + + @SerializedName("firewallRuleUiEnabled") @Param(description="true if the firewall rule UI is enabled") + private boolean firewallRuleUiEnabled; public boolean getSecurityGroupsEnabled() { return securityGroupsEnabled; @@ -66,4 +69,12 @@ public class CapabilitiesResponse extends BaseResponse { public String getSupportELB() { return supportELB; } + + public void setFirewallRuleUiEnabled(boolean firewallRuleUiEnabled) { + this.firewallRuleUiEnabled = firewallRuleUiEnabled; + } + + public boolean getFirewallRuleUiEnabled() { + return firewallRuleUiEnabled; + } } diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java index 52c86402ae2..41dc259f5e0 100755 --- a/server/src/com/cloud/server/ManagementServerImpl.java +++ b/server/src/com/cloud/server/ManagementServerImpl.java @@ -4219,13 +4219,15 @@ public class ManagementServerImpl implements ManagementServer { supportELB = networkType; } } - + + String firewallRuleUiEnabled = _configs.get(Config.FirewallRuleUiEnabled.key()); String userPublicTemplateEnabled = _configs.get(Config.AllowPublicUserTemplates.key()); capabilities.put("securityGroupsEnabled", securityGroupsEnabled); capabilities.put("userPublicTemplateEnabled", (userPublicTemplateEnabled == null || userPublicTemplateEnabled.equals("false") ? false : true)); capabilities.put("cloudStackVersion", getVersion()); capabilities.put("supportELB", supportELB); + capabilities.put("firewallRuleUiEnabled", (firewallRuleUiEnabled != null && firewallRuleUiEnabled.equals("true")) ? true : false); return capabilities; }