Skip to content
Docs

    List Regions

    client.Regions.List(ctx, query) (*Cursor[Region], error)
    GET/v1/regions

    List all regions

    ParametersExpand Collapse
    query RegionListParams
    Cursor param.Field[string]Optional

    Pagination cursor returned by a previous request

    Limit param.Field[int64]Optional

    Maximum number of items to return

    maximum100
    minimum10
    ReturnsExpand Collapse
    type Region struct{…}

    Region response with product availability.

    Availability RegionAvailability

    Availability status of the region.

    One of the following:
    const RegionAvailabilityLive RegionAvailability = "live"
    const RegionAvailabilityPreview RegionAvailability = "preview"
    const RegionAvailabilityMaintenance RegionAvailability = "maintenance"
    const RegionAvailabilitySunset RegionAvailability = "sunset"
    Compute RegionCompute

    Compute products available in this region.

    VMs bool

    VMs indicates if Virtual Machines are available.

    Name string

    Name of the region.

    Networking RegionNetworking

    Networking products available in this region.

    Connect bool

    Connect indicates if Nirvana Connect is available.

    VPCs bool

    VPCs indicates if Virtual Private Clouds are available.

    NKS RegionNKS

    NKS products available in this region.

    Autoscaling bool

    Autoscaling indicates if NKS node pool autoscaling is available.

    Clusters bool

    Clusters indicates if NKS managed Kubernetes clusters are available.

    Storage RegionStorage

    Storage products available in this region.

    ABS bool

    ABS indicates if Accelerated Block Storage is available.

    LocalNvme bool

    LocalNVMe indicates if locally-attached NVMe storage is available.

    List Regions

    package main
    
    import (
      "context"
      "fmt"
    
      "github.com/nirvana-labs/nirvana-go"
      "github.com/nirvana-labs/nirvana-go/option"
      "github.com/nirvana-labs/nirvana-go/regions"
    )
    
    func main() {
      client := nirvana.NewClient(
        option.WithAPIKey("My API Key"),
      )
      page, err := client.Regions.List(context.TODO(), regions.RegionListParams{
    
      })
      if err != nil {
        panic(err.Error())
      }
      fmt.Printf("%+v\n", page)
    }
    
    {
      "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
      }
    }