Skip to content
DocsOpenAPI spec

    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. Only valid for the same VPC, filters and sort order.

    Limit param.Field[int64]Optional

    Maximum number of items to return

    maximum100
    minimum10
    Name param.Field[string]Optional

    Filter by a case-insensitive substring of the Firewall Rule name

    Protocol param.Field[FirewallRuleListParamsProtocol]Optional

    Filter by protocol

    const FirewallRuleListParamsProtocolTcp FirewallRuleListParamsProtocol = "tcp"
    const FirewallRuleListParamsProtocolUdp FirewallRuleListParamsProtocol = "udp"
    Sort param.Field[string]Optional

    Comma-separated sort terms in precedence order, each field:asc or field:desc. Fields: created_at, updated_at, name, status, protocol

    Status param.Field[FirewallRuleListParamsStatus]Optional

    Filter by Firewall Rule status

    const FirewallRuleListParamsStatusPending FirewallRuleListParamsStatus = "pending"
    const FirewallRuleListParamsStatusCreating FirewallRuleListParamsStatus = "creating"
    const FirewallRuleListParamsStatusUpdating FirewallRuleListParamsStatus = "updating"
    const FirewallRuleListParamsStatusReady FirewallRuleListParamsStatus = "ready"
    const FirewallRuleListParamsStatusDeleting FirewallRuleListParamsStatus = "deleting"
    const FirewallRuleListParamsStatusError FirewallRuleListParamsStatus = "error"
    Tags param.Field[[]string]Optional

    Filter by tags. Repeat the parameter to require several tags; a Firewall Rule must carry all of them.

    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.

    ManagedBy FirewallRuleManagedBy

    What manages the resource, or null when nothing does. A managed resource can be read but not changed.

    ID string

    ID of the thing managing the resource.

    Type string

    Kind of thing managing the resource.

    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"
          ],
          "managed_by": {
            "id": "123e4567-e89b-12d3-a456-426614174000",
            "type": "sandbox_environment"
          },
          "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"
          ],
          "managed_by": {
            "id": "123e4567-e89b-12d3-a456-426614174000",
            "type": "sandbox_environment"
          },
          "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
      }
    }