1. Packages
  2. Packages
  3. Scaleway
  4. API Docs
  5. interlink
  6. getPops
Viewing docs for Scaleway v1.48.0
published on Wednesday, Apr 29, 2026 by pulumiverse
scaleway logo
Viewing docs for Scaleway v1.48.0
published on Wednesday, Apr 29, 2026 by pulumiverse

    Gets information about multiple Interlink PoPs (Points of Presence).

    A PoP is a physical location where Scaleway infrastructure connects to external networks. Use this data source to list and filter available PoPs for creating interlink connections.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as scaleway from "@pulumiverse/scaleway";
    
    // List all PoPs in a region
    const all = scaleway.interlink.getPops({
        region: "fr-par",
    });
    // List PoPs with a specific hosting provider name
    const byHostingProviderName = scaleway.interlink.getPops({
        hostingProviderName: "OpCore",
    });
    // List PoPs with dedicated connections available
    const dedicated = scaleway.interlink.getPops({
        dedicatedAvailable: true,
    });
    
    import pulumi
    import pulumi_scaleway as scaleway
    
    # List all PoPs in a region
    all = scaleway.interlink.get_pops(region="fr-par")
    # List PoPs with a specific hosting provider name
    by_hosting_provider_name = scaleway.interlink.get_pops(hosting_provider_name="OpCore")
    # List PoPs with dedicated connections available
    dedicated = scaleway.interlink.get_pops(dedicated_available=True)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/interlink"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// List all PoPs in a region
    		_, err := interlink.GetPops(ctx, &interlink.GetPopsArgs{
    			Region: pulumi.StringRef("fr-par"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		// List PoPs with a specific hosting provider name
    		_, err = interlink.GetPops(ctx, &interlink.GetPopsArgs{
    			HostingProviderName: pulumi.StringRef("OpCore"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		// List PoPs with dedicated connections available
    		_, err = interlink.GetPops(ctx, &interlink.GetPopsArgs{
    			DedicatedAvailable: pulumi.BoolRef(true),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Scaleway = Pulumiverse.Scaleway;
    
    return await Deployment.RunAsync(() => 
    {
        // List all PoPs in a region
        var all = Scaleway.Interlink.GetPops.Invoke(new()
        {
            Region = "fr-par",
        });
    
        // List PoPs with a specific hosting provider name
        var byHostingProviderName = Scaleway.Interlink.GetPops.Invoke(new()
        {
            HostingProviderName = "OpCore",
        });
    
        // List PoPs with dedicated connections available
        var dedicated = Scaleway.Interlink.GetPops.Invoke(new()
        {
            DedicatedAvailable = true,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.scaleway.interlink.InterlinkFunctions;
    import com.pulumi.scaleway.interlink.inputs.GetPopsArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            // List all PoPs in a region
            final var all = InterlinkFunctions.getPops(GetPopsArgs.builder()
                .region("fr-par")
                .build());
    
            // List PoPs with a specific hosting provider name
            final var byHostingProviderName = InterlinkFunctions.getPops(GetPopsArgs.builder()
                .hostingProviderName("OpCore")
                .build());
    
            // List PoPs with dedicated connections available
            final var dedicated = InterlinkFunctions.getPops(GetPopsArgs.builder()
                .dedicatedAvailable(true)
                .build());
    
        }
    }
    
    variables:
      # List all PoPs in a region
      all:
        fn::invoke:
          function: scaleway:interlink:getPops
          arguments:
            region: fr-par
      # List PoPs with a specific hosting provider name
      byHostingProviderName:
        fn::invoke:
          function: scaleway:interlink:getPops
          arguments:
            hostingProviderName: OpCore
      # List PoPs with dedicated connections available
      dedicated:
        fn::invoke:
          function: scaleway:interlink:getPops
          arguments:
            dedicatedAvailable: true
    

    Using getPops

    Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

    function getPops(args: GetPopsArgs, opts?: InvokeOptions): Promise<GetPopsResult>
    function getPopsOutput(args: GetPopsOutputArgs, opts?: InvokeOptions): Output<GetPopsResult>
    def get_pops(dedicated_available: Optional[bool] = None,
                 hosting_provider_name: Optional[str] = None,
                 link_bandwidth_mbps: Optional[int] = None,
                 name: Optional[str] = None,
                 partner_id: Optional[str] = None,
                 region: Optional[str] = None,
                 opts: Optional[InvokeOptions] = None) -> GetPopsResult
    def get_pops_output(dedicated_available: Optional[pulumi.Input[bool]] = None,
                 hosting_provider_name: Optional[pulumi.Input[str]] = None,
                 link_bandwidth_mbps: Optional[pulumi.Input[int]] = None,
                 name: Optional[pulumi.Input[str]] = None,
                 partner_id: Optional[pulumi.Input[str]] = None,
                 region: Optional[pulumi.Input[str]] = None,
                 opts: Optional[InvokeOptions] = None) -> Output[GetPopsResult]
    func GetPops(ctx *Context, args *GetPopsArgs, opts ...InvokeOption) (*GetPopsResult, error)
    func GetPopsOutput(ctx *Context, args *GetPopsOutputArgs, opts ...InvokeOption) GetPopsResultOutput

    > Note: This function is named GetPops in the Go SDK.

    public static class GetPops 
    {
        public static Task<GetPopsResult> InvokeAsync(GetPopsArgs args, InvokeOptions? opts = null)
        public static Output<GetPopsResult> Invoke(GetPopsInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetPopsResult> getPops(GetPopsArgs args, InvokeOptions options)
    public static Output<GetPopsResult> getPops(GetPopsArgs args, InvokeOptions options)
    
    fn::invoke:
      function: scaleway:interlink/getPops:getPops
      arguments:
        # arguments dictionary

    The following arguments are supported:

    DedicatedAvailable bool
    Filter for PoPs with a dedicated connection available for self-hosted links.
    HostingProviderName string
    Hosting provider name to filter for.
    LinkBandwidthMbps int
    Filter for PoPs with a shared connection allowing this bandwidth size.
    Name string
    PoP name to filter for.
    PartnerId string
    Filter for PoPs hosting an available shared connection from this partner.
    Region string
    region) The region to list PoPs from.
    DedicatedAvailable bool
    Filter for PoPs with a dedicated connection available for self-hosted links.
    HostingProviderName string
    Hosting provider name to filter for.
    LinkBandwidthMbps int
    Filter for PoPs with a shared connection allowing this bandwidth size.
    Name string
    PoP name to filter for.
    PartnerId string
    Filter for PoPs hosting an available shared connection from this partner.
    Region string
    region) The region to list PoPs from.
    dedicatedAvailable Boolean
    Filter for PoPs with a dedicated connection available for self-hosted links.
    hostingProviderName String
    Hosting provider name to filter for.
    linkBandwidthMbps Integer
    Filter for PoPs with a shared connection allowing this bandwidth size.
    name String
    PoP name to filter for.
    partnerId String
    Filter for PoPs hosting an available shared connection from this partner.
    region String
    region) The region to list PoPs from.
    dedicatedAvailable boolean
    Filter for PoPs with a dedicated connection available for self-hosted links.
    hostingProviderName string
    Hosting provider name to filter for.
    linkBandwidthMbps number
    Filter for PoPs with a shared connection allowing this bandwidth size.
    name string
    PoP name to filter for.
    partnerId string
    Filter for PoPs hosting an available shared connection from this partner.
    region string
    region) The region to list PoPs from.
    dedicated_available bool
    Filter for PoPs with a dedicated connection available for self-hosted links.
    hosting_provider_name str
    Hosting provider name to filter for.
    link_bandwidth_mbps int
    Filter for PoPs with a shared connection allowing this bandwidth size.
    name str
    PoP name to filter for.
    partner_id str
    Filter for PoPs hosting an available shared connection from this partner.
    region str
    region) The region to list PoPs from.
    dedicatedAvailable Boolean
    Filter for PoPs with a dedicated connection available for self-hosted links.
    hostingProviderName String
    Hosting provider name to filter for.
    linkBandwidthMbps Number
    Filter for PoPs with a shared connection allowing this bandwidth size.
    name String
    PoP name to filter for.
    partnerId String
    Filter for PoPs hosting an available shared connection from this partner.
    region String
    region) The region to list PoPs from.

    getPops Result

    The following output properties are available:

    Id string
    The provider-assigned unique ID for this managed resource.
    Pops List<Pulumiverse.Scaleway.Interlink.Outputs.GetPopsPop>
    List of PoPs matching the filters. Each entry contains:
    DedicatedAvailable bool
    HostingProviderName string
    Name of the PoP's hosting provider.
    LinkBandwidthMbps int
    Name string
    Name of the PoP.
    PartnerId string
    Region string
    Region of the PoP.
    Id string
    The provider-assigned unique ID for this managed resource.
    Pops []GetPopsPop
    List of PoPs matching the filters. Each entry contains:
    DedicatedAvailable bool
    HostingProviderName string
    Name of the PoP's hosting provider.
    LinkBandwidthMbps int
    Name string
    Name of the PoP.
    PartnerId string
    Region string
    Region of the PoP.
    id String
    The provider-assigned unique ID for this managed resource.
    pops List<GetPopsPop>
    List of PoPs matching the filters. Each entry contains:
    dedicatedAvailable Boolean
    hostingProviderName String
    Name of the PoP's hosting provider.
    linkBandwidthMbps Integer
    name String
    Name of the PoP.
    partnerId String
    region String
    Region of the PoP.
    id string
    The provider-assigned unique ID for this managed resource.
    pops GetPopsPop[]
    List of PoPs matching the filters. Each entry contains:
    dedicatedAvailable boolean
    hostingProviderName string
    Name of the PoP's hosting provider.
    linkBandwidthMbps number
    name string
    Name of the PoP.
    partnerId string
    region string
    Region of the PoP.
    id str
    The provider-assigned unique ID for this managed resource.
    pops Sequence[GetPopsPop]
    List of PoPs matching the filters. Each entry contains:
    dedicated_available bool
    hosting_provider_name str
    Name of the PoP's hosting provider.
    link_bandwidth_mbps int
    name str
    Name of the PoP.
    partner_id str
    region str
    Region of the PoP.
    id String
    The provider-assigned unique ID for this managed resource.
    pops List<Property Map>
    List of PoPs matching the filters. Each entry contains:
    dedicatedAvailable Boolean
    hostingProviderName String
    Name of the PoP's hosting provider.
    linkBandwidthMbps Number
    name String
    Name of the PoP.
    partnerId String
    region String
    Region of the PoP.

    Supporting Types

    GetPopsPop

    Address string
    Physical address of the PoP.
    AvailableLinkBandwidthsMbps List<int>
    List of available bandwidth options in Mbps.
    City string
    City where the PoP is located.
    DisplayName string
    Human-readable display name.
    HostingProviderName string
    Hosting provider name to filter for.
    Id string
    ID of the PoP.
    LogoUrl string
    URL of the PoP's logo.
    Name string
    PoP name to filter for.
    Region string
    region) The region to list PoPs from.
    Address string
    Physical address of the PoP.
    AvailableLinkBandwidthsMbps []int
    List of available bandwidth options in Mbps.
    City string
    City where the PoP is located.
    DisplayName string
    Human-readable display name.
    HostingProviderName string
    Hosting provider name to filter for.
    Id string
    ID of the PoP.
    LogoUrl string
    URL of the PoP's logo.
    Name string
    PoP name to filter for.
    Region string
    region) The region to list PoPs from.
    address String
    Physical address of the PoP.
    availableLinkBandwidthsMbps List<Integer>
    List of available bandwidth options in Mbps.
    city String
    City where the PoP is located.
    displayName String
    Human-readable display name.
    hostingProviderName String
    Hosting provider name to filter for.
    id String
    ID of the PoP.
    logoUrl String
    URL of the PoP's logo.
    name String
    PoP name to filter for.
    region String
    region) The region to list PoPs from.
    address string
    Physical address of the PoP.
    availableLinkBandwidthsMbps number[]
    List of available bandwidth options in Mbps.
    city string
    City where the PoP is located.
    displayName string
    Human-readable display name.
    hostingProviderName string
    Hosting provider name to filter for.
    id string
    ID of the PoP.
    logoUrl string
    URL of the PoP's logo.
    name string
    PoP name to filter for.
    region string
    region) The region to list PoPs from.
    address str
    Physical address of the PoP.
    available_link_bandwidths_mbps Sequence[int]
    List of available bandwidth options in Mbps.
    city str
    City where the PoP is located.
    display_name str
    Human-readable display name.
    hosting_provider_name str
    Hosting provider name to filter for.
    id str
    ID of the PoP.
    logo_url str
    URL of the PoP's logo.
    name str
    PoP name to filter for.
    region str
    region) The region to list PoPs from.
    address String
    Physical address of the PoP.
    availableLinkBandwidthsMbps List<Number>
    List of available bandwidth options in Mbps.
    city String
    City where the PoP is located.
    displayName String
    Human-readable display name.
    hostingProviderName String
    Hosting provider name to filter for.
    id String
    ID of the PoP.
    logoUrl String
    URL of the PoP's logo.
    name String
    PoP name to filter for.
    region String
    region) The region to list PoPs from.

    Package Details

    Repository
    scaleway pulumiverse/pulumi-scaleway
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the scaleway Terraform Provider.
    scaleway logo
    Viewing docs for Scaleway v1.48.0
    published on Wednesday, Apr 29, 2026 by pulumiverse
      Try Pulumi Cloud free. Your team will thank you.