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
  }
}