org.jclouds.rackspace.cloudloadbalancers.v1.domain.internal
Class BaseLoadBalancer.Builder<N extends BaseNode<N>,T extends BaseLoadBalancer<N,T>>

java.lang.Object
  extended by org.jclouds.rackspace.cloudloadbalancers.v1.domain.internal.BaseLoadBalancer.Builder<N,T>
Direct Known Subclasses:
CreateLoadBalancer.Builder, LoadBalancer.Builder
Enclosing class:
BaseLoadBalancer<N extends BaseNode<N>,T extends BaseLoadBalancer<N,T>>

public static class BaseLoadBalancer.Builder<N extends BaseNode<N>,T extends BaseLoadBalancer<N,T>>
extends Object


Field Summary
protected  BaseLoadBalancer.Algorithm algorithm
           
protected  Map<String,Boolean> connectionLogging
           
protected  ConnectionThrottle connectionThrottle
           
protected  Boolean halfClosed
           
protected  HealthMonitor healthMonitor
           
protected  String name
           
protected  Set<N> nodes
           
protected  Integer port
           
protected  String protocol
           
protected  Map<String,SessionPersistence> sessionPersistence
           
protected  Integer timeout
           
 
Constructor Summary
BaseLoadBalancer.Builder()
           
 
Method Summary
 BaseLoadBalancer.Builder<N,T> algorithm(BaseLoadBalancer.Algorithm algorithm)
          Algorithm that defines how traffic should be directed between back-end nodes.
 BaseLoadBalancer<N,T> build()
           
 BaseLoadBalancer.Builder<N,T> connectionLogging(Boolean connectionLogging)
          Current connection logging configuration.
 BaseLoadBalancer.Builder<N,T> connectionThrottle(ConnectionThrottle connectionThrottle)
          Specifies limits on the number of connections per IP address to help mitigate malicious or abusive traffic to your applications.
 BaseLoadBalancer.Builder<N,T> from(T baseLB)
           
 BaseLoadBalancer.Builder<N,T> halfClosed(Boolean halfClosed)
          Enable or Disable Half-Closed support for the load balancer.
 BaseLoadBalancer.Builder<N,T> healthMonitor(HealthMonitor healthMonitor)
          The type of health monitor check to perform to ensure that the service is performing properly.
 BaseLoadBalancer.Builder<N,T> name(String name)
          Required.
 BaseLoadBalancer.Builder<N,T> node(N node)
           
 BaseLoadBalancer.Builder<N,T> nodes(Iterable<N> nodes)
          Required.
 BaseLoadBalancer.Builder<N,T> port(Integer port)
          Required if the protocol being used is not in ReportApi#listProtocols() or the protocol is in ReportApi#listProtocols() but port=0.
 BaseLoadBalancer.Builder<N,T> protocol(String protocol)
          Required.
 BaseLoadBalancer.Builder<N,T> sessionPersistenceType(SessionPersistence sessionPersistenceType)
          Specifies whether multiple requests from clients are directed to the same node.
 BaseLoadBalancer.Builder<N,T> timeout(Integer timeout)
          The timeout value for the load balancer and communications with its nodes.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

name

protected String name

protocol

protected String protocol

port

protected Integer port

nodes

protected Set<N extends BaseNode<N>> nodes

algorithm

protected BaseLoadBalancer.Algorithm algorithm

timeout

protected Integer timeout

halfClosed

protected Boolean halfClosed

sessionPersistence

protected Map<String,SessionPersistence> sessionPersistence

connectionLogging

protected Map<String,Boolean> connectionLogging

connectionThrottle

protected ConnectionThrottle connectionThrottle

healthMonitor

protected HealthMonitor healthMonitor
Constructor Detail

BaseLoadBalancer.Builder

public BaseLoadBalancer.Builder()
Method Detail

name

public BaseLoadBalancer.Builder<N,T> name(String name)
Required. Name of the load balancer to create. The name must be 128 characters or less in length, and all UTF-8 characters are valid.


protocol

public BaseLoadBalancer.Builder<N,T> protocol(String protocol)
Required. Protocol of the service which is being load balanced.

See Also:
ReportApi#listProtocols()

port

public BaseLoadBalancer.Builder<N,T> port(@Nullable
                                          Integer port)
Required if the protocol being used is not in ReportApi#listProtocols() or the protocol is in ReportApi#listProtocols() but port=0. Port number for the service you are load balancing.


nodes

public BaseLoadBalancer.Builder<N,T> nodes(Iterable<N> nodes)
Required. Nodes to be added to the load balancer.


node

public BaseLoadBalancer.Builder<N,T> node(N node)

algorithm

public BaseLoadBalancer.Builder<N,T> algorithm(@Nullable
                                               BaseLoadBalancer.Algorithm algorithm)
Algorithm that defines how traffic should be directed between back-end nodes.

See Also:
BaseLoadBalancer.Algorithm

timeout

public BaseLoadBalancer.Builder<N,T> timeout(@Nullable
                                             Integer timeout)
The timeout value for the load balancer and communications with its nodes. Defaults to 30 seconds with a maximum of 120 seconds.


halfClosed

public BaseLoadBalancer.Builder<N,T> halfClosed(@Nullable
                                                Boolean halfClosed)
Enable or Disable Half-Closed support for the load balancer. Half-Closed support provides the ability for one end of the connection to terminate its output, while still receiving data from the other end. Only available for TCP/TCP_CLIENT_FIRST protocols.


sessionPersistenceType

public BaseLoadBalancer.Builder<N,T> sessionPersistenceType(@Nullable
                                                            SessionPersistence sessionPersistenceType)
Specifies whether multiple requests from clients are directed to the same node.

See Also:
SessionPersistence

connectionLogging

public BaseLoadBalancer.Builder<N,T> connectionLogging(@Nullable
                                                       Boolean connectionLogging)
Current connection logging configuration.


connectionThrottle

public BaseLoadBalancer.Builder<N,T> connectionThrottle(@Nullable
                                                        ConnectionThrottle connectionThrottle)
Specifies limits on the number of connections per IP address to help mitigate malicious or abusive traffic to your applications.

See Also:
ConnectionThrottle

healthMonitor

public BaseLoadBalancer.Builder<N,T> healthMonitor(@Nullable
                                                   HealthMonitor healthMonitor)
The type of health monitor check to perform to ensure that the service is performing properly.

See Also:
HealthMonitor

build

public BaseLoadBalancer<N,T> build()

from

public BaseLoadBalancer.Builder<N,T> from(T baseLB)


Copyright © 2009-2014 The Apache Software Foundation. All Rights Reserved.