pydo.tags.assign_resources()

Description

Resources can be tagged by sending a POST request to /v2/tags/$TAG_NAME/resources with an array of json objects containing resource_id and resource_type attributes. Currently only tagging of Droplets, Databases, Images, Volumes, and Volume Snapshots is supported. resource_type is expected to be the string droplet, database, image, volume or volume_snapshot. resource_id is expected to be the ID of the resource as a string.

Parameters

Name Type Required Description Default Value
tag_id string True The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag.
body JSON or IO[bytes] True

Request Sample

import os
from pydo import Client

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

req = {
  "resources": [
    {
      "resource_id": "9569411",
      "resource_type": "droplet"
    },
    {
      "resource_id": "7555620",
      "resource_type": "image"
    },
    {
      "resource_id": "3d80cb72-342b-4aaa-b92e-4e4abb24a933",
      "resource_type": "volume"
    }
  ]
}

resp = client.tags.assign_resources(tag_id="awesome", body=req)

Responses

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

The action was successful and the response body is empty.

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