/*
* Copyright 2014 by SCSK Corporation.
*
* This file is part of PrimeCloud Controller(TM).
*
* PrimeCloud Controller(TM) is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* PrimeCloud Controller(TM) is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with PrimeCloud Controller(TM). If not, see <http://www.gnu.org/licenses/>.
*/
package jp.primecloud.auto.service;
import java.util.List;
import jp.primecloud.auto.service.dto.LoadBalancerDto;
import jp.primecloud.auto.service.dto.LoadBalancerPlatformDto;
import jp.primecloud.auto.service.dto.SslKeyDto;
/**
* <p>
* TODO: クラスコメントを記述
* </p>
*
*/
public interface LoadBalancerService {
public List<LoadBalancerDto> getLoadBalancers(Long farmNo);
public Long getLoadBalancerInstance(Long loadBalancerNo);
public Long createAwsLoadBalancer(Long farmNo, String loadBalancerName, String comment, Long platformNo,
Long componentNo, boolean internal);
public Long createCloudstackLoadBalancer(Long farmNo, String loadBalancerName, String comment, Long platformNo,
Long componentNo);
public Long createUltraMonkeyLoadBalancer(Long farmNo, String loadBalancerName, String comment, Long platformNo,
Long componentNo);
public void updateCloudstackLoadBalancer(Long loadBalancerNo, String loadBalancerName, String comment,
Long componentNo, String algorithm, String pubricPort, String privatePort);
public void updateAwsLoadBalancer(Long loadBalancerNo, String loadBalancerName, String comment, Long componentNo,
String subnetId, String securityGroupName, String availabilityZone, boolean internal);
public void updateUltraMonkeyLoadBalancer(Long loadBalancerNo, String loadBalancerName, String comment,
Long componentNo);
public void deleteLoadBalancer(Long loadBalancerNo);
public void createListener(Long loadBalancerNo, Integer loadBalancerPort, Integer servicePort, String protocol,
Long sslKeyNo);
public void updateListener(Long loadBalancerNo, Integer originalLoadBalancerPort, Integer loadBalancerPort,
Integer servicePort, String protocol, Long sslKeyNo);
public void deleteListener(Long loadBalancerNo, Integer loadBalancerPort);
public void configureHealthCheck(Long loadBalancerNo, String checkProtocol, Integer checkPort, String checkPath,
Integer checkTimeout, Integer checkInterval, Integer healthyThreshold, Integer unhealthyThreshold);
public void enableInstances(Long loadBalancerNo, List<Long> instanceNos);
public void disableInstances(Long loadBalancerNo, List<Long> instanceNos);
public List<LoadBalancerPlatformDto> getPlatforms(Long userNo);
public List<SslKeyDto> getSSLKey(Long loadBalancerNo);
}