mirror of
https://github.com/outbackdingo/firezone.git
synced 2026-01-27 10:18:54 +00:00
204 lines
4.3 KiB
Plaintext
204 lines
4.3 KiB
Plaintext
---
|
|
title: Rules
|
|
group: Rules
|
|
---
|
|
|
|
|
|
This endpoint allows an adminisrator to manage Rules.
|
|
|
|
## API Documentation
|
|
### GET /v0/rules
|
|
|
|
|
|
|
|
#### Example
|
|
```bash
|
|
$ curl -i \
|
|
-X GET "https://{firezone_host}/v0/rules" \
|
|
-H 'Content-Type: application/json' \
|
|
-H 'Authorization: Bearer {api_token}' \
|
|
|
|
HTTP/1.1 200
|
|
Content-Type: application/json; charset=utf-8
|
|
|
|
{
|
|
"data": [
|
|
{
|
|
"action": "drop",
|
|
"destination": "10.3.2.1",
|
|
"id": "2a136a17-4d29-4d8b-a6d4-f35ee3051105",
|
|
"inserted_at": "2023-03-29T15:11:47.482818Z",
|
|
"port_range": null,
|
|
"port_type": null,
|
|
"updated_at": "2023-03-29T15:11:47.482818Z",
|
|
"user_id": null
|
|
},
|
|
{
|
|
"action": "drop",
|
|
"destination": "10.3.2.2",
|
|
"id": "7a4961bf-6b2b-4217-b87b-ffd1deb448ac",
|
|
"inserted_at": "2023-03-29T15:11:47.483506Z",
|
|
"port_range": null,
|
|
"port_type": null,
|
|
"updated_at": "2023-03-29T15:11:47.483506Z",
|
|
"user_id": null
|
|
},
|
|
{
|
|
"action": "drop",
|
|
"destination": "10.3.2.3",
|
|
"id": "6dffbc74-ec58-43ca-8700-d0c572baa198",
|
|
"inserted_at": "2023-03-29T15:11:47.484107Z",
|
|
"port_range": null,
|
|
"port_type": null,
|
|
"updated_at": "2023-03-29T15:11:47.484107Z",
|
|
"user_id": null
|
|
},
|
|
{
|
|
"action": "drop",
|
|
"destination": "10.3.2.4",
|
|
"id": "9bba129d-cdad-4efe-8296-b78ba50f3ef4",
|
|
"inserted_at": "2023-03-29T15:11:47.484759Z",
|
|
"port_range": null,
|
|
"port_type": null,
|
|
"updated_at": "2023-03-29T15:11:47.484759Z",
|
|
"user_id": null
|
|
},
|
|
{
|
|
"action": "drop",
|
|
"destination": "10.3.2.5",
|
|
"id": "df142fde-922c-4a6d-a8e4-0b145a875624",
|
|
"inserted_at": "2023-03-29T15:11:47.485540Z",
|
|
"port_range": null,
|
|
"port_type": null,
|
|
"updated_at": "2023-03-29T15:11:47.485540Z",
|
|
"user_id": null
|
|
}
|
|
]
|
|
}
|
|
```
|
|
### POST /v0/rules
|
|
|
|
|
|
|
|
#### Example
|
|
```bash
|
|
$ curl -i \
|
|
-X POST "https://{firezone_host}/v0/rules" \
|
|
-H 'Content-Type: application/json' \
|
|
-H 'Authorization: Bearer {api_token}' \
|
|
--data-binary @- << EOF
|
|
{
|
|
"rule": {
|
|
"action": "accept",
|
|
"destination": "1.1.1.1/24",
|
|
"port_range": "1 - 2",
|
|
"port_type": "udp",
|
|
"user_id": "def4dacc-6367-4320-a0fb-4675b9b571cf"
|
|
}
|
|
}'
|
|
EOF
|
|
|
|
HTTP/1.1 201
|
|
Content-Type: application/json; charset=utf-8
|
|
Location: /v0/rules/c52efbe6-5ed0-4514-97df-93f6013dd52b
|
|
|
|
{
|
|
"data": {
|
|
"action": "accept",
|
|
"destination": "1.1.1.1/24",
|
|
"id": "c52efbe6-5ed0-4514-97df-93f6013dd52b",
|
|
"inserted_at": "2023-03-29T15:11:47.185000Z",
|
|
"port_range": "1 - 2",
|
|
"port_type": "udp",
|
|
"updated_at": "2023-03-29T15:11:47.185000Z",
|
|
"user_id": "def4dacc-6367-4320-a0fb-4675b9b571cf"
|
|
}
|
|
}
|
|
```
|
|
### GET /v0/rules/{id}
|
|
|
|
|
|
|
|
#### Example
|
|
**URI Parameters:**
|
|
|
|
- `id`: `dd39b339-2ac4-4c83-96e5-9b29516dd85e`
|
|
```bash
|
|
$ curl -i \
|
|
-X GET "https://{firezone_host}/v0/rules/{id}" \
|
|
-H 'Content-Type: application/json' \
|
|
-H 'Authorization: Bearer {api_token}' \
|
|
|
|
HTTP/1.1 200
|
|
Content-Type: application/json; charset=utf-8
|
|
|
|
{
|
|
"data": {
|
|
"action": "drop",
|
|
"destination": "10.10.10.0/24",
|
|
"id": "dd39b339-2ac4-4c83-96e5-9b29516dd85e",
|
|
"inserted_at": "2023-03-29T15:11:47.447659Z",
|
|
"port_range": null,
|
|
"port_type": null,
|
|
"updated_at": "2023-03-29T15:11:47.447659Z",
|
|
"user_id": null
|
|
}
|
|
}
|
|
```
|
|
### PATCH /v0/rules/{id}
|
|
|
|
|
|
|
|
#### Example
|
|
**URI Parameters:**
|
|
|
|
- `id`: `720fdab6-32af-4487-bce5-e72fa76be829`
|
|
```bash
|
|
$ curl -i \
|
|
-X PUT "https://{firezone_host}/v0/rules/{id}" \
|
|
-H 'Content-Type: application/json' \
|
|
-H 'Authorization: Bearer {api_token}' \
|
|
--data-binary @- << EOF
|
|
{
|
|
"rule": {
|
|
"action": "accept",
|
|
"destination": "1.1.1.1/24",
|
|
"port_range": "1 - 2",
|
|
"port_type": "udp"
|
|
}
|
|
}'
|
|
EOF
|
|
|
|
HTTP/1.1 200
|
|
Content-Type: application/json; charset=utf-8
|
|
|
|
{
|
|
"data": {
|
|
"action": "accept",
|
|
"destination": "1.1.1.1/24",
|
|
"id": "720fdab6-32af-4487-bce5-e72fa76be829",
|
|
"inserted_at": "2023-03-29T15:11:47.243306Z",
|
|
"port_range": "1 - 2",
|
|
"port_type": "udp",
|
|
"updated_at": "2023-03-29T15:11:47.251589Z",
|
|
"user_id": null
|
|
}
|
|
}
|
|
```
|
|
### DELETE /v0/rules/{id}
|
|
|
|
|
|
|
|
#### Example
|
|
**URI Parameters:**
|
|
|
|
- `id`: `f5f10a6e-cfdd-47ea-ae23-264195b3503c`
|
|
```bash
|
|
$ curl -i \
|
|
-X DELETE "https://{firezone_host}/v0/rules/{id}" \
|
|
-H 'Content-Type: application/json' \
|
|
-H 'Authorization: Bearer {api_token}' \
|
|
|
|
HTTP/1.1 204
|
|
```
|