Skip to content

Retrieve an Existing Firewall

client.GPUDroplets.Firewalls.Get(ctx, firewallID) (*GPUDropletFirewallGetResponse, error)
get/v2/firewalls/{firewall_id}

To show information about an existing firewall, send a GET request to /v2/firewalls/$FIREWALL_ID.

ParametersExpand Collapse
firewallID string
formatuuid
ReturnsExpand Collapse
type GPUDropletFirewallGetResponse struct{…}
Firewall Firewalloptional
ID stringoptional

A unique ID that can be used to identify and reference a firewall.

CreatedAt Timeoptional

A time value given in ISO8601 combined date and time format that represents when the firewall was created.

formatdate-time
DropletIDs []int64optional

An array containing the IDs of the Droplets assigned to the firewall.

Requires droplet:read scope.

InboundRules []FirewallInboundRuleoptional
Ports string

The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. "8000-9000"), or "0" when all ports are open for a protocol. For ICMP rules this parameter will always return "0".

Protocol FirewallInboundRulesProtocol

The type of traffic to be allowed. This may be one of tcp, udp, or icmp.

Accepts one of the following:
const FirewallInboundRulesProtocolTcp FirewallInboundRulesProtocol = "tcp"
const FirewallInboundRulesProtocolUdp FirewallInboundRulesProtocol = "udp"
const FirewallInboundRulesProtocolIcmp FirewallInboundRulesProtocol = "icmp"

An object specifying locations from which inbound traffic will be accepted.

Addresses []stringoptional

An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic.

DropletIDs []int64optional

An array containing the IDs of the Droplets to which the firewall will allow traffic.

KubernetesIDs []stringoptional

An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic.

LoadBalancerUids []stringoptional

An array containing the IDs of the load balancers to which the firewall will allow traffic.

Tags []stringoptional

A flat array of tag names as strings to be applied to the resource. Tag names must exist in order to be referenced in a request.

Requires tag:create and tag:read scopes.

Name stringoptional

A human-readable name for a firewall. The name must begin with an alphanumeric character. Subsequent characters must either be alphanumeric characters, a period (.), or a dash (-).

OutboundRules []FirewallOutboundRuleoptional
Destinations FirewallRuleTarget

An object specifying locations to which outbound traffic that will be allowed.

Addresses []stringoptional

An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic.

DropletIDs []int64optional

An array containing the IDs of the Droplets to which the firewall will allow traffic.

KubernetesIDs []stringoptional

An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic.

LoadBalancerUids []stringoptional

An array containing the IDs of the load balancers to which the firewall will allow traffic.

Tags []stringoptional

A flat array of tag names as strings to be applied to the resource. Tag names must exist in order to be referenced in a request.

Requires tag:create and tag:read scopes.

Ports string

The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. "8000-9000"), or "0" when all ports are open for a protocol. For ICMP rules this parameter will always return "0".

Protocol FirewallOutboundRulesProtocol

The type of traffic to be allowed. This may be one of tcp, udp, or icmp.

Accepts one of the following:
const FirewallOutboundRulesProtocolTcp FirewallOutboundRulesProtocol = "tcp"
const FirewallOutboundRulesProtocolUdp FirewallOutboundRulesProtocol = "udp"
const FirewallOutboundRulesProtocolIcmp FirewallOutboundRulesProtocol = "icmp"
PendingChanges []FirewallPendingChangeoptional

An array of objects each containing the fields "droplet_id", "removing", and "status". It is provided to detail exactly which Droplets are having their security policies updated. When empty, all changes have been successfully applied.

DropletID int64optional
Removing booloptional
Status stringoptional
Status FirewallStatusoptional

A status string indicating the current state of the firewall. This can be "waiting", "succeeded", or "failed".

Accepts one of the following:
const FirewallStatusWaiting FirewallStatus = "waiting"
const FirewallStatusSucceeded FirewallStatus = "succeeded"
const FirewallStatusFailed FirewallStatus = "failed"
Tags []stringoptional

