Skip to content
Docs

    List Firewall Rules

    client.Networking.FirewallRules.List(ctx, vpcID, query) (*Cursor[FirewallRule], error)
    GET/v1/networking/vpcs/{vpc_id}/firewall_rules

    List all firewall rules

    ParametersExpand Collapse
    vpcID string
    query FirewallRuleListParams
    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 FirewallRule struct{…}

    Firewall rule details.

    ID string

    Unique identifier for the Firewall Rule.

    CreatedAt Time

    When the Firewall Rule was created.

    formatdate-time
    DestinationAddress string

    Destination address of the Firewall Rule. Either VPC CIDR or VM in VPC.

    DestinationPorts []string

    Destination ports of the Firewall Rule.

    Name string

    Name of the Firewall Rule.

    Protocol FirewallRuleProtocol

    Protocol of the Firewall Rule.

    One of the following:
    const FirewallRuleProtocolTcp FirewallRuleProtocol = "tcp"
    const FirewallRuleProtocolUdp FirewallRuleProtocol = "udp"
    SourceAddress string

    Source address of the Firewall Rule. Address of 0.0.0.0 requires a CIDR mask of 0.

    Status of the resource.

    One of the following:
    const ResourceStatusPending ResourceStatus = "pending"
    const ResourceStatusCreating ResourceStatus = "creating"
    const ResourceStatusUpdating ResourceStatus = "updating"
    const ResourceStatusReady ResourceStatus = "ready"
    const ResourceStatusDeleting ResourceStatus = "deleting"
    const ResourceStatusDeleted ResourceStatus = "deleted"
    const ResourceStatusError ResourceStatus = "error"
    Tags []string

    Tags to attach to the Firewall Rule.

    UpdatedAt Time

    When the Firewall Rule was updated.

    formatdate-time
    VPCID string

    ID of the VPC the Firewall Rule belongs to.

    List Firewall Rules

    package main
    
    import (
      "context"
      "fmt"
    
      "github.com/nirvana-labs/nirvana-go"
      "github.com/nirvana-labs/nirvana-go/networking"
      "github.com/nirvana-labs/nirvana-go/option"
    )
    
    func main() {
      client := nirvana.NewClient(
        option.WithAPIKey("My API Key"),
      )
      page, err := client.Networking.FirewallRules.List(
        context.TODO(),
        "vpc_id",
        networking.FirewallRuleListParams{
    
        },
      )
      if err != nil {
        panic(err.Error())
      }
      fmt.Printf("%+v\n", page)
    }
    
    {
      "items": [
        {
          "id": "123e4567-e89b-12d3-a456-426614174000",
          "created_at": "2025-01-01T00:00:00Z",
          "destination_address": "10.0.0.0/25",
          "destination_ports": [
            "22",
            "80",
            "443"
          ],
          "name": "my-firewall-rule",
          "protocol": "tcp",
          "source_address": "0.0.0.0/0",
          "status": "ready",
          "tags": [
            "production",
            "ethereum"
          ],
          "updated_at": "2025-01-01T00:00:00Z",
          "vpc_id": "123e4567-e89b-12d3-a456-426614174000"
        }
      ],
      "pagination": {
        "next_cursor": "RhwniMT4B74siYZcPF8TnCdGI1l9rpPvg",
        "previous_cursor": "ARhwnmi1hA7wEbHbMjdYQlOB_ZusP4fYvw",
        "total_count": 125
      }
    }
    Returns Examples
    {
      "items": [
        {
          "id": "123e4567-e89b-12d3-a456-426614174000",
          "created_at": "2025-01-01T00:00:00Z",
          "destination_address": "10.0.0.0/25",
          "destination_ports": [
            "22",
            "80",
            "443"
          ],
          "name": "my-firewall-rule",
          "protocol": "tcp",
          "source_address": "0.0.0.0/0",
          "status": "ready",
          "tags": [
            "production",
            "ethereum"
          ],
          "updated_at": "2025-01-01T00:00:00Z",
          "vpc_id": "123e4567-e89b-12d3-a456-426614174000"
        }
      ],
      "pagination": {
        "next_cursor": "RhwniMT4B74siYZcPF8TnCdGI1l9rpPvg",
        "previous_cursor": "ARhwnmi1hA7wEbHbMjdYQlOB_ZusP4fYvw",
        "total_count": 125
      }
    }