Network API
Neutron v2.0 · Extension-based (no microversions) · OpenStack Antelope (2023.1)
Base URL: https://network.{region}.rumble.cloud
Upstream reference: OpenStack Network API ↗ · Error handling: API errors
All requests require a Keystone token in the
X-Auth-Token header. See Authentication for token issuance.Networks
GET
/v2.0/networksPOST
/v2.0/networksGET
/v2.0/networks/{network_id}PUT
/v2.0/networks/{network_id}DELETE
/v2.0/networks/{network_id}Examples
List networks
curl -s -H "X-Auth-Token: $TOKEN" \
https://network.us-east-1.rumble.cloud/v2.0/networks | jq '.networks[] | {id, name, status}'Create a network: request body
curl -s -X POST -H "X-Auth-Token: $TOKEN" \
-H "Content-Type: application/json" \
https://network.us-east-1.rumble.cloud/v2.0/networks \
-d '{
"network": {
"name": "my-network",
"admin_state_up": true
}
}'Key response fields: id, name, status, subnets, provider:network_type
Subnets
GET
/v2.0/subnetsPOST
/v2.0/subnetsGET
/v2.0/subnets/{subnet_id}PUT
/v2.0/subnets/{subnet_id}DELETE
/v2.0/subnets/{subnet_id}Examples
Create a subnet: request body
curl -s -X POST -H "X-Auth-Token: $TOKEN" \
-H "Content-Type: application/json" \
https://network.us-east-1.rumble.cloud/v2.0/subnets \
-d '{
"subnet": {
"network_id": "{network_id}",
"ip_version": 4,
"cidr": "192.168.1.0/24",
"name": "my-subnet"
}
}'Key response fields: id, cidr, gateway_ip, allocation_pools
Ports
Detailed guide →GET
/v2.0/portsPOST
/v2.0/portsGET
/v2.0/ports/{port_id}PUT
/v2.0/ports/{port_id}DELETE
/v2.0/ports/{port_id}Examples
Create a port: request body
curl -s -X POST -H "X-Auth-Token: $TOKEN" \
-H "Content-Type: application/json" \
https://network.us-east-1.rumble.cloud/v2.0/ports \
-d '{
"port": {
"network_id": "{network_id}",
"name": "my-port",
"admin_state_up": true
}
}'Key response fields: id, mac_address, fixed_ips, device_owner, security_groups
Routers
Detailed guide →GET
/v2.0/routersPOST
/v2.0/routersGET
/v2.0/routers/{router_id}PUT
/v2.0/routers/{router_id}DELETE
/v2.0/routers/{router_id}PUT
/v2.0/routers/{router_id}/add_router_interfacePUT
/v2.0/routers/{router_id}/remove_router_interfaceExamples
Create a router: request body
curl -s -X POST -H "X-Auth-Token: $TOKEN" \
-H "Content-Type: application/json" \
https://network.us-east-1.rumble.cloud/v2.0/routers \
-d '{
"router": {
"name": "my-router",
"admin_state_up": true
}
}'Add subnet interface to router
curl -s -X PUT -H "X-Auth-Token: $TOKEN" \
-H "Content-Type: application/json" \
https://network.us-east-1.rumble.cloud/v2.0/routers/{router_id}/add_router_interface \
-d '{ "subnet_id": "{subnet_id}" }'Key response fields: id, status, external_gateway_info, routes
Floating IPs
Detailed guide →GET
/v2.0/floatingipsPOST
/v2.0/floatingipsGET
/v2.0/floatingips/{floatingip_id}PUT
/v2.0/floatingips/{floatingip_id}DELETE
/v2.0/floatingips/{floatingip_id}Examples
Allocate a floating IP
curl -s -X POST -H "X-Auth-Token: $TOKEN" \
-H "Content-Type: application/json" \
https://network.us-east-1.rumble.cloud/v2.0/floatingips \
-d '{
"floatingip": {
"floating_network_id": "{external_network_id}"
}
}'Associate floating IP with a port
curl -s -X PUT -H "X-Auth-Token: $TOKEN" \
-H "Content-Type: application/json" \
https://network.us-east-1.rumble.cloud/v2.0/floatingips/{floatingip_id} \
-d '{ "floatingip": { "port_id": "{port_id}" } }'Key response fields: id, floating_ip_address, port_id, status