Skip to content

Attach network to a virtual machine

POST
/vm/{rid}/networks
curl --request POST \
--url https://sylve.lan:8181/api/vm/1/networks \
--header 'Authorization: <Authorization>' \
--header 'Content-Type: application/json' \
--data '{ "emulation": "example", "macId": 1, "switchName": "example" }'

Attach a network interface to a shut-off virtual machine

rid
required
integer
>= 1

Virtual Machine RID

Network attachment

Media typeapplication/json
object
emulation
required
string
macId
integer
switchName
required
string
Examplegenerated
{
"emulation": "example",
"macId": 1,
"switchName": "example"
}

Created

Media typeapplication/json
object
data
object
emulation
string
enable
boolean
id
integer
mac
string
macId
integer
macObj
object
autoUpdate
boolean
createdAt
string
description
string
entries
Array<object>
object
createdAt
string
id
integer
objectId
integer
updatedAt
string
value

IP, CIDR, port, country code, FQDN, etc.

string
id
integer
isUsed
boolean
isUsedBy

“”, “dhcp” for now

string
lastRefreshAt
string
lastRefreshError
string
name
string
refreshIntervalSeconds
integer
resolutionChecksum
string
resolutions
Array<object>
object
createdAt
string
id
integer
objectId
integer
resolvedIp

Deprecated mirror for resolved IP entries

string
resolvedValue
string
updatedAt
string
sourceChecksum
string
type

“Host”, “Mac”, “Network”, “Port”, “Country”, “List”, “FQDN”, “DUID”

string
updatedAt
string
manualSwitch
object
bridge
string
createdAt
string
id
integer
name
string
updatedAt
string
standardSwitch
object
address
string
address6
string
address6Id
integer
address6Obj
object
autoUpdate
boolean
createdAt
string
description
string
entries
Array<object>
object
createdAt
string
id
integer
objectId
integer
updatedAt
string
value

IP, CIDR, port, country code, FQDN, etc.

string
id
integer
isUsed
boolean
isUsedBy

“”, “dhcp” for now

string
lastRefreshAt
string
lastRefreshError
string
name
string
refreshIntervalSeconds
integer
resolutionChecksum
string
resolutions
Array<object>
object
createdAt
string
id
integer
objectId
integer
resolvedIp

Deprecated mirror for resolved IP entries

string
resolvedValue
string
updatedAt
string
sourceChecksum
string
type

“Host”, “Mac”, “Network”, “Port”, “Country”, “List”, “FQDN”, “DUID”

string
updatedAt
string
addressId
integer
addressObj
object
autoUpdate
boolean
createdAt
string
description
string
entries
Array<object>
object
createdAt
string
id
integer
objectId
integer
updatedAt
string
value

IP, CIDR, port, country code, FQDN, etc.

string
id
integer
isUsed
boolean
isUsedBy

“”, “dhcp” for now

string
lastRefreshAt
string
lastRefreshError
string
name
string
refreshIntervalSeconds
integer
resolutionChecksum
string
resolutions
Array<object>
object
createdAt
string
id
integer
objectId
integer
resolvedIp

Deprecated mirror for resolved IP entries

string
resolvedValue
string
updatedAt
string
sourceChecksum
string
type

“Host”, “Mac”, “Network”, “Port”, “Country”, “List”, “FQDN”, “DUID”

string
updatedAt
string
bridgeMacMode
string
bridgeMacObject
object
autoUpdate
boolean
createdAt
string
description
string
entries
Array<object>
object
createdAt
string
id
integer
objectId
integer
updatedAt
string
value

IP, CIDR, port, country code, FQDN, etc.

string
id
integer
isUsed
boolean
isUsedBy

“”, “dhcp” for now

string
lastRefreshAt
string
lastRefreshError
string
name
string
refreshIntervalSeconds
integer
resolutionChecksum
string
resolutions
Array<object>
object
createdAt
string
id
integer
objectId
integer
resolvedIp

Deprecated mirror for resolved IP entries

string
resolvedValue
string
updatedAt
string
sourceChecksum
string
type

“Host”, “Mac”, “Network”, “Port”, “Country”, “List”, “FQDN”, “DUID”

string
updatedAt
string
bridgeMacObjectId
integer
bridgeMacSourcePort
string
bridgeName
string
createdAt
string
defaultRoute

