mirror of https://github.com/apache/cloudstack.git
bug 12242: fixed api doc for createLoadBalancerRule command
status 12242: resolved fixed
This commit is contained in:
parent
554946fe8b
commit
a3d8291698
|
|
@ -70,7 +70,7 @@ public class CreateLoadBalancerRuleCmd extends BaseAsyncCreateCmd /*implements
|
|||
private Long publicIpId;
|
||||
|
||||
@IdentityMapper(entityTableName="data_center")
|
||||
@Parameter(name=ApiConstants.ZONE_ID, type=CommandType.LONG, required=false, description="public ip address id from where the network traffic will be load balanced from")
|
||||
@Parameter(name=ApiConstants.ZONE_ID, type=CommandType.LONG, required=false, description="zone where the load balancer is going to be created. This parameter is required when LB service provider is ElasticLoadBalancerVm")
|
||||
private Long zoneId;
|
||||
|
||||
@Parameter(name=ApiConstants.PUBLIC_PORT, type=CommandType.INTEGER, required=true, description="the public port from where the network traffic will be load balanced from")
|
||||
|
|
@ -113,7 +113,7 @@ public class CreateLoadBalancerRuleCmd extends BaseAsyncCreateCmd /*implements
|
|||
return "firewall_rules";
|
||||
}
|
||||
|
||||
public Long getPublicIpId() {
|
||||
public Long getSourceIpAddressId() {
|
||||
IpAddress ipAddr = _networkService.getIp(publicIpId);
|
||||
if (ipAddr == null || !ipAddr.readyToUse()) {
|
||||
throw new InvalidParameterValueException("Unable to create load balancer rule, invalid IP address id " + ipAddr.getId());
|
||||
|
|
@ -189,7 +189,6 @@ public class CreateLoadBalancerRuleCmd extends BaseAsyncCreateCmd /*implements
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void create() {
|
||||
//cidr list parameter is deprecated
|
||||
|
|
@ -208,12 +207,6 @@ public class CreateLoadBalancerRuleCmd extends BaseAsyncCreateCmd /*implements
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
public Long getSourceIpAddressId() {
|
||||
return publicIpId;
|
||||
}
|
||||
|
||||
public Integer getSourcePortStart() {
|
||||
return publicPort.intValue();
|
||||
}
|
||||
|
|
@ -228,7 +221,7 @@ public class CreateLoadBalancerRuleCmd extends BaseAsyncCreateCmd /*implements
|
|||
|
||||
public long getAccountId() {
|
||||
if (publicIpId != null)
|
||||
return _networkService.getIp(getPublicIpId()).getAccountId();
|
||||
return _networkService.getIp(getSourceIpAddressId()).getAccountId();
|
||||
Account account = UserContext.current().getCaller();
|
||||
if ((account == null) ) {
|
||||
if ((domainId != null) && (accountName != null)) {
|
||||
|
|
@ -248,7 +241,7 @@ public class CreateLoadBalancerRuleCmd extends BaseAsyncCreateCmd /*implements
|
|||
|
||||
public long getDomainId() {
|
||||
if (publicIpId != null)
|
||||
return _networkService.getIp(getPublicIpId()).getDomainId();
|
||||
return _networkService.getIp(getSourceIpAddressId()).getDomainId();
|
||||
if (domainId != null) {
|
||||
return domainId;
|
||||
}
|
||||
|
|
@ -268,15 +261,6 @@ public class CreateLoadBalancerRuleCmd extends BaseAsyncCreateCmd /*implements
|
|||
return getAccountId();
|
||||
}
|
||||
|
||||
|
||||
public Integer getIcmpCode() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public Integer getIcmpType() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public String getAccountName() {
|
||||
return accountName;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -77,9 +77,9 @@ import com.cloud.network.LoadBalancerVO;
|
|||
import com.cloud.network.Network;
|
||||
import com.cloud.network.NetworkManager;
|
||||
import com.cloud.network.NetworkVO;
|
||||
import com.cloud.network.Networks.TrafficType;
|
||||
import com.cloud.network.PhysicalNetworkServiceProvider;
|
||||
import com.cloud.network.VirtualRouterProvider;
|
||||
import com.cloud.network.Networks.TrafficType;
|
||||
import com.cloud.network.VirtualRouterProvider.VirtualRouterProviderType;
|
||||
import com.cloud.network.addr.PublicIp;
|
||||
import com.cloud.network.dao.IPAddressDao;
|
||||
|
|
@ -97,7 +97,6 @@ import com.cloud.network.router.VirtualRouter.Role;
|
|||
import com.cloud.network.rules.FirewallRule;
|
||||
import com.cloud.network.rules.FirewallRule.Purpose;
|
||||
import com.cloud.network.rules.LoadBalancer;
|
||||
import com.cloud.offering.NetworkOffering;
|
||||
import com.cloud.offerings.NetworkOfferingVO;
|
||||
import com.cloud.offerings.dao.NetworkOfferingDao;
|
||||
import com.cloud.service.ServiceOfferingVO;
|
||||
|
|
@ -591,6 +590,10 @@ public class ElasticLoadBalancerManagerImpl implements
|
|||
|
||||
@DB
|
||||
public PublicIp allocIp(CreateLoadBalancerRuleCmd lb, Account account) throws InsufficientAddressCapacityException {
|
||||
if (lb.getZoneId() == null) {
|
||||
throw new InvalidParameterValueException("zoneId is required parameter when LB service provider is " + Network.Provider.ElasticLoadBalancerVm.getName());
|
||||
}
|
||||
|
||||
//TODO: this only works in the guest network in Basic zone. Handle the public network case also.
|
||||
List<NetworkVO> networks = _networkDao.listByZoneAndTrafficType(lb.getZoneId(), TrafficType.Guest);
|
||||
if (networks.isEmpty()) {
|
||||
|
|
|
|||
|
|
@ -32,12 +32,11 @@ import javax.naming.ConfigurationException;
|
|||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiDBUtils;
|
||||
import com.cloud.api.commands.CreateLBStickinessPolicyCmd;
|
||||
import com.cloud.api.commands.CreateLoadBalancerRuleCmd;
|
||||
import com.cloud.api.commands.ListLBStickinessPoliciesCmd;
|
||||
import com.cloud.api.commands.ListLoadBalancerRuleInstancesCmd;
|
||||
import com.cloud.api.commands.ListLoadBalancerRulesCmd;
|
||||
import com.cloud.api.commands.ListLBStickinessPoliciesCmd;
|
||||
import com.cloud.api.commands.UpdateLoadBalancerRuleCmd;
|
||||
import com.cloud.api.response.ServiceResponse;
|
||||
import com.cloud.dc.dao.VlanDao;
|
||||
|
|
@ -55,8 +54,8 @@ import com.cloud.exception.NetworkRuleConflictException;
|
|||
import com.cloud.exception.PermissionDeniedException;
|
||||
import com.cloud.exception.ResourceUnavailableException;
|
||||
import com.cloud.network.IPAddressVO;
|
||||
import com.cloud.network.LoadBalancerVMMapVO;
|
||||
import com.cloud.network.LBStickinessPolicyVO;
|
||||
import com.cloud.network.LoadBalancerVMMapVO;
|
||||
import com.cloud.network.LoadBalancerVO;
|
||||
import com.cloud.network.Network.Capability;
|
||||
import com.cloud.network.Network.Service;
|
||||
|
|
@ -65,21 +64,22 @@ import com.cloud.network.NetworkVO;
|
|||
import com.cloud.network.dao.FirewallRulesCidrsDao;
|
||||
import com.cloud.network.dao.FirewallRulesDao;
|
||||
import com.cloud.network.dao.IPAddressDao;
|
||||
import com.cloud.network.dao.LBStickinessPolicyDao;
|
||||
import com.cloud.network.dao.LoadBalancerDao;
|
||||
import com.cloud.network.dao.LoadBalancerVMMapDao;
|
||||
import com.cloud.network.dao.LBStickinessPolicyDao;
|
||||
import com.cloud.network.dao.NetworkDao;
|
||||
import com.cloud.network.lb.LoadBalancingRule.LbDestination;
|
||||
import com.cloud.network.lb.LoadBalancingRule.LbStickinessPolicy;
|
||||
import com.cloud.network.rules.LbStickinessMethod;
|
||||
import com.cloud.network.rules.LbStickinessMethod.LbStickinessMethodParam;
|
||||
import com.cloud.network.rules.FirewallManager;
|
||||
import com.cloud.network.rules.FirewallRule;
|
||||
import com.cloud.network.rules.FirewallRule.FirewallRuleType;
|
||||
import com.cloud.network.rules.FirewallRule.Purpose;
|
||||
import com.cloud.network.rules.FirewallRuleVO;
|
||||
import com.cloud.network.rules.LbStickinessMethod;
|
||||
import com.cloud.network.rules.LbStickinessMethod.LbStickinessMethodParam;
|
||||
import com.cloud.network.rules.LoadBalancer;
|
||||
import com.cloud.network.rules.RulesManager;
|
||||
import com.cloud.network.rules.StickinessPolicy;
|
||||
import com.cloud.user.Account;
|
||||
import com.cloud.user.AccountManager;
|
||||
import com.cloud.user.DomainService;
|
||||
|
|
@ -104,7 +104,6 @@ import com.cloud.vm.dao.NicDao;
|
|||
import com.cloud.vm.dao.UserVmDao;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import com.cloud.network.rules.StickinessPolicy;
|
||||
|
||||
@Local(value = { LoadBalancingRulesManager.class, LoadBalancingRulesService.class })
|
||||
public class LoadBalancingRulesManagerImpl<Type> implements LoadBalancingRulesManager, LoadBalancingRulesService, Manager {
|
||||
|
|
|
|||
Loading…
Reference in New Issue