org.apache.cassandra.locator

## Class Ec2MultiRegionSnitch

- java.lang.Object
- - org.apache.cassandra.locator.AbstractEndpointSnitch
  - - org.apache.cassandra.locator.AbstractNetworkTopologySnitch
    - - org.apache.cassandra.locator.Ec2Snitch
      - - org.apache.cassandra.locator.Ec2MultiRegionSnitch

- All Implemented Interfaces:
    IEndpointSnitch

      public class Ec2MultiRegionSnitch
      extends Ec2Snitch

  1) Snitch will automatically set the public IP by querying the AWS API 2) Snitch will set the private IP as a Gossip application state. 3) Uses a helper class that implements IESCS and will reset the public IP connection if it is within the same region to communicate via private IP. Operational: All the nodes in this cluster needs to be able to (modify the Security group settings in AWS) communicate via Public IP's.

- - ### Field Summary

    - ### Fields inherited from class org.apache.cassandra.locator.Ec2Snitch

      `ec2region, ec2zone, logger, ZONE_NAME_QUERY_URL`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Ec2MultiRegionSnitch()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `gossiperStarting()` called after Gossiper instance exists immediately before it starts gossiping

    - ### Methods inherited from class org.apache.cassandra.locator.Ec2Snitch

      `getDatacenter, getRack`

    - ### Methods inherited from class org.apache.cassandra.locator.AbstractNetworkTopologySnitch

      `compareEndpoints`

    - ### Methods inherited from class org.apache.cassandra.locator.AbstractEndpointSnitch

      `getSortedListByProximity, isWorthMergingForRangeQuery, sortByProximity`

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

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

- - ### Constructor Detail

    - #### Ec2MultiRegionSnitch

          public Ec2MultiRegionSnitch()
                               throws java.io.IOException,
                                      ConfigurationException

      Throws:
        `java.io.IOException`
        `ConfigurationException`

  - ### Method Detail

    - #### gossiperStarting

          public void gossiperStarting()

      Description copied from interface: `IEndpointSnitch`
      called after Gossiper instance exists immediately before it starts gossiping
      Specified by:
        `gossiperStarting` in interface `IEndpointSnitch`
      Overrides:
        `gossiperStarting` in class `AbstractEndpointSnitch`

Copyright © 2018 The Apache Software Foundation