DefaultRoute owns the IPv4 default route for static or DHCP addressing.

boolean
defaultRoute6

DefaultRoute6 owns the IPv6 default route for static or SLAAC addressing.

boolean
dhcp
boolean
disableBridgeOffloads

DisableBridgeOffloads keeps FreeBSD from changing bridge-member capabilities as transient tap and epair interfaces come and go. Sorts flapping issues (Please tell @hayzam if you faced flapping before/after enabling this option).

boolean
disableIPv6
boolean
gateway6AddressId
integer
gateway6AddressObj
object
autoUpdate
boolean
createdAt
string
description
string
entries
Array<object>
object
createdAt
string
id
integer
objectId
integer
updatedAt
string
value

IP, CIDR, port, country code, FQDN, etc.

string
id
integer
isUsed
boolean
isUsedBy

“”, “dhcp” for now

string
lastRefreshAt
string
lastRefreshError
string
name
string
refreshIntervalSeconds
integer
resolutionChecksum
string
resolutions
Array<object>
object
createdAt
string
id
integer
objectId
integer
resolvedIp

Deprecated mirror for resolved IP entries

string
resolvedValue
string
updatedAt
string
sourceChecksum
string
type

“Host”, “Mac”, “Network”, “Port”, “Country”, “List”, “FQDN”, “DUID”

string
updatedAt
string
gateway6Manual
string
gatewayAddressId
integer
gatewayAddressObj
object
autoUpdate
boolean
createdAt
string
description
string
entries
Array<object>
object
createdAt
string
id
integer
objectId
integer
updatedAt
string
value

IP, CIDR, port, country code, FQDN, etc.

string
id
integer
isUsed
boolean
isUsedBy

“”, “dhcp” for now

string
lastRefreshAt
string
lastRefreshError
string
name
string
refreshIntervalSeconds
integer
resolutionChecksum
string
resolutions
Array<object>
object
createdAt
string
id
integer
objectId
integer
resolvedIp

Deprecated mirror for resolved IP entries

string
resolvedValue
string
updatedAt
string
sourceChecksum
string
type

“Host”, “Mac”, “Network”, “Port”, “Country”, “List”, “FQDN”, “DUID”

string
updatedAt
string
gatewayManual
string
id
integer
mtu
integer
name
string
network6Id
integer
network6Manual
string
network6Obj
object
autoUpdate
boolean
createdAt
string
description
string
entries
Array<object>
object
createdAt
string
id
integer
objectId
integer
updatedAt
string
value

IP, CIDR, port, country code, FQDN, etc.

string
id
integer
isUsed
boolean
isUsedBy

“”, “dhcp” for now

string
lastRefreshAt
string
lastRefreshError
string
name
string
refreshIntervalSeconds
integer
resolutionChecksum
string
resolutions
Array<object>
object
createdAt
string
id
integer
objectId
integer
resolvedIp

Deprecated mirror for resolved IP entries

string
resolvedValue
string
updatedAt
string
sourceChecksum
string
type

“Host”, “Mac”, “Network”, “Port”, “Country”, “List”, “FQDN”, “DUID”

string
updatedAt
string
networkId
integer
networkManual
string
networkObj
object
autoUpdate
boolean
createdAt
string
description
string
entries
Array<object>
object
createdAt
string
id
integer
objectId
integer
updatedAt
string
value

IP, CIDR, port, country code, FQDN, etc.

string
id
integer
isUsed
boolean
isUsedBy

“”, “dhcp” for now

string
lastRefreshAt
string
lastRefreshError
string
name
string
refreshIntervalSeconds
integer
resolutionChecksum
string
resolutions
Array<object>
object
createdAt
string
id
integer
objectId
integer
resolvedIp

Deprecated mirror for resolved IP entries

string
resolvedValue
string
updatedAt
string
sourceChecksum
string
type

“Host”, “Mac”, “Network”, “Port”, “Country”, “List”, “FQDN”, “DUID”

