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

org.openstack4j.api.networking.ext.LbPoolService Maven / Gradle / Ivy

There is a newer version: 3.2.0
Show newest version
package org.openstack4j.api.networking.ext;

import java.util.List;
import java.util.Map;

import org.openstack4j.common.RestService;
import org.openstack4j.model.compute.ActionResponse;
import org.openstack4j.model.network.ext.HealthMonitor;
import org.openstack4j.model.network.ext.HealthMonitorAssociate;
import org.openstack4j.model.network.ext.LbPool;
import org.openstack4j.model.network.ext.LbPoolStats;
import org.openstack4j.model.network.ext.LbPoolUpdate;

/**
 * Networking (Neutron) Lbaas pool Extension API
 * 
 * @author liujunpeng
 *
 */
public interface LbPoolService extends RestService {
	/**
	 * List all lb pools that the current tenant has access to
	 *
	 * @return list of all lb pools
	 */
	List list();

	/**
	 * Returns list of lb pools filtered by parameters.
	 * 
	 * @param filteringParams
	 *            map (name, value) of filtering parameters
	 * @return List
	 */
	List list(Map filteringParams);

	/**
	 * Get the specified lb pool by ID
	 *
	 * @param lbPoolId
	 *            the lb pool identifier
	 * @return the lbPool or null if not found
	 */
	LbPool get(String lbPoolId);

	/**
	 * Delete the specified lb Pool by ID
	 * 
	 * @param lbPoolId
	 *            the lb pool identifier
	 * @return the action response
	 */
	ActionResponse delete(String lbPoolId);

	/**
	 * Create a lb Pool
	 * 
	 * @param lbPool
	 *            LbPool
	 * @return Member
	 */
	LbPool create(LbPool lbPool);

	/**
	 * Update a lb pool
	 * 
	 * @param lbPoolId
	 *            the lb pool identifier
	 * @param lbPool
	 *            LbPoolUpdate
	 * @return LbPool
	 */
	LbPool update(String lbPoolId, LbPoolUpdate lbPool);

	/**
	 * Get the LbPool Stats by ID
	 *
	 * @param lbPoolId, the lb pool identifier
	 */
	LbPoolStats stats(String lbPoolId);

	/**
	 * Associates a health monitor with a specified pool.
	 * 
	 * @param lbPoolId
	 *            the lb pool identifier
	 * @param associate
	 *            HealthMonitorAssociate
	 * @return HealthMonitor
	 */
	HealthMonitor associateHealthMonitor(String lbPoolId,
			HealthMonitorAssociate associate);
	
	/**
     * Associates a health monitor with a specified pool.
     * 
     * @param lbPoolId
     *            the lb pool identifier
     * @param associate
     *            HealthMonitorAssociate
     * @return HealthMonitor
     */
    HealthMonitor associateHealthMonitor(String lbPoolId, String healthMonitorId);

	/**
	 * Disassociates a specified health monitor from a pool.
	 * 
	 * @param lbPoolId
	 *            the lb pool identifier
	 * @param healthMonitorId
	 *            the healthMonitor identifier
	 * @return ActionResponse
	 */
	ActionResponse disAssociateHealthMonitor(String lbPoolId,
			String healthMonitorId);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy