Skip to content
Docs

    List Regions

    client.regions.list(RegionListParams { cursor, limit } query?, RequestOptionsoptions?): Cursor<Region { availability, compute, name, 3 more } >
    GET/v1/regions

    List all regions

    ParametersExpand Collapse
    query: RegionListParams { cursor, limit }
    cursor?: string

    Pagination cursor returned by a previous request

    limit?: number

    Maximum number of items to return

    maximum100
    minimum10
    ReturnsExpand Collapse
    Region { availability, compute, name, 3 more }

    Region response with product availability.

    availability: RegionAvailability

    Availability status of the region.

    One of the following:
    "live"
    "preview"
    "maintenance"
    "sunset"
    compute: Compute { vms }

    Compute products available in this region.

    vms: boolean

    VMs indicates if Virtual Machines are available.

    name: string

    Name of the region.

    networking: Networking { connect, vpcs }

    Networking products available in this region.

    connect: boolean

    Connect indicates if Nirvana Connect is available.

    vpcs: boolean

    VPCs indicates if Virtual Private Clouds are available.

    nks: NKS { autoscaling, clusters }

    NKS products available in this region.

    autoscaling: boolean

    Autoscaling indicates if NKS node pool autoscaling is available.

    clusters: boolean

    Clusters indicates if NKS managed Kubernetes clusters are available.

    storage: Storage { abs, local_nvme }

    Storage products available in this region.

    abs: boolean

    ABS indicates if Accelerated Block Storage is available.

    local_nvme: boolean

    LocalNVMe indicates if locally-attached NVMe storage is available.

    List Regions

    import NirvanaLabs from '@nirvana-labs/nirvana';
    
    const client = new NirvanaLabs({
      apiKey: process.env['NIRVANA_LABS_API_KEY'], // This is the default and can be omitted
    });
    
    // Automatically fetches more pages as needed.
    for await (const region of client.regions.list()) {
      console.log(region.availability);
    }
    {
      "items": [
        {
          "availability": "live",
          "compute": {
            "vms": true
          },
          "name": "us-sva-2",
          "networking": {
            "connect": true,
            "vpcs": true
          },
          "nks": {
            "autoscaling": false,
            "clusters": false
          },
          "storage": {
            "abs": false,
            "local_nvme": true
          }
        }
      ],
      "pagination": {
        "next_cursor": "RhwniMT4B74siYZcPF8TnCdGI1l9rpPvg",
        "previous_cursor": "ARhwnmi1hA7wEbHbMjdYQlOB_ZusP4fYvw",
        "total_count": 125
      }
    }
    Returns Examples
    {
      "items": [
        {
          "availability": "live",
          "compute": {
            "vms": true
          },
          "name": "us-sva-2",
          "networking": {
            "connect": true,
            "vpcs": true
          },
          "nks": {
            "autoscaling": false,
            "clusters": false
          },
          "storage": {
            "abs": false,
            "local_nvme": true
          }
        }
      ],
      "pagination": {
        "next_cursor": "RhwniMT4B74siYZcPF8TnCdGI1l9rpPvg",
        "previous_cursor": "ARhwnmi1hA7wEbHbMjdYQlOB_ZusP4fYvw",
        "total_count": 125
      }
    }