string
updatedAt
string
ports
Array<object>
object
id
integer
name
string
switch
object recursive
switchId
integer
private
boolean
slaac
boolean
updatedAt
string
vlan
integer
switchId
integer
switchType
string
vmId
integer
error
string
message
string
status
string
Examplegenerated
{
"data": {
"emulation": "example",
"enable": true,
"id": 1,
"mac": "example",
"macId": 1,
"macObj": {
"autoUpdate": true,
"createdAt": "example",
"description": "example",
"entries": [
{
"createdAt": "example",
"id": 1,
"objectId": 1,
"updatedAt": "example",
"value": "example"
}
],
"id": 1,
"isUsed": true,
"isUsedBy": "example",
"lastRefreshAt": "example",
"lastRefreshError": "example",
"name": "example",
"refreshIntervalSeconds": 1,
"resolutionChecksum": "example",
"resolutions": [
{
"createdAt": "example",
"id": 1,
"objectId": 1,
"resolvedIp": "example",
"resolvedValue": "example",
"updatedAt": "example"
}
],
"sourceChecksum": "example",
"type": "example",
"updatedAt": "example"
},
"manualSwitch": {
"bridge": "example",
"createdAt": "example",
"id": 1,
"name": "example",
"updatedAt": "example"
},
"standardSwitch": {
"address": "example",
"address6": "example",
"address6Id": 1,
"address6Obj": {
"autoUpdate": true,
"createdAt": "example",
"description": "example",
"entries": [
{
"createdAt": "example",
"id": 1,
"objectId": 1,
"updatedAt": "example",
"value": "example"
}
],
"id": 1,
"isUsed": true,
"isUsedBy": "example",
"lastRefreshAt": "example",
"lastRefreshError": "example",
"name": "example",
"refreshIntervalSeconds": 1,
"resolutionChecksum": "example",
"resolutions": [
{
"createdAt": "example",
"id": 1,
"objectId": 1,
"resolvedIp": "example",
"resolvedValue": "example",
"updatedAt": "example"
}
],
"sourceChecksum": "example",
"type": "example",
"updatedAt": "example"
},
"addressId": 1,
"addressObj": {
"autoUpdate": true,
"createdAt": "example",
"description": "example",
"entries": [
{
"createdAt": "example",
"id": 1,
"objectId": 1,
"updatedAt": "example",
"value": "example"
}
],
"id": 1,
"isUsed": true,
"isUsedBy": "example",
"lastRefreshAt": "example",
"lastRefreshError": "example",
"name": "example",
"refreshIntervalSeconds": 1,
"resolutionChecksum": "example",
"resolutions": [
{
"createdAt": "example",
"id": 1,
"objectId": 1,
"resolvedIp": "example",
"resolvedValue": "example",
"updatedAt": "example"
}
],
"sourceChecksum": "example",
"type": "example",
"updatedAt": "example"
},
"bridgeMacMode": "example",
"bridgeMacObject": {
"autoUpdate": true,
"createdAt": "example",
"description": "example",
"entries": [
{
"createdAt": "example",
"id": 1,
"objectId": 1,
"updatedAt": "example",
"value": "example"
}
],
"id": 1,
"isUsed": true,
"isUsedBy": "example",
"lastRefreshAt": "example",
"lastRefreshError": "example",
"name": "example",
"refreshIntervalSeconds": 1,
"resolutionChecksum": "example",
"resolutions": [
{
"createdAt": "example",
"id": 1,
"objectId": 1,
"resolvedIp": "example",
"resolvedValue": "example",
"updatedAt": "example"
}
],
"sourceChecksum": "example",
"type": "example",
"updatedAt": "example"
},
"bridgeMacObjectId": 1,
"bridgeMacSourcePort": "example",
"bridgeName": "example",
"createdAt": "example",
"defaultRoute": true,
"defaultRoute6": true,
"dhcp": true,
"disableBridgeOffloads": true,
"disableIPv6": true,
"gateway6AddressId": 1,
"gateway6AddressObj": {
"autoUpdate": true,
"createdAt": "example",
"description": "example",
"entries": [
{
"createdAt": "example",
"id": 1,
"objectId": 1,
"updatedAt": "example",
"value": "example"
}
],
"id": 1,
"isUsed": true,
"isUsedBy": "example",
"lastRefreshAt": "example",
"lastRefreshError": "example",
"name": "example",
"refreshIntervalSeconds": 1,
"resolutionChecksum": "example",
"resolutions": [
{
"createdAt": "example",
"id": 1,
"objectId": 1,
"resolvedIp": "example",
"resolvedValue": "example",
"updatedAt": "example"
}
],
"sourceChecksum": "example",
"type": "example",
"updatedAt": "example"
},
"gateway6Manual": "example",
"gatewayAddressId": 1,
"gatewayAddressObj": {
"autoUpdate": true,
"createdAt": "example",
"description": "example",
"entries": [
{
"createdAt": "example",
"id": 1,
"objectId": 1,
"updatedAt": "example",
"value": "example"
}
],
"id": 1,
"isUsed": true,
"isUsedBy": "example",
"lastRefreshAt": "example",
"lastRefreshError": "example",
"name": "example",
"refreshIntervalSeconds": 1,
"resolutionChecksum": "example",
"resolutions": [
{
"createdAt": "example",
"id": 1,
"objectId": 1,
"resolvedIp": "example",
"resolvedValue": "example",
"updatedAt": "example"
}
],
"sourceChecksum": "example",
"type": "example",
"updatedAt": "example"
},
"gatewayManual": "example",
"id": 1,
"mtu": 1,
"name": "example",
"network6Id": 1,
"network6Manual": "example",
"network6Obj": {
"autoUpdate": true,
"createdAt": "example",
"description": "example",
"entries": [
{
"createdAt": "example",
"id": 1,
"objectId": 1,
"updatedAt": "example",
"value": "example"
}
],
"id": 1,
"isUsed": true,
"isUsedBy": "example",
"lastRefreshAt": "example",
"lastRefreshError": "example",
"name": "example",
"refreshIntervalSeconds": 1,
"resolutionChecksum": "example",
"resolutions": [
{
"createdAt": "example",
"id": 1,
"objectId": 1,
"resolvedIp": "example",
"resolvedValue": "example",
"updatedAt": "example"
}
],
"sourceChecksum": "example",
"type": "example",
"updatedAt": "example"
},
"networkId": 1,
"networkManual": "example",
"networkObj": {
"autoUpdate": true,
"createdAt": "example",
"description": "example",
"entries": [
{
"createdAt": "example",
"id": 1,
"objectId": 1,
"updatedAt": "example",
"value": "example"
}
],
"id": 1,
"isUsed": true,
"isUsedBy": "example",
"lastRefreshAt": "example",
"lastRefreshError": "example",
"name": "example",
"refreshIntervalSeconds": 1,
"resolutionChecksum": "example",
"resolutions": [
{
"createdAt": "example",
"id": 1,
"objectId": 1,
"resolvedIp": "example",
"resolvedValue": "example",
"updatedAt": "example"
}
],
"sourceChecksum": "example",
"type": "example",
"updatedAt": "example"
},
"ports": [
{
"id": 1,
"name": "example",
"switch": {},
"switchId": 1
}
],
"private": true,
"slaac": true,
"updatedAt": "example",
"vlan": 1
},
"switchId": 1,
"switchType": "example",
"vmId": 1
},
"error": "example",
"message": "example",
"status": "example"
}

Bad Request

Media typeapplication/json
object
data
error
string
message
string
status
string
Examplegenerated
{
"data": "example",
"error": "example",
"message": "example",
"status": "example"
}

Unauthorized

Media typeapplication/json
object
data
error
string
message
string
status
string
Examplegenerated
{
"data": "example",
"error": "example",
"message": "example",
"status": "example"
}

Forbidden

Media typeapplication/json
object
data
error
string
message
string
status
string
Examplegenerated
{
"data": "example",
"error": "example",
"message": "example",
"status": "example"
}

Not Found

Media typeapplication/json
object
data
error
string
message
string
status
string
Examplegenerated
{
"data": "example",
"error": "example",
"message": "example",
"status": "example"
}

Conflict

Media typeapplication/json
object
data
error
string
message
string
status
string
Examplegenerated
{
"data": "example",
"error": "example",
"message": "example",
"status": "example"
}

Internal Server Error

Media typeapplication/json
object
data
error
string
message
string
status
string
Examplegenerated
{
"data": "example",
"error": "example",
"message": "example",
"status": "example"
}

Service Unavailable

Media typeapplication/json
object
data
error
string
message
string
status
string
Examplegenerated
{
"data": "example",
"error": "example",
"message": "example",
"status": "example"
}