# TunnelNode

> API reference for Tunnel Nodes (core.apoxy.dev/v1alpha)

**API Group:** `core.apoxy.dev/v1alpha`

## Operations

### List Tunnel Nodes

<APIEndpoint method="GET" path="/apis/core.apoxy.dev/v1alpha/tunnelnodes" />

List TunnelNode

**Response**

- `200`: OK

---

### Create Tunnel Node

<APIEndpoint method="POST" path="/apis/core.apoxy.dev/v1alpha/tunnelnodes" />

Create a TunnelNode

**Request Body**

Spec fields (`TunnelNodeSpec`):

| Field | Type | Description |
| --- | --- | --- |
| `egressGateway` | [EgressGatewaySpec](#egressgatewayspec) | Configures Egress Gateway mode on the Tunnel Node. In this mode, the Tunnel Node acts as a gateway for outbound connections originating from the Agent side in addition to its default mode (where the connections arrive in the direction of the Agent). |

**Response**

- `200`: OK
- `201`: Created
- `202`: Accepted

---

### Delete All Tunnel Nodes

<APIEndpoint method="DELETE" path="/apis/core.apoxy.dev/v1alpha/tunnelnodes" />

Delete collection of TunnelNode

**Response**

- `200`: OK

---

### Get Tunnel Node

<APIEndpoint method="GET" path="/apis/core.apoxy.dev/v1alpha/tunnelnodes/{name}" />

Get the specified TunnelNode

**Response**

- `200`: OK

---

### Replace Tunnel Node

<APIEndpoint method="PUT" path="/apis/core.apoxy.dev/v1alpha/tunnelnodes/{name}" />

Replace the specified TunnelNode

**Request Body**

Spec fields (`TunnelNodeSpec`):

| Field | Type | Description |
| --- | --- | --- |
| `egressGateway` | [EgressGatewaySpec](#egressgatewayspec) | Configures Egress Gateway mode on the Tunnel Node. In this mode, the Tunnel Node acts as a gateway for outbound connections originating from the Agent side in addition to its default mode (where the connections arrive in the direction of the Agent). |

**Response**

- `200`: OK
- `201`: Created

---

### Update Tunnel Node

<APIEndpoint method="PATCH" path="/apis/core.apoxy.dev/v1alpha/tunnelnodes/{name}" />

Partially update the specified TunnelNode

**Response**

- `200`: OK
- `201`: Created

---

### Delete Tunnel Node

<APIEndpoint method="DELETE" path="/apis/core.apoxy.dev/v1alpha/tunnelnodes/{name}" />

Delete a TunnelNode

**Response**

- `200`: OK
- `202`: Accepted

---

## Schema Reference

### EgressGatewaySpec

| Field | Type | Description |
| --- | --- | --- |
| `enabled` | boolean | Whether the egress gateway is enabled. Default is false. When enabled, the egress gateway will be used to route traffic from the tunnel node to the internet. Traffic will be SNAT'ed. |
