Saltar al contenido
NimbusNexus

Routers

A router is what gives a tenant network (and its subnets) internet access. VMs attached to a tenant subnet can't reach the public internet on their own — they're on a private L2 segment. A router bridges that segment to the region's external network, doing NAT for outbound traffic and (optionally) hosting floating IPs for inbound.

When you need a router

  • Public-facing VMs on a tenant network. Attach a router, then allocate + attach a floating IP. Outbound traffic NATs through the router; inbound on the floating IP routes back to the VM.
  • Mixed private/public app tiers. Web tier sits behind a router with a floating IP; app + db tiers stay private and reach the internet (for things like package updates) via the router's source-NAT.
  • Multi-subnet routing. A router can serve multiple subnets simultaneously. Traffic between two subnets on the same router is intra-VPC, never leaves NimbusNexus, and isn't billed as egress.

If you're attaching VMs directly to the external network, you don't need a router — the external network IS the gateway.

SNAT, DNAT, and floating IPs

A router has one external gateway connection (to the region's external network) and zero or more internal connections (to tenant subnets).

  • Outbound from a private VM → router does source-NAT to the router's external IP. Multiple private VMs share that one external IP for outbound.
  • Inbound to a floating IP → router does destination-NAT to the private VM the floating IP is attached to. The private VM sees the original source IP (we preserve client IP through the NAT for inbound; only outbound SNATs).

You don't configure NAT directly; the router handles it based on which subnets are attached and which floating IPs you've created.

Static routes

A router carries a static-route table you can populate for non-default destinations — e.g. routing one subnet's traffic for a specific CIDR through a different VM (a VPN appliance, a transparent proxy). Most users never touch this; it's there for the advanced VPC layouts that need it.

What's next

  • Networks and Subnets — what routers connect.
  • Floating IPs — inbound public addresses that ride on a router.
  • Security groups — the firewall layer applied at the VM interface (the router itself doesn't filter).

Reference

GET/api/v1/router/

List Routers

Lists virtual routers owned by the project.

Parameters

NameInRequiredDescription
admin_domainqueryno—
admin_projectqueryno—
namequeryno—
descriptionqueryno—
admin_state_upqueryno—

Responses

  • 200Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found
  • 422Validation error
  • 429Too Many Requests
  • 500Internal Server Error

https://api.nimbusnexus.net/api/v1/router/

POST/api/v1/router/

Create Router

Creates a virtual router, attaching a bandwidth-billed QoS policy when an external gateway is provided.

Request body

JSON body required.

Responses

  • 201Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 403Forbidden
  • 422Validation error
  • 429Too Many Requests
  • 500Internal Server Error

https://api.nimbusnexus.net/api/v1/router/

GET/api/v1/router/artifacts

Router Artifacts

Returns external networks and project subnets usable when creating a router.

Parameters

NameInRequiredDescription
admin_domainqueryno—
admin_projectqueryno—
namequeryno—
descriptionqueryno—
admin_state_upqueryno—

Responses

  • 200Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 403Forbidden
  • 422Validation error
  • 429Too Many Requests
  • 500Internal Server Error

https://api.nimbusnexus.net/api/v1/router/artifacts

GET/api/v1/router/{router_id}

Get Router

Returns the details of a single virtual router by ID.

Parameters

NameInRequiredDescription
router_idpathyes—

Responses

  • 200Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found
  • 422Validation error
  • 429Too Many Requests
  • 500Internal Server Error

https://api.nimbusnexus.net/api/v1/router/{router_id}

PUT/api/v1/router/{router_id}

Update Router

Updates a virtual router and refreshes its bandwidth-billed QoS policy when the external gateway changes.

Parameters

NameInRequiredDescription
router_idpathyes—

Request body

JSON body required.

Responses

  • 200Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found
  • 409Conflict
  • 422Validation error
  • 429Too Many Requests
  • 500Internal Server Error

https://api.nimbusnexus.net/api/v1/router/{router_id}

DELETE/api/v1/router/{router_id}

Delete Router

Deletes a virtual router by ID.

Parameters

NameInRequiredDescription
router_idpathyes—

Responses

  • 204Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found
  • 422Validation Error
  • 429Too Many Requests
  • 500Internal Server Error

https://api.nimbusnexus.net/api/v1/router/{router_id}

PUT/api/v1/router/{router_id}/extraroutes

Add Extra Routes

Atomically adds extra static routes to a virtual router's routing table.

Parameters

NameInRequiredDescription
router_idpathyes—

Request body

JSON body required.

Responses

  • 200Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found
  • 409Conflict
  • 422Validation error
  • 429Too Many Requests
  • 500Internal Server Error

https://api.nimbusnexus.net/api/v1/router/{router_id}/extraroutes

DELETE/api/v1/router/{router_id}/extraroutes

Remove Extra Routes

Atomically removes extra static routes from a virtual router's routing table.

Parameters

NameInRequiredDescription
router_idpathyes—

Request body

JSON body required.

Responses

  • 200Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found
  • 409Conflict
  • 422Validation error
  • 429Too Many Requests
  • 500Internal Server Error

https://api.nimbusnexus.net/api/v1/router/{router_id}/extraroutes

GET/api/v1/router/{router_id}/extraroutes/artifacts

Extra Routes Artifacts

Returns artifacts of router interfaces to specify a correct next hop for extra routes.

Parameters

NameInRequiredDescription
router_idpathyes—

Responses

  • 200Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found
  • 409Conflict
  • 422Validation error
  • 429Too Many Requests
  • 500Internal Server Error

https://api.nimbusnexus.net/api/v1/router/{router_id}/extraroutes/artifacts

GET/api/v1/router/{router_id}/interface

List Router Interfaces

Lists the interfaces (ports) currently attached to a virtual router.

Parameters

NameInRequiredDescription
router_idpathyes—

Responses

  • 200Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 403Forbidden
  • 422Validation error
  • 429Too Many Requests
  • 500Internal Server Error

https://api.nimbusnexus.net/api/v1/router/{router_id}/interface

PUT/api/v1/router/{router_id}/interface

Add Router Interface

Attaches a subnet or port to a virtual router as a new interface.

Parameters

NameInRequiredDescription
router_idpathyes—

Request body

JSON body required.

Responses

  • 201Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found
  • 409Conflict
  • 422Validation error
  • 429Too Many Requests
  • 500Internal Server Error

https://api.nimbusnexus.net/api/v1/router/{router_id}/interface

GET/api/v1/router/{router_id}/interface/artifacts

Interface Artifacts

Returns the router's existing interfaces and the subnets that may be attached as new interfaces.

Parameters

NameInRequiredDescription
router_idpathyes—
admin_domainqueryno—
admin_projectqueryno—
scope_current_projectqueryno—

Responses

  • 200Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 403Forbidden
  • 422Validation error
  • 429Too Many Requests
  • 500Internal Server Error

https://api.nimbusnexus.net/api/v1/router/{router_id}/interface/artifacts

DELETE/api/v1/router/{router_id}/interface/{port_id}

Remove Router Interface

Detaches an interface port from a virtual router.

Parameters

NameInRequiredDescription
router_idpathyes—
port_idpathyes—

Responses

  • 200Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found
  • 409Conflict
  • 422Validation error
  • 429Too Many Requests
  • 500Internal Server Error

https://api.nimbusnexus.net/api/v1/router/{router_id}/interface/{port_id}

Need to make a real call? Try these endpoints in the live Swagger UI →