Private Network

Private Network provides private L2 networking functionality between Compute instances.

Read more

create-private-network

Create a Private Network

POST /private-network

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
namestringyesPrivate Network name
descriptionstringnoPrivate Network description
end-ipstringnoPrivate Network end IP address
labelsobjectnoResource labels
netmaskstringnoPrivate Network netmask
optionsobjectnoPrivate Network DHCP Options schema details
start-ipstringnoPrivate Network start IP address
Example
{
  "description": "string",
  "end-ip": "string",
  "labels": {},
  "name": "string",
  "netmask": "string",
  "options": {
    "dns-servers": [
      "string"
    ],
    "domain-search": [
      "string"
    ],
    "ntp-servers": [
      "string"
    ],
    "routers": [
      "string"
    ]
  },
  "start-ip": "string"
}

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceobjectRelated resource reference schema details
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for create-private-network: golang | Python | Java

CLI: exo api create-private-network

get-private-network

Retrieve Private Network details

GET /private-network/{id}

Path parameters

NameInDescription
idpath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
descriptionstringPrivate Network description
end-ipstringPrivate Network end IP address
idstringPrivate Network ID
labelsobjectResource labels
leasesarray[object]Private Network leased IP addresses schema details
namestringPrivate Network name
netmaskstringPrivate Network netmask
optionsobjectPrivate Network DHCP Options schema details
start-ipstringPrivate Network start IP address
vniintegerPrivate Network VXLAN ID
Example output
{
  "description": "string",
  "end-ip": "string",
  "id": "string",
  "labels": {},
  "leases": [
    {
      "instance-id": "string",
      "ip": "string"
    }
  ],
  "name": "string",
  "netmask": "string",
  "options": {
    "dns-servers": [
      "string"
    ],
    "domain-search": [
      "string"
    ],
    "ntp-servers": [
      "string"
    ],
    "routers": [
      "string"
    ]
  },
  "start-ip": "string",
  "vni": 0
}

SDK reference for get-private-network: golang | Python | Java

CLI: exo api get-private-network

update-private-network

Update a Private Network

PUT /private-network/{id}

Path parameters

NameInDescription
idpath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
descriptionstringnoPrivate Network description
end-ipstringnoPrivate Network end IP address
labelsobjectnoResource labels
namestringnoPrivate Network name
netmaskstringnoPrivate Network netmask
optionsobjectnoPrivate Network DHCP Options schema details
start-ipstringnoPrivate Network start IP address
Example
{
  "description": "string",
  "end-ip": "string",
  "labels": {},
  "name": "string",
  "netmask": "string",
  "options": {
    "dns-servers": [
      "string"
    ],
    "domain-search": [
      "string"
    ],
    "ntp-servers": [
      "string"
    ],
    "routers": [
      "string"
    ]
  },
  "start-ip": "string"
}

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceobjectRelated resource reference schema details
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for update-private-network: golang | Python | Java

CLI: exo api update-private-network

delete-private-network

Delete a Private Network

DELETE /private-network/{id}

Path parameters

NameInDescription
idpath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceobjectRelated resource reference schema details
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for delete-private-network: golang | Python | Java

CLI: exo api delete-private-network


Other Operations

detach-instance-from-private-network

Detach a Compute instance from a Private Network

PUT /private-network/{id}:detach

Path parameters

