Class PeeringIntelligence.Builder
- Enclosing class:
PeeringIntelligence
The builder collects target ASNs (with optional labels), customer metro locations,
the customer's own ASN, and analysis options. Calling analyze() executes
the analysis pipeline and returns a PeeringIntelligenceResult.
- Author:
- ianjones
-
Method Summary
Modifier and TypeMethodDescriptionaddAsn(long asn) Adds a target ASN to analyze using the PeeringDB network name as label.Adds a target ASN to analyze with a human-readable label.Adds multiple ASNs from a map of ASN to label.analyze()Executes the peering intelligence analysis.customerAsn(long asn) Sets the customer's own ASN for mutual peering opportunity discovery.customerMetros(MetroCode... metros) Sets the customer's metro locations for resiliency analysis.customerMetros(MetroId... metros) customerMetros(String... metros) Sets the customer's metro locations by metro code string (e.g.customerMetros(Collection<MetroCode> metros) Sets the customer's metro locations from a collection ofMetroCode.Enables every analysis feature the engine actually performs: IX port-capacity analysis, peering-policy analysis, and resiliency analysis.includeCapacity(boolean include) Enables or disables IX port capacity analysis.includePolicies(boolean include) Enables or disables peering policy feasibility analysis.includeResiliency(boolean include) Enables resiliency analysis (blast radius, correlated failures, failover paths).
-
Method Details
-
addAsn
Adds a target ASN to analyze with a human-readable label.- Parameters:
asn- the autonomous system number (e.g., 16509 for AWS)label- a short label for display (e.g., "AWS")- Returns:
- this builder
-
addAsn
Adds a target ASN to analyze using the PeeringDB network name as label.- Parameters:
asn- the autonomous system number- Returns:
- this builder
-
addAsns
Adds multiple ASNs from a map of ASN to label.- Parameters:
asns- map of ASN -> label- Returns:
- this builder
-
customerMetros
Sets the customer's metro locations for resiliency analysis.When customer metros are specified, the engine performs blast radius analysis and failover path identification for each metro.
- Parameters:
metros- the customer's Equinix metro locations- Returns:
- this builder
-
customerMetros
-
customerMetros
Sets the customer's metro locations by metro code string (e.g."DC","da"). Accepts metros not in theMetroCodeenum.- Parameters:
metros- the customer's Equinix metro codes- Returns:
- this builder
-
customerMetros
Sets the customer's metro locations from a collection ofMetroCode.- Parameters:
metros- the customer's Equinix metro locations- Returns:
- this builder
-
customerAsn
Sets the customer's own ASN for mutual peering opportunity discovery.When provided, the engine queries PeeringDB for the customer's IX presence and identifies Equinix IXes where both the customer and a target ASN are connected - one opportunity per (target ASN, IX). PeeringDB records IX membership only, so an opportunity means mutual presence; whether the two networks already peer there cannot be determined from this data.
- Parameters:
asn- the customer's autonomous system number- Returns:
- this builder
-
includeCapacity
Enables or disables IX port capacity analysis. Enabled by default.- Parameters:
include-trueto include port speed data from PeeringDB- Returns:
- this builder
-
includePolicies
Enables or disables peering policy feasibility analysis. Enabled by default.- Parameters:
include-trueto include policy data from PeeringDB- Returns:
- this builder
-
includeResiliency
Enables resiliency analysis (blast radius, correlated failures, failover paths).Requires
customerMetros(MetroCode...)to have been called with at least one metro. Without customer metros, there is no context for evaluating failure impact.- Parameters:
include-trueto perform resiliency analysis- Returns:
- this builder
-
includeAll
Enables every analysis feature the engine actually performs: IX port-capacity analysis, peering-policy analysis, and resiliency analysis. (Capacity and policies are already on by default; this method additionally turns on the default-off resiliency analysis, which also requires at least onecustomer metro.)- Returns:
- this builder
-
analyze
Executes the peering intelligence analysis.This method makes live API calls to PeeringDB (and optionally the Equinix Fabric API) to collect network presence data, then runs the analysis pipeline to produce the result.
- Returns:
- the complete analysis result
- Throws:
IllegalStateException- if no target ASNs have been specifiedRuntimeException- if PeeringDB API calls fail
-