Interface ServiceProfiles

All Known Implementing Classes:
ServiceProfilesImpl

public interface ServiceProfiles
Client interface for managing Equinix Fabric service profiles. Service profiles define the attributes and access configurations that providers publish for customers to connect to.
  • Method Details

    • list

      Lists all service profiles owned by the current account.
      Returns:
      a paginated list of service profiles
    • search

      Searches for service profiles using default filter and sort criteria.
      Returns:
      a paginated, filtered list of matching service profiles
    • search

      Searches for service profiles matching the specified filter criteria.
      Parameters:
      filter - the filter criteria to apply
      Returns:
      a paginated, filtered list of matching service profiles
    • search

      Searches for service profiles with the specified sort order.
      Parameters:
      sort - the sort criteria to apply
      Returns:
      a paginated, filtered list of matching service profiles
    • search

      Searches for service profiles matching the specified filter and sort criteria.
      Parameters:
      filter - the filter criteria to apply
      sort - the sort criteria to apply
      Returns:
      a paginated, filtered list of matching service profiles
    • getByUuid

      ServiceProfile getByUuid(String uuid)
      Retrieves a single service profile by its unique identifier.
      Parameters:
      uuid - the unique identifier of the service profile
      Returns:
      the service profile matching the given UUID
    • define

      Begins the fluent builder for creating a new service profile. Call methods on the returned builder to configure the profile, then call create().
      Parameters:
      serviceProfileType - the type of service profile to create
      Returns:
      a builder for configuring the new service profile
    • update

      Begins a fluent PATCH update of an existing service profile, e.g. serviceProfiles.update(uuid).name("New-Name").save().
      Parameters:
      uuid - the unique identifier of the service profile to update
      Returns:
      a fluent updater
    • createAction

      ServiceProfileAction createAction(String uuid, String type, String description)
      Accepts or rejects a pending update on a service profile.
      Parameters:
      uuid - the unique identifier of the service profile
      type - the action type (for example PROFILE_UPDATE_ACCEPTANCE or PROFILE_UPDATE_REJECTION)
      description - an optional description for the action (may be null)
      Returns:
      the action result
    • getMetros

      List<ServiceMetro> getMetros(String uuid)
      Lists the metros in which a service profile is available.
      Parameters:
      uuid - the unique identifier of the service profile
      Returns:
      the list of service metros
    • getEnvironments

      default List<ProviderEnvironment> getEnvironments(String serviceProfileUuid)
      Lists the provider environments of an IC_PROFILE service profile: GET /fabric/v4/serviceProfiles/{serviceProfileId}/environments (catalog operation getServiceProfileEnvironmentsByUuid).

      The endpoint is paginated with offset/limit query parameters. This method follows the server-reported pagination and issues one GET per page until the last page, so the returned list holds every environment. The list is an unmodifiable snapshot. A failure on any page propagates as EquinixServiceException (or its status-specific subclass) and no partial list is returned.

      The same objects are embedded in ServiceProfile.getEnvironments() when the profile itself is fetched.

      Beta: the operation and the ProviderEnvironment schema carry the Fabric v4 catalog's Beta marker (catalog fetched 2026-09-21). The behaviour for a profile whose type is not IC_PROFILE is not documented.

      Declared default so implementations of this interface written before the method existed still compile. The default throws; the client returned by Fabric.serviceProfiles() overrides it.

      Parameters:
      serviceProfileUuid - the unique identifier of the service profile
      Returns:
      every provider environment of the profile; empty if there are none
      Throws:
      IllegalArgumentException - if serviceProfileUuid is null or blank
      UnsupportedOperationException - if the implementation does not override this method
    • validateActivationKey

      default EnvironmentActionResponse validateActivationKey(String serviceProfileUuid, String environmentUuid, String activationKey)
      Validates an activation key against a provider environment: POST /fabric/v4/serviceProfiles/{serviceProfileId}/environments/{environmentId}/actions (catalog operation serviceProfileEnvironmentAction) with the body of the catalog's ValidateActivationKey example:
      {"type": "VALIDATE_ACTIVATION_KEY", "keyDetails": {"value": "<activationKey>"}}
      

      The key is sent unmodified and is not decoded. It is unrelated to an access point's authenticationKey. In the response, getState() is INACTIVE for a key that has not been used and ACTIVE for a key that has (EnvironmentActionStateEnum: "ACTIVE - already used , INACTIVE - not used"); isKeyUnused() tests for INACTIVE.

      Beta: the operation, ActivationKeyDetails and EnvironmentActionResponse carry the Fabric v4 catalog's Beta marker (catalog fetched 2026-09-21). The catalog publishes no response example and does not say how a malformed or unrecognised key is reported (an ACTIVE/INACTIVE body or a 400). A 4xx/5xx surfaces as EquinixServiceException or its status-specific subclass.

      The default wraps the key with ActivationKeyDetails.ofValue(activationKey) and delegates to validateActivationKey(String, String, ActivationKeyDetails).

      Parameters:
      serviceProfileUuid - the unique identifier of the IC_PROFILE service profile
      environmentUuid - the provider environment identifier, from getEnvironments(String)
      activationKey - the provider-encoded activation key
      Returns:
      the action response
      Throws:
      IllegalArgumentException - if any argument is null or blank
    • validateActivationKey

      default EnvironmentActionResponse validateActivationKey(String serviceProfileUuid, String environmentUuid, ActivationKeyDetails keyDetails)
      Variant of validateActivationKey(String, String, String) that sends a caller-built keyDetails object. The ActivationKeyDetails schema marks no property required or read-only, so providerId, accountId, bandwidth (Mbps) and region can be sent with value. Null properties are omitted.

      Beta: the catalog's only request example sends value alone. How the service treats the other properties on a request is unverified.

      Declared default for the same reason as getEnvironments(String). The default throws; the client returned by Fabric.serviceProfiles() overrides it.

      Parameters:
      serviceProfileUuid - the unique identifier of the IC_PROFILE service profile
      environmentUuid - the provider environment identifier
      keyDetails - the activation key details to send
      Returns:
      the action response
      Throws:
      IllegalArgumentException - if an identifier is null or blank
      NullPointerException - if keyDetails is null
      UnsupportedOperationException - if the implementation does not override this method