pydo.vpcs.create()

Description

To create a VPC, send a POST request to /v2/vpcs specifying the attributes in the table below in the JSON body.

Note: If you do not currently have a VPC network in a specific datacenter region, the first one that you create will be set as the default for that region. The default VPC for a region cannot be changed or deleted.

Request Sample

import os
from pydo import Client

client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN"))

req = {
  "name": "env.prod-vpc",
  "description": "VPC for production environment",
  "region": "nyc1",
  "ip_range": "10.10.10.0/24"
}

resp = client.vpcs.create(body=req)

Responses

See the API spec for this endpoint to view additional detail on responses, headers, parameters, and more.

The response will be a JSON object with a key called vpc. The value of this will be an object that contains the standard attributes associated with a VPC.

Click to expand an example response.
{
  "vpc": {
    "name": "env.prod-vpc",
    "description": "VPC for production environment",
    "region": "nyc1",
    "ip_range": "10.10.10.0/24",
    "default": true,
    "id": "5a4981aa-9653-4bd1-bef5-d6bff52042e4",
    "urn": "do:droplet:13457723",
    "created_at": "2020-03-13T19:20:47.442049222Z"
  }
}

Unauthorized

Click to expand an example response.
{
  "id": "unauthorized",
  "message": "Unable to authenticate you."
}

API Rate limit exceeded

Click to expand an example response.
{
  "id": "too_many_requests",
  "message": "API Rate limit exceeded."
}

Server error.

Click to expand an example response.
{
  "id": "server_error",
  "message": "Unexpected server-side error"
}

Unexpected error

Click to expand an example response.
{
  "id": "example_error",
  "message": "some error message"
}