org.openstack4j.model.network.ext.builder.LbPoolBuilder Maven / Gradle / Ivy
package org.openstack4j.model.network.ext.builder;
import org.openstack4j.common.Buildable.Builder;
import org.openstack4j.model.network.ext.LbMethod;
import org.openstack4j.model.network.ext.LbPool;
import org.openstack4j.model.network.ext.Protocol;
/**
* A Builder to create a lbpool
*
* @author liujunpeng
*
*/
public interface LbPoolBuilder extends Builder {
/**
*
* @param tenantId
* Owner of the pool. Only an administrative user can specify a
* tenant ID other than its own.
* @return LbPoolBuilder
*/
public LbPoolBuilder tenantId(String tenantId);
/**
* @param protocol
* The protocol of the VIP address. A valid value is TCP, HTTP,
* or HTTPS.
* @return LbPoolBuilder
*/
public LbPoolBuilder protocol(Protocol protocol);
/**
*
* @param name
* Pool name. Does not have to be unique.
* @return LbPoolBuilder
*/
public LbPoolBuilder name(String name);
/**
*
* @param description
* Description for the pool.
* @return LbPoolBuilder
*/
public LbPoolBuilder description(String description);
/**
*
* @param subnentId
* The ID of the subnet on which to allocate the VIP address.
* @return LbPoolBuilder
*/
public LbPoolBuilder subnetId(String subnentId);
/**
*
* @param provider
* Loadbalance provider which openstack supports,such as haproxy
* @return LbPoolBuilder
*/
public LbPoolBuilder provider(String provider);
/**
*
* @param lbMethod
* The load-balancer algorithm, which is round-robin,
* least-connections, and so on. This value, which must be
* supported, is dependent on the load-balancer provider. Round
* robin must be supported.
* @return LbPoolBuilder
*/
public LbPoolBuilder lbMethod(LbMethod lbMethod);
/**
*
* @param adminStateUp
* The administrative state of the lb pool, which is up (true) or
* down (false).
* @return LbPoolBuilder
*/
public LbPoolBuilder adminStateUp(boolean adminStateUp);
}