All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.openstack4j.model.network.ext.builder.VipBuilder Maven / Gradle / Ivy

There is a newer version: 3.2.0
Show newest version
package org.openstack4j.model.network.ext.builder;

import org.openstack4j.common.Buildable.Builder;
import org.openstack4j.model.network.ext.Protocol;
import org.openstack4j.model.network.ext.SessionPersistence;
import org.openstack4j.model.network.ext.Vip;

/**
 * A builder to create a vip
 * 
 * @author liujunpeng
 *
 */
public interface VipBuilder extends Builder {

	/**
	 * @param tenantId
	 *            Owner of the VIP. Only an admin user can specify a tenant ID
	 *            other than its own.
	 * @return VipBuilder
	 */
	VipBuilder tenantId(String tenantId);

	/**
	 * Optional
	 * 
	 * @param name
	 *            Human-readable name for the VIP. Does not have to be unique.
	 * @return VipBuilder
	 */
	VipBuilder name(String name);

	/**
	 * Optional
	 * 
	 * @param description
	 *            Human-readable description for the VIP.
	 * @return VipBuilder
	 */
	VipBuilder description(String description);

	/**
	 * Optional
	 * 
	 * @param subnetId
	 *            The ID of the subnet on which to allocate the VIP address.
	 * @return VipBuilder
	 */
	VipBuilder subnetId(String subnetId);

	/**
	 * Optional
	 * 
	 * @param address
	 *            The IP address of the VIP.
	 * @return VipBuilder
	 */
	VipBuilder address(String address);

	/**
	 * @param protocol
	 *            The protocol of the VIP address. A valid value is TCP, HTTP,
	 *            or HTTPS.
	 * @return VipBuilder
	 */
	VipBuilder protocol(Protocol protocol);

	/**
	 * @param protocolPort
	 *            The port on which to listen to client traffic that is
	 *            associated with the VIP address. A valid value is from 1 to
	 *            65535.
	 * @return VipBuilder
	 */
	VipBuilder protocolPort(Integer protocolPort);

	/**
	 * Optional
	 * 
	 * @param poolId
	 *            The pool identifier
	 * @return VipBuilder
	 */
	VipBuilder poolId(String poolId);

	/**
	 * Optional
	 * 
	 * @param sessionPersistence
	 *            . Session persistence parameters for the VIP. Omit the
	 *            session_persistence parameter to prevent session persistence.
	 *            When no session persistence is used, the session_persistence
	 *            parameter does not appear in the API response. To clear
	 *            session persistence for the VIP, set the session_persistence
	 *            parameter to null in a VIP update request.
	 * @return VipBuilder
	 */
	VipBuilder sessionPersistence(SessionPersistence sessionPersistence);

	/**
	 * Optional
	 * 
	 * @param connectionLimit
	 *            The maximum number of connections allowed for the VIP. Value
	 *            is -1 if the limit is not set.
	 * @return VipBuilder
	 */
	VipBuilder connectionLimit(Integer connectionLimit);

	/**
	 * Optional
	 * 
	 * @param adminStateUp
	 *            The administrative state of the VIP. A valid value is true
	 *            (UP) or false (DOWN).
	 * @return VipBuilder
	 */
	VipBuilder adminStateUp(boolean adminStateUp);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy