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
`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`