mirror of https://github.com/apache/jclouds.git
Updated Rackspace Cloud Load Balancers doc.
This commit is contained in:
parent
49990d97e4
commit
9c2990201b
|
@ -27,7 +27,7 @@ import com.google.common.base.Objects.ToStringHelper;
|
||||||
* The access rule management feature allows fine-grained network access controls to be applied to the load balancer's
|
* The access rule management feature allows fine-grained network access controls to be applied to the load balancer's
|
||||||
* virtual IP address. A single IP address, multiple IP addresses, or entire network subnets can be added as an access
|
* virtual IP address. A single IP address, multiple IP addresses, or entire network subnets can be added as an access
|
||||||
* rule. Rules that are configured with the ALLOW type will always take precedence over rules with the DENY type. To
|
* rule. Rules that are configured with the ALLOW type will always take precedence over rules with the DENY type. To
|
||||||
* reject traffic from all rules except for those with the ALLOW type, add an access rules with an address of
|
* reject traffic from all rules except for those with the ALLOW type, add an access rule with an address of
|
||||||
* "0.0.0.0/0" and a DENY type.
|
* "0.0.0.0/0" and a DENY type.
|
||||||
*
|
*
|
||||||
* @author Everett Toews
|
* @author Everett Toews
|
||||||
|
|
|
@ -131,7 +131,7 @@ public class LoadBalancer extends BaseLoadBalancer<Node, LoadBalancer> {
|
||||||
* Broken out as a separate field because when LoadBalancers are returned from
|
* Broken out as a separate field because when LoadBalancers are returned from
|
||||||
* {@link LoadBalancerApi#list()}, no Nodes are returned (so you can't rely on getNodes().size())
|
* {@link LoadBalancerApi#list()}, no Nodes are returned (so you can't rely on getNodes().size())
|
||||||
* but a nodeCount is returned. When {@link LoadBalancerApi#get(int)} is called, nodes are
|
* but a nodeCount is returned. When {@link LoadBalancerApi#get(int)} is called, nodes are
|
||||||
* returned by no nodeCount is returned.
|
* returned but no nodeCount is returned.
|
||||||
*
|
*
|
||||||
* @return The number of Nodes in this LoadBalancer
|
* @return The number of Nodes in this LoadBalancer
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -33,8 +33,8 @@ public final class LoadBalancerInfo {
|
||||||
private Iterable<LoadBalancerUsage> loadBalancerUsageRecords;
|
private Iterable<LoadBalancerUsage> loadBalancerUsageRecords;
|
||||||
|
|
||||||
@ConstructorProperties({ "loadBalancerId", "loadBalancerName", "loadBalancerUsageRecords" })
|
@ConstructorProperties({ "loadBalancerId", "loadBalancerName", "loadBalancerUsageRecords" })
|
||||||
protected LoadBalancerInfo(int port, String name, Iterable<LoadBalancerUsage> loadBalancerUsageRecords) {
|
protected LoadBalancerInfo(int id, String name, Iterable<LoadBalancerUsage> loadBalancerUsageRecords) {
|
||||||
this.loadBalancerId = port;
|
this.loadBalancerId = id;
|
||||||
this.loadBalancerName = checkNotNull(name, "name");
|
this.loadBalancerName = checkNotNull(name, "name");
|
||||||
this.loadBalancerUsageRecords = checkNotNull(loadBalancerUsageRecords, "loadBalancerUsageRecords");
|
this.loadBalancerUsageRecords = checkNotNull(loadBalancerUsageRecords, "loadBalancerUsageRecords");
|
||||||
}
|
}
|
||||||
|
|
|
@ -118,12 +118,12 @@ public class Node extends BaseNode<Node> {
|
||||||
ONLINE,
|
ONLINE,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* represents a node that cannot accept or service traffic
|
* Represents a node that cannot accept or service traffic.
|
||||||
*/
|
*/
|
||||||
OFFLINE,
|
OFFLINE,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* represents a node that stops the traffic manager from sending any additional new
|
* Represents a node that stops the traffic manager from sending any additional new
|
||||||
* connections to the node, but honors established sessions.
|
* connections to the node, but honors established sessions.
|
||||||
*/
|
*/
|
||||||
DRAINING,
|
DRAINING,
|
||||||
|
|
|
@ -41,7 +41,7 @@ public interface AccessRuleApi {
|
||||||
void create(Iterable<AccessRule> accessRules);
|
void create(Iterable<AccessRule> accessRules);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* List the AccessRules
|
* List the AccessRules.
|
||||||
*/
|
*/
|
||||||
Iterable<AccessRuleWithId> list();
|
Iterable<AccessRuleWithId> list();
|
||||||
|
|
||||||
|
|
|
@ -30,8 +30,7 @@ import org.jclouds.rackspace.cloudloadbalancers.domain.ConnectionThrottle;
|
||||||
public interface ConnectionApi {
|
public interface ConnectionApi {
|
||||||
/**
|
/**
|
||||||
* The connection throttling feature imposes limits on the number of connections per IP address to help mitigate
|
* The connection throttling feature imposes limits on the number of connections per IP address to help mitigate
|
||||||
* malicious or abusive traffic to your applications. The attributes in the table that follows can be configured
|
* malicious or abusive traffic to your applications.
|
||||||
* based on the traffic patterns for your sites.
|
|
||||||
*/
|
*/
|
||||||
void createOrUpdateConnectionThrottle(ConnectionThrottle connectionThrottle);
|
void createOrUpdateConnectionThrottle(ConnectionThrottle connectionThrottle);
|
||||||
|
|
||||||
|
@ -43,7 +42,7 @@ public interface ConnectionApi {
|
||||||
/**
|
/**
|
||||||
* Delete connection throttle.
|
* Delete connection throttle.
|
||||||
*
|
*
|
||||||
* @return true on a successful delete, false if the connection throttle was not found
|
* @return true on a successful delete, false if the connection throttle was not found.
|
||||||
*/
|
*/
|
||||||
boolean deleteConnectionThrottle();
|
boolean deleteConnectionThrottle();
|
||||||
|
|
||||||
|
|
|
@ -21,8 +21,8 @@ package org.jclouds.rackspace.cloudloadbalancers.features;
|
||||||
/**
|
/**
|
||||||
* An error page is the html file that is shown to an end user who is attempting to access a load balancer node that
|
* An error page is the html file that is shown to an end user who is attempting to access a load balancer node that
|
||||||
* is offline/unavailable. During provisioning, every load balancer is configured with a default error page that gets
|
* is offline/unavailable. During provisioning, every load balancer is configured with a default error page that gets
|
||||||
* displayed when traffic is requested for an offline node. A single custom error page may be added per account load
|
* displayed when traffic is requested for an offline node. A single custom error page may be added to a load
|
||||||
* balancer with an HTTP protocol. Page updates will override existing content.
|
* balancer with an HTTP-based protocol. Page updates will override existing content.
|
||||||
* <p/>
|
* <p/>
|
||||||
*
|
*
|
||||||
* @see ErrorPageAsyncApi
|
* @see ErrorPageAsyncApi
|
||||||
|
|
|
@ -22,7 +22,6 @@ import java.util.Map;
|
||||||
|
|
||||||
import org.jclouds.collect.IterableWithMarker;
|
import org.jclouds.collect.IterableWithMarker;
|
||||||
import org.jclouds.collect.PagedIterable;
|
import org.jclouds.collect.PagedIterable;
|
||||||
import org.jclouds.http.HttpResponseException;
|
|
||||||
import org.jclouds.openstack.v2_0.options.PaginationOptions;
|
import org.jclouds.openstack.v2_0.options.PaginationOptions;
|
||||||
import org.jclouds.rackspace.cloudloadbalancers.domain.LoadBalancer;
|
import org.jclouds.rackspace.cloudloadbalancers.domain.LoadBalancer;
|
||||||
import org.jclouds.rackspace.cloudloadbalancers.domain.LoadBalancerAttributes;
|
import org.jclouds.rackspace.cloudloadbalancers.domain.LoadBalancerAttributes;
|
||||||
|
@ -40,70 +39,38 @@ public interface LoadBalancerApi {
|
||||||
/**
|
/**
|
||||||
* Create a new load balancer with the configuration defined by the request.
|
* Create a new load balancer with the configuration defined by the request.
|
||||||
*
|
*
|
||||||
* <p/>
|
|
||||||
* This operation asynchronously provisions a new load balancer based on the configuration
|
|
||||||
* defined in the request object. Once the request is validated and progress has started on the
|
|
||||||
* provisioning process, a response object will be returned.
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* @param lb
|
|
||||||
* configuration to create
|
|
||||||
* @return The object will contain a unique identifier and status of the request. Using the
|
* @return The object will contain a unique identifier and status of the request. Using the
|
||||||
* identifier, the caller can check on the progress of the operation by performing a
|
* identifier, the caller can check on the progress of the operation by performing a
|
||||||
* {@link LoadBalancerApi#getLoadBalancer}.
|
* {@link LoadBalancerApi#get}.
|
||||||
* @throws HttpResponseException
|
|
||||||
* If the corresponding request cannot be fulfilled due to insufficient or invalid
|
|
||||||
* data
|
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
LoadBalancer create(LoadBalancerRequest lb);
|
LoadBalancer create(LoadBalancerRequest lb);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* Update the properties of a load balancer.
|
* Update the properties of a load balancer.
|
||||||
*
|
*
|
||||||
* <p/>
|
|
||||||
* This operation asynchronously updates the attributes of the specified load balancer. Upon
|
|
||||||
* successful validation of the request, the service will return a 202 (Accepted) response code.
|
|
||||||
* A caller can poll the load balancer with its ID to wait for the changes to be applied and the
|
|
||||||
* load balancer to return to an ACTIVE status.
|
|
||||||
*
|
|
||||||
* @param id
|
|
||||||
* id of the loadbalancer to change
|
|
||||||
* @param attrs
|
|
||||||
* what to change
|
|
||||||
* @return The object will contain a unique identifier and status of the request. Using the
|
* @return The object will contain a unique identifier and status of the request. Using the
|
||||||
* identifier, the caller can check on the progress of the operation by performing a
|
* identifier, the caller can check on the progress of the operation by performing a
|
||||||
* {@link LoadBalancerApi#getLoadBalancer}.
|
* {@link LoadBalancerApi#get}.
|
||||||
* @see LoadBalancerAttributes#fromLoadBalancer
|
|
||||||
*/
|
*/
|
||||||
void update(int id, LoadBalancerAttributes attrs);
|
void update(int id, LoadBalancerAttributes attrs);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
* List the load balancers.
|
||||||
* @return all load balancers configured for the account, or empty set if none available
|
|
||||||
*/
|
*/
|
||||||
PagedIterable<LoadBalancer> list();
|
PagedIterable<LoadBalancer> list();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* List the load balancers with full control of pagination.
|
||||||
|
*/
|
||||||
IterableWithMarker<LoadBalancer> list(PaginationOptions options);
|
IterableWithMarker<LoadBalancer> list(PaginationOptions options);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get a load balancer.
|
* Get a load balancer.
|
||||||
*
|
|
||||||
* @param id
|
|
||||||
* id of the loadbalancer to retrieve
|
|
||||||
* @return details of the specified load balancer, or null if not found
|
|
||||||
*/
|
*/
|
||||||
LoadBalancer get(int id);
|
LoadBalancer get(int id);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete a load balancer.
|
* Delete a load balancer.
|
||||||
* <p/>
|
|
||||||
* Delete the specified load balancer and its associated configuration from the account. Any and all configuration
|
|
||||||
* data is immediately purged and isnot recoverable.
|
|
||||||
*
|
|
||||||
* @param id
|
|
||||||
* to remove
|
|
||||||
*/
|
*/
|
||||||
void delete(int id);
|
void delete(int id);
|
||||||
|
|
||||||
|
|
|
@ -20,11 +20,10 @@ package org.jclouds.rackspace.cloudloadbalancers.features;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import org.jclouds.collect.IterableWithMarker;
|
import org.jclouds.collect.IterableWithMarker;
|
||||||
import org.jclouds.collect.PagedIterable;
|
import org.jclouds.collect.PagedIterable;
|
||||||
import org.jclouds.http.HttpResponseException;
|
|
||||||
import org.jclouds.openstack.v2_0.options.PaginationOptions;
|
import org.jclouds.openstack.v2_0.options.PaginationOptions;
|
||||||
import org.jclouds.rackspace.cloudloadbalancers.domain.LoadBalancerAttributes;
|
|
||||||
import org.jclouds.rackspace.cloudloadbalancers.domain.Metadata;
|
import org.jclouds.rackspace.cloudloadbalancers.domain.Metadata;
|
||||||
import org.jclouds.rackspace.cloudloadbalancers.domain.Node;
|
import org.jclouds.rackspace.cloudloadbalancers.domain.Node;
|
||||||
import org.jclouds.rackspace.cloudloadbalancers.domain.NodeAttributes;
|
import org.jclouds.rackspace.cloudloadbalancers.domain.NodeAttributes;
|
||||||
|
@ -40,77 +39,36 @@ import org.jclouds.rackspace.cloudloadbalancers.domain.NodeRequest;
|
||||||
public interface NodeApi {
|
public interface NodeApi {
|
||||||
/**
|
/**
|
||||||
* Create a new node with the configuration defined by the request.
|
* Create a new node with the configuration defined by the request.
|
||||||
*
|
|
||||||
* <p/>
|
|
||||||
* When a node is added, it is assigned a unique identifier that can be used for mutating operations
|
|
||||||
* such as changing the condition or removing it. Every load balancer is dual-homed on both the public
|
|
||||||
* Internet and ServiceNet; as a result, nodes can either be internal ServiceNet addresses or addresses
|
|
||||||
* on the public Internet.
|
|
||||||
*
|
|
||||||
* @param nodes
|
|
||||||
* configurations to create
|
|
||||||
* @return created nodes
|
|
||||||
* @throws HttpResponseException
|
|
||||||
* If the corresponding request cannot be fulfilled due to insufficient or invalid
|
|
||||||
* data
|
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
Set<Node> add(Iterable<NodeRequest> nodes);
|
Set<Node> add(Iterable<NodeRequest> nodes);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
* Update the attributes of a node.
|
||||||
* Update the properties of a node.
|
|
||||||
*
|
|
||||||
* <p/>
|
|
||||||
* This operation asynchronously updates the attributes of the specified node. Upon
|
|
||||||
* successful validation of the request, the service will return a 202 (Accepted) response code.
|
|
||||||
* A caller can poll the load balancer with its ID to wait for the changes to be applied and the
|
|
||||||
* load balancer to return to an ACTIVE status.
|
|
||||||
* @param id
|
|
||||||
* node to get
|
|
||||||
* @param attrs
|
|
||||||
* what to change
|
|
||||||
*
|
|
||||||
* @see LoadBalancerAttributes#fromLoadBalancer
|
|
||||||
*/
|
*/
|
||||||
void update(int id, NodeAttributes attrs);
|
void update(int id, NodeAttributes attrs);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return all nodes for a given loadbalancer, or empty set if none available
|
* List the nodes.
|
||||||
*/
|
*/
|
||||||
PagedIterable<Node> list();
|
PagedIterable<Node> list();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* List the nodes with full control of pagination.
|
||||||
|
*/
|
||||||
IterableWithMarker<Node> list(PaginationOptions options);
|
IterableWithMarker<Node> list(PaginationOptions options);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param id
|
* Get a node.
|
||||||
* node to get
|
|
||||||
* @return details of the specified node, or null if not found
|
|
||||||
*/
|
*/
|
||||||
Node get(int id);
|
Node get(int id);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Remove a node from the account.
|
* Remove a node from the load balancer.
|
||||||
* <p/>
|
|
||||||
* The remove load balancer function removes the specified load balancer and its associated
|
|
||||||
* configuration from the account. Any and all configuration data is immediately purged and is
|
|
||||||
* not recoverable.
|
|
||||||
*
|
|
||||||
* @param id
|
|
||||||
* node to remove
|
|
||||||
*/
|
*/
|
||||||
void remove(int id);
|
void remove(int id);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Batch-remove nodes from the account.
|
* Batch remove nodes from the load balancer.
|
||||||
* <p/>
|
|
||||||
* The current default limit is ten ids per request. Any and all configuration data is
|
|
||||||
* immediately purged and is not recoverable. By chance one of the items in the list
|
|
||||||
* cannot be removed due to its current status a 400:BadRequest is returned along with the ids
|
|
||||||
* of the ones the system identified as potential failures for this request
|
|
||||||
*
|
|
||||||
* @param ids
|
|
||||||
* nodes to remove
|
|
||||||
*/
|
*/
|
||||||
void remove(Iterable<Integer> ids);
|
void remove(Iterable<Integer> ids);
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@ import org.jclouds.rackspace.cloudloadbalancers.domain.LoadBalancerUsage;
|
||||||
import org.jclouds.rackspace.cloudloadbalancers.domain.Protocol;
|
import org.jclouds.rackspace.cloudloadbalancers.domain.Protocol;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
* Reporting for load balancers.
|
||||||
* <p/>
|
* <p/>
|
||||||
* @see ReportAsyncApi
|
* @see ReportAsyncApi
|
||||||
* @author Everett Toews
|
* @author Everett Toews
|
||||||
|
@ -44,7 +44,7 @@ public interface ReportApi {
|
||||||
IterableWithMarker<LoadBalancer> listBillableLoadBalancers(PaginationOptions options);
|
IterableWithMarker<LoadBalancer> listBillableLoadBalancers(PaginationOptions options);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* View of all transfer activity, average number of connections, and number of virtual IPs associated with the load
|
* View all transfer activity, average number of connections, and number of virtual IPs associated with the load
|
||||||
* balancing service. Historical usage data is available for up to 90 days of service activity.
|
* balancing service. Historical usage data is available for up to 90 days of service activity.
|
||||||
*/
|
*/
|
||||||
HistoricalUsage getHistoricalUsage(Date startTime, Date endTime);
|
HistoricalUsage getHistoricalUsage(Date startTime, Date endTime);
|
||||||
|
|
Loading…
Reference in New Issue