NameInDescription
idpath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
instanceobjectyesInstance schema details
Example
{
  "instance": {
    "anti-affinity-groups": [
      {
        "description": "string",
        "id": "string",
        "instances": [
          {
            "anti-affinity-groups": null,
            "application-consistent-snapshot-enabled": null,
            "created-at": null,
            "deploy-target": null,
            "disk-size": null,
            "elastic-ips": null,
            "id": null,
            "instance-type": null,
            "ipv6-address": null,
            "labels": null,
            "mac-address": null,
            "manager": null,
            "name": null,
            "private-networks": null,
            "public-ip": null,
            "public-ip-assignment": null,
            "secureboot-enabled": null,
            "security-groups": null,
            "snapshots": null,
            "ssh-key": null,
            "ssh-keys": null,
            "state": null,
            "template": null,
            "tpm-enabled": null,
            "user-data": null
          }
        ],
        "name": "string"
      }
    ],
    "application-consistent-snapshot-enabled": true,
    "created-at": "2024-01-01T12:00:00Z",
    "deploy-target": {
      "description": "string",
      "id": "string",
      "name": "string",
      "type": "edge"
    },
    "disk-size": 0,
    "elastic-ips": [
      {
        "addressfamily": "inet4",
        "cidr": "string",
        "description": "string",
        "healthcheck": {
          "interval": 0,
          "mode": "tcp",
          "port": 0,
          "strikes-fail": 0,
          "strikes-ok": 0,
          "timeout": 0,
          "tls-skip-verify": true,
          "tls-sni": "string",
          "uri": "string"
        },
        "id": "string",
        "ip": "string",
        "labels": {}
      }
    ],
    "id": "string",
    "instance-type": {
      "authorized": true,
      "cpus": 0,
      "family": "gpu3",
      "gpus": 0,
      "id": "string",
      "memory": 0,
      "size": "large",
      "zones": [
        "ch-dk-2"
      ]
    },
    "ipv6-address": "string",
    "labels": {},
    "mac-address": "string",
    "manager": {
      "id": "string",
      "type": "sks-nodepool"
    },
    "name": "string",
    "private-networks": [
      {
        "id": "string",
        "mac-address": "string"
      }
    ],
    "public-ip": "string",
    "public-ip-assignment": "inet4",
    "secureboot-enabled": true,
    "security-groups": [
      {
        "description": "string",
        "external-sources": [
          "string"
        ],
        "id": "string",
        "name": "string",
        "rules": [
          {
            "description": null,
            "end-port": null,
            "flow-direction": null,
            "icmp": null,
            "id": null,
            "network": null,
            "protocol": null,
            "security-group": null,
            "start-port": null
          }
        ]
      }
    ],
    "snapshots": [
      {
        "application-consistent": true,
        "created-at": "2024-01-01T12:00:00Z",
        "export": {
          "md5sum": "string",
          "presigned-url": "string"
        },
        "id": "string",
        "instance": {
          "anti-affinity-groups": [
            null
          ],
          "application-consistent-snapshot-enabled": true,
          "created-at": "2024-01-01T12:00:00Z",
          "deploy-target": {
            "description": null,
            "id": null,
            "name": null,
            "type": null
          },
          "disk-size": 0,
          "elastic-ips": [
            null
          ],
          "id": "string",
          "instance-type": {
            "authorized": null,
            "cpus": null,
            "family": null,
            "gpus": null,
            "id": null,
            "memory": null,
            "size": null,
            "zones": null
          },
          "ipv6-address": "string",
          "labels": {},
          "mac-address": "string",
          "manager": {
            "id": null,
            "type": null
          },
          "name": "string",
          "private-networks": [
            null
          ],
          "public-ip": "string",
          "public-ip-assignment": "inet4",
          "secureboot-enabled": true,
          "security-groups": [
            null
          ],
          "snapshots": [
            null
          ],
          "ssh-key": {
            "fingerprint": null,
            "name": null
          },
          "ssh-keys": [
            null
          ],
          "state": "expunging",
          "template": {
            "application-consistent-snapshot-enabled": null,
            "boot-mode": null,
            "build": null,
            "checksum": null,
            "created-at": null,
            "default-user": null,
            "description": null,
            "family": null,
            "id": null,
            "maintainer": null,
            "name": null,
            "password-enabled": null,
            "size": null,
            "ssh-key-enabled": null,
            "url": null,
            "version": null,
            "visibility": null,
            "zones": null
          },
          "tpm-enabled": true,
          "user-data": "string"
        },
        "name": "string",
        "size": 0,
        "state": "snapshotting"
      }
    ],
    "ssh-key": {
      "fingerprint": "string",
      "name": "string"
    },
    "ssh-keys": [
      {
        "fingerprint": "string",
        "name": "string"
      }
    ],
    "state": "expunging",
    "template": {
      "application-consistent-snapshot-enabled": true,
      "boot-mode": "legacy",
      "build": "string",
      "checksum": "string",
      "created-at": "2024-01-01T12:00:00Z",
      "default-user": "string",
      "description": "string",
      "family": "string",
      "id": "string",
      "maintainer": "string",
      "name": "string",
      "password-enabled": true,
      "size": 0,
      "ssh-key-enabled": true,
      "url": "string",
      "version": "string",
      "visibility": "private",
      "zones": [
        "ch-dk-2"
      ]
    },
    "tpm-enabled": true,
    "user-data": "string"
  }
}

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceobjectRelated resource reference schema details
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for detach-instance-from-private-network: golang | Python | Java

CLI: exo api detach-instance-from-private-network

attach-instance-to-private-network

Attach a Compute instance to a Private Network

PUT /private-network/{id}:attach

Path parameters

NameInDescription
idpath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
instanceobjectyesCompute instance schema details
ipstringnoStatic IP address lease for the corresponding network interface
Example
{
  "instance": {
    "id": "string"
  },
  "ip": "string"
}

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceobjectRelated resource reference schema details
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for attach-instance-to-private-network: golang | Python | Java

CLI: exo api attach-instance-to-private-network

reset-private-network-field

Reset Private Network field

DELETE /private-network/{id}/{field}

Path parameters

NameInDescription
idpath
fieldpath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceobjectRelated resource reference schema details
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for reset-private-network-field: golang | Python | Java

CLI: exo api reset-private-network-field

update-private-network-instance-ip

Update the IP address of an instance attached to a managed private network

PUT /private-network/{id}:update-ip

Path parameters

NameInDescription
idpath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
instanceobjectnoschema details
ipstringnoStatic IP address lease for the corresponding network interface
Example
{
  "instance": {
    "id": "string"
  },
  "ip": "string"
}

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceobjectRelated resource reference schema details
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for update-private-network-instance-ip: golang | Python | Java

CLI: exo api update-private-network-instance-ip

list-private-networks

List Private Networks

GET /private-network

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
private-networksarray[object]schema details
Example output
{
  "private-networks": [
    {
      "description": "string",
      "end-ip": "string",
      "id": "string",
      "labels": {},
      "leases": [
        {
          "instance-id": "string",
          "ip": "string"
        }
      ],
      "name": "string",
      "netmask": "string",
      "options": {
        "dns-servers": [
          "string"
        ],
        "domain-search": [
          "string"
        ],
        "ntp-servers": [
          "string"
        ],
        "routers": [
          "string"
        ]
      },
      "start-ip": "string",
      "vni": 0
    }
  ]
}

SDK reference for list-private-networks: golang | Python | Java

CLI: exo api list-private-networks

Last updated on