Skip to main content

firewall_rules

Creates, updates, deletes, gets or lists a firewall_rules resource.

Overview​

Namefirewall_rules
TypeResource
Idovh.ip.firewall_rules

Fields​

The following fields are returned by SELECT queries:

successful operation

NameDatatypeDescription
actionstringAction on this rule (deny, permit)
creation_datestring (date-time) (wire: creationDate)
destinationstringDestination ip for your rule
destination_portstringDestination port range for your rule. Only with TCP/UDP protocol (wire: destinationPort)
fragmentsbooleanFragments option
l_3_packet_lengthstringIP packet's total length (wire: l3PacketLength)
protocolstringNetwork protocol (ah, esp, gre, icmp, ipv4, tcp, udp)
rulestring
sequenceinteger
sourcestringSource ip for your rule
source_portstringSource port range for your rule. Only with TCP/UDP protocol (wire: sourcePort)
statestringCurrent state of your rule (creationPending, ok, removalPending)
tcp_optionstringTCP option on your rule (wire: tcpOption)

Methods​

The following methods are available for this resource:

NameAccessible byRequired ParamsOptional ParamsDescription
getselectip, ip_on_firewall, sequenceGet a rule. Returns the rule's action, protocol, source, destination, ports, TCP options, fragments option, packet length and state.
listselectip, ip_on_firewallstate, x_pagination_modeList rules. Returns the sequence numbers of the address's firewall rules, filterable by state: creationPending, ok or removalPending.
createinsertip, ip_on_firewall, action, protocol, sequenceCreate a rule. Adds a permit or deny rule at sequence 0 to 19, matching protocol, source, ports or TCP options.
deletedeleteip, ip_on_firewall, sequenceDelete a rule. Removes the rule at this sequence from the address's firewall, and returns the deleted rule.

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.

NameDatatypeDescription
api_hoststringThe OVHcloud API host. Selected by OVH_ENDPOINT (ovh-eu, ovh-ca or ovh-us; default ovh-eu). (default: api.eu.ovhcloud.com, x-stackQL-envVarSelector: {"envVar":"OVH_ENDPOINT","default":"ovh-eu","values":{"ovh-eu":"api.eu.ovhcloud.com","ovh-ca":"api.ca.ovhcloud.com","ovh-us":"api.us.ovhcloud.com"}})
ipstring (ip-block)
ip_on_firewallstring (ipv4) (wire: ipOnFirewall)
sequenceinteger
statestringFilter the value of state property (=)
x_pagination_modestringSent as CachedObjectList-Pages by default so the list returns the full objects rather than their identifiers. (wire: X-Pagination-Mode)

SELECT examples​

Get a rule. Returns the rule's action, protocol, source, destination, ports, TCP options, fragments option, packet length and state.

SELECT
action,
creation_date,
destination,
destination_port,
fragments,
l_3_packet_length,
protocol,
rule,
sequence,
source,
source_port,
state,
tcp_option
FROM ovh.ip.firewall_rules
WHERE ip = '{{ ip }}' -- required
AND ip_on_firewall = '{{ ip_on_firewall }}' -- required
AND sequence = '{{ sequence }}' -- required
;

INSERT examples​

Create a rule. Adds a permit or deny rule at sequence 0 to 19, matching protocol, source, ports or TCP options.

INSERT INTO ovh.ip.firewall_rules (
action,
destination_port,
destination_port_range,
l_3_packet_length,
protocol,
sequence,
source,
source_port,
source_port_range,
tcp_option,
ip,
ip_on_firewall
)
SELECT
'{{ action }}' /* required */,
{{ destination_port }},
'{{ destination_port_range }}',
'{{ l_3_packet_length }}',
'{{ protocol }}' /* required */,
{{ sequence }} /* required */,
'{{ source }}',
{{ source_port }},
'{{ source_port_range }}',
'{{ tcp_option }}',
'{{ ip }}',
'{{ ip_on_firewall }}'
RETURNING
action,
creation_date,
destination,
destination_port,
fragments,
l_3_packet_length,
protocol,
rule,
sequence,
source,
source_port,
state,
tcp_option
;

DELETE examples​

Delete a rule. Removes the rule at this sequence from the address's firewall, and returns the deleted rule.

DELETE FROM ovh.ip.firewall_rules
WHERE ip = '{{ ip }}' --required
AND ip_on_firewall = '{{ ip_on_firewall }}' --required
AND sequence = '{{ sequence }}' --required
;