Class PortOperator.PortBuilder

java.lang.Object
com.eqixiac.equinix.fabric.model.json.creators.PortOperator.PortBuilder
Enclosing class:
PortOperator

public class PortOperator.PortBuilder extends Object
Fluent builder for PortCreatorJson. Each setter returns this; create() sends the POST and returns the created port wrapped as a Port.
Author:
ianjones
  • Constructor Details

    • PortBuilder

      protected PortBuilder()
  • Method Details

    • dryRun

      public PortOperator.PortBuilder dryRun()
      Marks this create as a validate-only dry run: create() sends POST /fabric/v4/ports?dryRun=true (spec: "option to verify that API calls will succeed"; boolean, default false). No port is ordered — the API responds 200 (rather than the real create's 202) with the validated port order echoed back, so the returned Port carries no uuid/name/state.
      Returns:
      this builder
    • ofType

      public PortOperator.PortBuilder ofType(PortType type)
    • physicalPortsSpeed

      public PortOperator.PortBuilder physicalPortsSpeed(Integer physicalPortsSpeed)
    • physicalPortsType

      public PortOperator.PortBuilder physicalPortsType(PhysicalPortType physicalPortsType)
    • physicalPortsCount

      public PortOperator.PortBuilder physicalPortsCount(Integer physicalPortsCount)
    • connectivitySourceType

      public PortOperator.PortBuilder connectivitySourceType(ConnectivitySourceType connectivitySourceType)
      Sets the port connectivity type (spec PortRequest.connectivitySourceType: COLO, BMMR or REMOTE).
      Parameters:
      connectivitySourceType - the connectivity source type
      Returns:
      this builder
    • bmmrType

      public PortOperator.PortBuilder bmmrType(BmmrType bmmrType)
      Sets the BMMR type (SELF or EQUINIX); mandatory when the connectivity source type is BMMR.
      Parameters:
      bmmrType - the BMMR type
      Returns:
      this builder
    • lagEnabled

      public PortOperator.PortBuilder lagEnabled(Boolean lagEnabled)
    • withProject

      public PortOperator.PortBuilder withProject(Project project)
    • projectId

      public PortOperator.PortBuilder projectId(String projectId)
    • accountNumber

      public PortOperator.PortBuilder accountNumber(Long accountNumber)
    • metroCode

      public PortOperator.PortBuilder metroCode(String metroCode)
    • withEncapsulation

      public PortOperator.PortBuilder withEncapsulation(Encapsulation encapsulation)
    • withOrder

      public PortOperator.PortBuilder withOrder(PortOrder order)
      Sets the order details (purchase order, customer reference id, signature), following the spec's PortOrder request shape.
      Parameters:
      order - the port order details
      Returns:
      this builder
    • demarcationPointIbx

      public PortOperator.PortBuilder demarcationPointIbx(String demarcationPointIbx)
      Sets the A-side/Equinix IBX for the demarcation point.
      Parameters:
      demarcationPointIbx - the A-side IBX code
      Returns:
      this builder
    • tetherIbx

      public PortOperator.PortBuilder tetherIbx(String tetherIbx)
      Sets the z-side/Equinix IBX for the tether.
      Parameters:
      tetherIbx - the z-side IBX code
      Returns:
      this builder
    • withDemarcationPoint

      public PortOperator.PortBuilder withDemarcationPoint(DemarcationPoint demarcationPoint)
      Sets the customer demarcation point (PortDemarcationPoint).
      Parameters:
      demarcationPoint - the demarcation point
      Returns:
      this builder
    • withRedundancy

      public PortOperator.PortBuilder withRedundancy(Redundancy redundancy)
      Sets the redundancy configuration (PortRedundancy), e.g. the primary port's uuid as group and a SECONDARY priority when ordering a redundant port.
      Parameters:
      redundancy - the redundancy configuration
      Returns:
      this builder
    • withPackage

      public PortOperator.PortBuilder withPackage(PackageRef portPackage)
      Sets the billing package for the port (Package: STANDARD, UNLIMITED or UNLIMITED_PLUS).
      Parameters:
      portPackage - the port package
      Returns:
      this builder
    • withNotifications

      public PortOperator.PortBuilder withNotifications(List<PortNotification> notifications)
      Sets the notification preferences (PortNotification entries).
      Parameters:
      notifications - the notification preferences
      Returns:
      this builder
    • withPhysicalPorts

      public PortOperator.PortBuilder withPhysicalPorts(List<PhysicalPort> physicalPorts)
      Sets the physical ports that implement this port.
      Parameters:
      physicalPorts - the physical member ports
      Returns:
      this builder
    • withLoas

      public PortOperator.PortBuilder withLoas(List<PortLoa> loas)
      Sets the port letters of authorization (PortLoa entries).
      Parameters:
      loas - the port LOAs
      Returns:
      this builder
    • serviceCode

      public PortOperator.PortBuilder serviceCode(PortServiceCode serviceCode)
      Sets the service code identifying the service type associated with this port (CX, IX, IA or MC).
      Parameters:
      serviceCode - the service code
      Returns:
      this builder
    • create

      public Port create()