Interface FabricGateway
- All Known Implementing Classes:
Fabric
Fabric that the value-add design engines depend on -
the metro/service-profile/cloud-router/connection/routing-protocol resources the optimizer,
deployment wizard, and peering intelligence actually use.
Fabric implements this interface, so existing callers (which pass a concrete
Fabric) are unaffected; the engines, however, depend only on this small interface rather
than the full concrete client. That is the composition boundary the design module
extraction was built around: it keeps the engines decoupled from the entire Fabric surface
and makes them straightforward to unit-test against a stub gateway.
Custom implementations need not back every method with a live client. The
engines degrade deliberately when a surface is unavailable: the deployment wizard's
PlanValidator records checks it cannot run as SKIPPED (with the reason) rather than
passing or failing them, the optimizer reports an unreadable catalog as an incomplete scan, and
peering intelligence marks Fabric availability as "not analyzed". A stub that throws from a
method it cannot serve is therefore a legitimate offline gateway - but metros() and
serviceProfiles() feed everything and should be real for any meaningful run.
- Author:
- ianjones
-
Method Details
-
metros
Metros metros()- Returns:
- the Metros client - the metro catalog (codes, regions, coordinates, connected-metro latencies) every design engine reads
-
serviceProfiles
ServiceProfiles serviceProfiles()- Returns:
- the Service Profiles client - provider availability for the optimizer, z-side profile selection for the wizard, and Fabric on-ramp cross-referencing for peering intelligence
-
cloudRouters
CloudRouters cloudRouters()- Returns:
- the Cloud Routers client - used by the deployment wizard to validate router
packages and to create Cloud Routers on
execute()
-
connections
Connections connections()- Returns:
- the Connections client - used by the deployment wizard for connection dry-runs and creation
-
routingProtocols
RoutingProtocols routingProtocols()- Returns:
- the Routing Protocols client - used by the deployment wizard to attach BGP/DIRECT protocols to created connections
-
prices
Prices prices()- Returns:
- the Prices client - live Fabric pricing for
EquinixRateCardand the engines' cost estimation
-