pydo.reserved_ips_actions.post()

Description

To initiate an action on a reserved IP send a POST request to /v2/reserved_ips/$RESERVED_IP/actions. In the JSON body to the request, set the type attribute to on of the supported action types:

Action Details
assign Assigns a reserved IP to a Droplet
unassign Unassign a reserved IP from a Droplet

Parameters

Name Type Required Description Default Value
reserved_ip string True A reserved IP address.
body JSON or IO[bytes] False The type attribute set in the request body will specify the action that
will be taken on the reserved IP.

Request Sample

import os
from pydo import Client

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

req={
  "type": "unassign"
}

resp = client.reserved_ips_actions.post(reserved_ip="49.32.13.21", body=req)

Responses

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

The response will be an object with a key called action. The value of this will be an object that contains the standard reserved IP action attributes.

Click to expand an example response.
{
  "action": {
    "id": 72531856,
    "status": "completed",
    "type": "assign_ip",
    "started_at": "2015-11-12T17:51:03Z",
    "completed_at": "2015-11-12T17:51:14Z",
    "resource_id": 758604968,
    "resource_type": "reserved_ip",
    "region": {
      "name": "New York 3",
      "slug": "nyc3",
      "sizes": [
        "s-1vcpu-1gb",
        "s-1vcpu-2gb",
        "s-1vcpu-3gb",
        "s-2vcpu-2gb",
        "s-3vcpu-1gb",
        "s-2vcpu-4gb",
        "s-4vcpu-8gb",
        "s-6vcpu-16gb",
        "s-8vcpu-32gb",
        "s-12vcpu-48gb",
        "s-16vcpu-64gb",
        "s-20vcpu-96gb",
        "s-24vcpu-128gb",
        "s-32vcpu-192gb"
      ],
      "features": [
        "private_networking",
        "backups",
        "ipv6",
        "metadata"
      ],
      "available": true
    },
    "region_slug": "nyc3",
    "project_id": "746c6152-2fa2-11ed-92d3-27aaa54e4988"
  }
}

Unauthorized

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

The resource was not found.

Click to expand an example response.
{
  "id": "not_found",
  "message": "The resource you requested could not be found."
}

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"
}