firewalls
Creates, updates, deletes, gets or lists a firewalls resource.
Overview
| Name | firewalls |
| Type | Resource |
| Id | linode.linode.firewalls |
Fields
The following fields are returned by SELECT queries:
- list
Returns a paginated list of Firewalls assigned to this Linode.
| Name | Datatype | Description |
|---|---|---|
id | integer | Filterable, Read-only The Firewall's unique ID. |
created | string (date-time) | Filterable, Read-only When this Firewall was created. (example: 2025-01-01T00:01:01) |
entities | array | Read-only The Linodes, NodeBalancers, and Linode interfaces this firewall is assigned to. |
label | string | Filterable The Firewall's label, for display purposes only. Firewall labels have the following constraints: - Must begin and end with an alphanumeric character. - May only consist of alphanumeric characters, hyphens (-), underscores (_) or periods (.). - Cannot have two hyphens (--), underscores (__) or periods (..) in a row. - Must be between 3 and 32 characters. - Must be unique. (example: firewall123, pattern: ^[a-zA-Z]((?!--|__|..)[a-zA-Z0-9-_.])+$) |
rules | object | The inbound and outbound access rules to apply to the Firewall. A Firewall may have up to 25 rules across its inbound and outbound rulesets. Multiple rules are applied in order. If two rules conflict, the first rule takes precedence. For example, if the first rule accepts inbound traffic from an address, and the second rule drops inbound traffic the same address, the first rule applies and inbound traffic from that address is accepted. |
status | string | Read-only The status of this Firewall. - When a Firewall is first created its status is enabled. - Run the Update a firewall operation to set a Firewall's status to enabled or disabled. - Run the Delete a firewall operation to delete a Firewall. (enabled, disabled, deleted) (example: enabled) |
tags | array | Filterable An array of tags applied to this object. Tags are for organizational purposes only. |
updated | string (date-time) | Filterable, Read-only When this Firewall was last updated. (example: 2025-01-02T00:01:01) |
Methods
The following methods are available for this resource:
| Name | Accessible by | Required Params | Optional Params | Description |
|---|---|---|---|---|
list | select | linodeId | page, page_size | View Firewall information for Firewalls assigned to this Linode. Learn more... Learn more... |
update | replace | linodeId, firewall_ids | page, page_size | Replace the current list of assigned firewalls with a new list, or provide an empty list to remove all firewalls from this Linode. Learn more... Learn more... |
apply | exec | linodeId | Reapply assigned firewalls to a Linode in case they were not applied successfully. The firewall_apply event indicates if the firewalls were applied.Learn more... Learn more... |
Parameters
Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.
| Name | Datatype | Description |
|---|---|---|
linodeId | string | The ID of the Linode. |
page | integer | The page of a collection to return. |
page_size | integer | The number of items to return per page. |
SELECT examples
- list
View Firewall information for Firewalls assigned to this Linode.
Learn more...
Learn more...
SELECT
id,
created,
entities,
label,
rules,
status,
tags,
updated
FROM linode.linode.firewalls
WHERE linodeId = '{{ linodeId }}' -- required
AND page = '{{ page }}'
AND page_size = '{{ page_size }}'
;
REPLACE examples
- update
Replace the current list of assigned firewalls with a new list, or provide an empty list to remove all firewalls from this Linode.
Learn more...
Learn more...
REPLACE linode.linode.firewalls
SET
firewall_ids = '{{ firewall_ids }}'
WHERE
linodeId = '{{ linodeId }}' --required
AND firewall_ids = '{{ firewall_ids }}' --required
AND page = '{{ page}}'
AND page_size = '{{ page_size}}'
RETURNING
data,
page,
pages,
results;
Lifecycle Methods
- apply
Reapply assigned firewalls to a Linode in case they were not applied successfully.
The firewall_apply event indicates if the firewalls were applied.
Learn more...
Learn more...
EXEC linode.linode.firewalls.apply
@linodeId='{{ linodeId }}' --required
;