A flat array of tag names as strings to be applied to the resource. Tag names must exist in order to be referenced in a request.

Requires tag:create and tag:read scopes.

Retrieve an Existing Firewall
package main

import (
  "context"
  "fmt"

  "github.com/stainless-sdks/-go"
  "github.com/stainless-sdks/-go/option"
)

func main() {
  client := gradient.NewClient(
    option.WithAccessToken("My Access Token"),
  )
  firewall, err := client.GPUDroplets.Firewalls.Get(context.TODO(), "bb4b2611-3d72-467b-8602-280330ecd65c")
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", firewall.Firewall)
}
{
  "firewall": {
    "id": "bb4b2611-3d72-467b-8602-280330ecd65c",
    "created_at": "2020-05-23T21:24:00Z",
    "droplet_ids": [
      8043964
    ],
    "inbound_rules": [
      {
        "ports": "8000",
        "protocol": "tcp",
        "sources": {
          "addresses": [
            "1.2.3.4",
            "18.0.0.0/8"
          ],
          "droplet_ids": [
            8043964
          ],
          "kubernetes_ids": [
            "41b74c5d-9bd0-5555-5555-a57c495b81a3"
          ],
          "load_balancer_uids": [
            "4de7ac8b-495b-4884-9a69-1050c6793cd6"
          ],
          "tags": [
            "base-image",
            "prod"
          ]
        }
      }
    ],
    "name": "firewall",
    "outbound_rules": [
      {
        "destinations": {
          "addresses": [
            "1.2.3.4",
            "18.0.0.0/8"
          ],
          "droplet_ids": [
            8043964
          ],
          "kubernetes_ids": [
            "41b74c5d-9bd0-5555-5555-a57c495b81a3"
          ],
          "load_balancer_uids": [
            "4de7ac8b-495b-4884-9a69-1050c6793cd6"
          ],
          "tags": [
            "base-image",
            "prod"
          ]
        },
        "ports": "8000",
        "protocol": "tcp"
      }
    ],
    "pending_changes": [
      {
        "droplet_id": 8043964,
        "removing": false,
        "status": "waiting"
      }
    ],
    "status": "waiting",
    "tags": [
      "base-image",
      "prod"
    ]
  }
}
Returns Examples
{
  "firewall": {
    "id": "bb4b2611-3d72-467b-8602-280330ecd65c",
    "created_at": "2020-05-23T21:24:00Z",
    "droplet_ids": [
      8043964
    ],
    "inbound_rules": [
      {
        "ports": "8000",
        "protocol": "tcp",
        "sources": {
          "addresses": [
            "1.2.3.4",
            "18.0.0.0/8"
          ],
          "droplet_ids": [
            8043964
          ],
          "kubernetes_ids": [
            "41b74c5d-9bd0-5555-5555-a57c495b81a3"
          ],
          "load_balancer_uids": [
            "4de7ac8b-495b-4884-9a69-1050c6793cd6"
          ],
          "tags": [
            "base-image",
            "prod"
          ]
        }
      }
    ],
    "name": "firewall",
    "outbound_rules": [
      {
        "destinations": {
          "addresses": [
            "1.2.3.4",
            "18.0.0.0/8"
          ],
          "droplet_ids": [
            8043964
          ],
          "kubernetes_ids": [
            "41b74c5d-9bd0-5555-5555-a57c495b81a3"
          ],
          "load_balancer_uids": [
            "4de7ac8b-495b-4884-9a69-1050c6793cd6"
          ],
          "tags": [
            "base-image",
            "prod"
          ]
        },
        "ports": "8000",
        "protocol": "tcp"
      }
    ],
    "pending_changes": [
      {
        "droplet_id": 8043964,
        "removing": false,
        "status": "waiting"
      }
    ],
    "status": "waiting",
    "tags": [
      "base-image",
      "prod"
    ]
  }
}