Skip to content
  • Auto
  • Light
  • Dark

Add

Add Rules to a Firewall
gpu_droplets.firewalls.rules.add(strfirewall_id, RuleAddParams**kwargs)
post/v2/firewalls/{firewall_id}/rules

To add additional access rules to a firewall, send a POST request to /v2/firewalls/$FIREWALL_ID/rules. The body of the request may include an inbound_rules and/or outbound_rules attribute containing an array of rules to be added.

No response body will be sent back, but the response code will indicate success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data.

ParametersExpand Collapse
firewall_id: str
inbound_rules: Optional[Iterable[InboundRule]]
ports: str

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: Literal["tcp", "udp", "icmp"]

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

Accepts one of the following:
"tcp"
"udp"
"icmp"

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

addresses: Optional[List[str]]

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

droplet_ids: Optional[List[int]]

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

kubernetes_ids: Optional[List[str]]

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

load_balancer_uids: Optional[List[str]]

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

tags: Optional[List[str]]

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.

outbound_rules: Optional[Iterable[OutboundRule]]
destinations: FirewallRuleTarget

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

addresses: Optional[List[str]]

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

droplet_ids: Optional[List[int]]

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

kubernetes_ids: Optional[List[str]]

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

load_balancer_uids: Optional[List[str]]

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

tags: Optional[List[str]]

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: str

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: Literal["tcp", "udp", "icmp"]

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

Accepts one of the following:
"tcp"
"udp"
"icmp"
Add Rules to a Firewall
from gradient import Gradient

client = Gradient()
client.gpu_droplets.firewalls.rules.add(
    firewall_id="bb4b2611-3d72-467b-8602-280330ecd65c",
    inbound_rules=[{
        "protocol": "tcp",
        "ports": "3306",
        "sources": {
            "droplet_ids": [49696269]
        },
    }],
    outbound_rules=[{
        "protocol": "tcp",
        "ports": "3306",
        "destinations": {
            "droplet_ids": [49696269]
        },
    }],
)
Returns Examples