org.apache.ignite.spi.discovery.tcp.ipfinder.elb

## Class TcpDiscoveryElbIpFinder

- java.lang.Object
- - org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinderAdapter
  - - org.apache.ignite.spi.discovery.tcp.ipfinder.elb.TcpDiscoveryElbIpFinder

- All Implemented Interfaces:
    TcpDiscoveryIpFinder

      public class TcpDiscoveryElbIpFinder
      extends TcpDiscoveryIpFinderAdapter

  AWS Classic load balancer based IP finder.

  For information about Amazon Classic load balancers visit: aws.amazon.com.

  # Configuration

  ## Mandatory

  - `setCredentialsProvider(AWSCredentialsProvider)`
  - Classic load balancer name (see `setLoadBalancerName(String)`)
  - Classic load balancer region (see `setRegion(String)`)

  The finder will fetch all nodes connected under an Classic load balancer and share with its peers for cluster awareness.

  Note that using AWS Classic load balancer service will result in charges to your AWS account.

  Choose another implementation of `TcpDiscoveryIpFinder` for local or home network tests.

  Note that this finder is shared.

  Note that this finder can only be used on AWS EC2 instances that belong on a Load Balancer based auto scaling group.

  See Also:
    `TcpDiscoveryAlbIpFinder`

- - ### Field Summary

    - ### Fields inherited from class org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinderAdapter

      `ignite`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TcpDiscoveryElbIpFinder()` Creates Classic load balancer IP finder instance.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Collection<InetSocketAddress>` | `getRegisteredAddresses()` Gets all addresses registered in this finder.
    `void` | `registerAddresses(Collection<InetSocketAddress> addrs)` Registers new addresses.
    `void` | `setCredentialsProvider(com.amazonaws.auth.AWSCredentialsProvider credsProvider)` Sets AWS credentials provider.
    `void` | `setLoadBalancerName(String loadBalancerName)` Sets AWS Classic load balancer name which nodes are plugged under it.
    `void` | `setRegion(String region)` Sets Classic load balancer's region.
    `void` | `unregisterAddresses(Collection<InetSocketAddress> addrs)` Unregisters provided addresses.

    - ### Methods inherited from class org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinderAdapter

      `close, discoveryClientMode, initializeLocalAddresses, isShared, onSpiContextDestroyed, onSpiContextInitialized, setShared, spiContext, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### TcpDiscoveryElbIpFinder

          public TcpDiscoveryElbIpFinder()

      Creates Classic load balancer IP finder instance.

  - ### Method Detail

    - #### getRegisteredAddresses

          public Collection<InetSocketAddress> getRegisteredAddresses()
                                                               throws IgniteSpiException

      Gets all addresses registered in this finder.
      Returns:
        All known addresses, potentially empty, but never `null`.
      Throws:
        `IgniteSpiException` - In case of error.

    - #### setLoadBalancerName

          @IgniteSpiConfiguration(optional=false)
          public void setLoadBalancerName(String loadBalancerName)

      Sets AWS Classic load balancer name which nodes are plugged under it. For details refer to Amazon API reference.
      Parameters:
        `loadBalancerName` - AWS Classic load balancer name.

    - #### setRegion

          @IgniteSpiConfiguration(optional=false)
          public void setRegion(String region)

      Sets Classic load balancer's region. For details refer to Amazon API reference.
      Parameters:
        `region` - AWS Classic load balancer region (i.e: us-east-1)

    - #### setCredentialsProvider

          @IgniteSpiConfiguration(optional=false)
          public void setCredentialsProvider(com.amazonaws.auth.AWSCredentialsProvider credsProvider)

      Sets AWS credentials provider. For details refer to Amazon API reference.
      Parameters:
        `credsProvider` - AWS credentials provider.

    - #### registerAddresses

          public void registerAddresses(Collection<InetSocketAddress> addrs)
                                 throws IgniteSpiException

      Registers new addresses.

      Implementation should accept duplicates quietly, but should not register address if it is already registered.

      Parameters:
        `addrs` - Addresses to register. Not `null` and not empty.
      Throws:
        `IgniteSpiException` - In case of error.

    - #### unregisterAddresses

          public void unregisterAddresses(Collection<InetSocketAddress> addrs)
                                   throws IgniteSpiException

      Unregisters provided addresses.

      Implementation should accept addresses that are currently not registered quietly (just no-op).

      Parameters:
        `addrs` - Addresses to unregister. Not `null` and not empty.
      Throws:
        `IgniteSpiException` - In case of error.

2021 Copyright © Apache Software Foundation
| Follow @ApacheIgnite
Ignite Database and Caching Platform | : ver. 2.11.0
Release Date | : September 11 2021