Sets the rules of a Firewall.
All existing rules will be overwritten. Pass an empty rules array to remove all rules.
The maximum amount of rules that can be defined is 50.
643 matches
100 actions
Hetzner Cloud
100 actions
Infrastructure/Hetzner Cloud
Sets the rules of a Firewall.
All existing rules will be overwritten. Pass an empty rules array to remove all rules.
The maximum amount of rules that can be defined is 50.
| Code | Description |
|---|---|
firewall_resource_not_found | The resource the Firewall should be attached to was not found |
{
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"rules": {
"type": "array",
"description": "Array of rules",
"items": {
"type": "object",
"required": [
"direction",
"protocol"
],
"properties": {
"description": {
"type": "string",
"description": "Description of the Rule"
},
"destination_ips": {
"type": "array",
"description": "List of permitted IPv4/IPv6 addresses in CIDR notation. Use `0.0.0.0/0` to allow all IPv4 addresses and `::/0` to allow all IPv6 addresses. You can specify 100 CIDRs at most.",
"items": {
"type": "string"
}
},
"direction": {
"type": "string",
"description": "Select traffic direction on which rule should be applied. Use `source_ips` for direction `in` and `destination_ips` for direction `out`.",
"enum": [
"in",
"out"
]
},
"port": {
"type": "string",
"description": "Port or port range to which traffic will be allowed, only applicable for protocols TCP and UDP. A port range can be specified by separating two ports with a dash, e.g `1024-5000`."
},
"protocol": {
"type": "string",
"description": "Type of traffic to allow",
"enum": [
"tcp",
"udp",
"icmp",
"esp",
"gre"
]
},
"source_ips": {
"type": "array",
"description": "List of permitted IPv4/IPv6 addresses in CIDR notation. Use `0.0.0.0/0` to allow all IPv4 addresses and `::/0` to allow all IPv6 addresses. You can specify 100 CIDRs at most.",
"items": {
"type": "string"
}
}
}
}
}
},
"required": [
"id",
"rules"
],
"additionalProperties": false
}{
"type": "object",
"required": [
"actions"
],
"properties": {
"actions": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"command",
"status",
"progress",
"started",
"finished",
"resources",
"error"
],
"properties": {
"command": {
"type": "string",
"description": "Command executed in the Action"
},
"error": {
"type": "object",
"description": "Error message for the Action if error occurred, otherwise null",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"description": "Fixed machine readable code"
},
"message": {
"type": "string",
"description": "Humanized error message"
}
}
},
"finished": {
"type": "string",
"description": "Point in time when the Action was finished (in ISO-8601 format). Only set if the Action is finished otherwise null."
},
"id": {
"type": "integer",
"description": "ID of the Resource"
},
"progress": {
"type": "number",
"description": "Progress of Action in percent"
},
"resources": {
"type": "array",
"description": "Resources the Action relates to",
"items": {
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"description": "ID of the Resource"
},
"type": {
"type": "string",
"description": "Type of resource referenced"
}
}
}
},
"started": {
"type": "string",
"description": "Point in time when the Action was started (in ISO-8601 format)"
},
"status": {
"type": "string",
"description": "Status of the Action",
"enum": [
"success",
"running",
"error"
]
}
}
}
},
"meta": {
"type": "object",
"required": [
"pagination"
],
"properties": {
"pagination": {
"type": "object",
"required": [
"last_page",
"next_page",
"page",
"per_page",
"previous_page",
"total_entries"
],
"properties": {
"last_page": {
"type": "number",
"description": "ID of the last page available. Can be null if the current page is the last one."
},
"next_page": {
"type": "number",
"description": "ID of the next page. Can be null if the current page is the last one."
},
"page": {
"type": "number",
"description": "Current page number"
},
"per_page": {
"type": "number",
"description": "Maximum number of items shown per page in the response"
},
"previous_page": {
"type": "number",
"description": "ID of the previous page. Can be null if the current page is the first one."
},
"total_entries": {
"type": "number",
"description": "The total number of entries that exist in the database for this query. Nullable if unknown."
}
}
}
}
}
}
}