tags
Creates, updates, deletes, gets or lists a tags
resource.
Overview
Name | tags |
Type | Resource |
Id | digitalocean.compute.tags |
Fields
The following fields are returned by SELECT
queries:
- tags_get
- tags_list
The response will be a JSON object with a key called tag
.
The value of this will be a tag object containing the standard tag attributes.
Tagged resources will only include resources that you are authorized to see.
Name | Datatype | Description |
---|---|---|
name | string | The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. Note: Tag names are case stable, which means the capitalization you use when you first create a tag is canonical. When working with tags in the API, you must use the tag's canonical capitalization. For example, if you create a tag named "PROD", the URL to add that tag to a resource would be https://api.digitalocean.com/v2/tags/PROD/resources (not /v2/tags/prod/resources ). Tagged resources in the control panel will always display the canonical capitalization. For example, if you create a tag named "PROD", you can tag resources in the control panel by entering "prod". The tag will still display with its canonical capitalization, "PROD". (pattern: ^[a-zA-Z0-9_-:]+$, example: extra-awesome) |
resources | object | Tagged Resource Statistics include metadata regarding the resource type that has been tagged. |
To list all of your tags, you can send a GET
request to /v2/tags
.
Name | Datatype | Description |
---|---|---|
name | string | The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. Note: Tag names are case stable, which means the capitalization you use when you first create a tag is canonical. When working with tags in the API, you must use the tag's canonical capitalization. For example, if you create a tag named "PROD", the URL to add that tag to a resource would be https://api.digitalocean.com/v2/tags/PROD/resources (not /v2/tags/prod/resources ). Tagged resources in the control panel will always display the canonical capitalization. For example, if you create a tag named "PROD", you can tag resources in the control panel by entering "prod". The tag will still display with its canonical capitalization, "PROD". (pattern: ^[a-zA-Z0-9_-:]+$, example: extra-awesome) |
resources | object | Tagged Resource Statistics include metadata regarding the resource type that has been tagged. |
Methods
The following methods are available for this resource:
Name | Accessible by | Required Params | Optional Params | Description |
---|---|---|---|---|
tags_get | select | tag_id | To retrieve an individual tag, you can send a GET request to/v2/tags/$TAG_NAME .This endpoint will only return tagged resources that you are authorized to see. For example, to see tagged Droplets, include the droplet:read scope. | |
tags_list | select | per_page , page | To list all of your tags, you can send a GET request to /v2/tags .This endpoint will only return tagged resources that you are authorized to see (e.g. Droplets will only be returned if you have droplet:read ). | |
tags_create | insert | To create a tag you can send a POST request to /v2/tags with a name attribute. | ||
tags_delete | delete | tag_id | A tag can be deleted by sending a DELETE request to /v2/tags/$TAG_NAME . Deleting a tag also untags all the resources that have previously been tagged by the Tag | |
tags_assign_resources | exec | tag_id , resources | Resources can be tagged by sending a POST request to/v2/tags/$TAG_NAME/resources with an array of json objects containingresource_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 expectedto be the ID of the resource as a string. In order to tag a resource, you must have both tag:create and <resource type>:update scopes. For example, to tag a Droplet, you must have tag:create and droplet:update . | |
tags_unassign_resources | exec | tag_id , resources | Resources can be untagged by sending a DELETE request to/v2/tags/$TAG_NAME/resources with an array of json objects containingresource_id and resource_type attributes.Currently only untagging 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 expectedto be the ID of the resource as a string. In order to untag a resource, you must have both tag:delete and <resource type>:update scopes. For example, to untag a Droplet, you must have tag:delete and droplet:update . |
Parameters
Parameters can be passed in the WHERE
clause of a query. Check the Methods section to see which parameters are required or optional for each operation.
Name | Datatype | Description |
---|---|---|
tag_id | string | The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. (example: awesome) |
page | integer | Which 'page' of paginated results to return. (example: 1) |
per_page | integer | Number of items returned per page (example: 2) |
SELECT
examples
- tags_get
- tags_list
To retrieve an individual tag, you can send a GET
request to/v2/tags/$TAG_NAME
.
This endpoint will only return tagged resources that you are authorized to see.
For example, to see tagged Droplets, include the droplet:read
scope.
SELECT
name,
resources
FROM digitalocean.compute.tags
WHERE tag_id = '{{ tag_id }}' -- required;
To list all of your tags, you can send a GET request to /v2/tags
.
This endpoint will only return tagged resources that you are authorized to see
(e.g. Droplets will only be returned if you have droplet:read
).
SELECT
name,
resources
FROM digitalocean.compute.tags
WHERE per_page = '{{ per_page }}'
AND page = '{{ page }}';
INSERT
examples
- tags_create
- Manifest
To create a tag you can send a POST request to /v2/tags
with a name
attribute.
INSERT INTO digitalocean.compute.tags (
data__name
)
SELECT
'{{ name }}'
RETURNING
tag
;
# Description fields are for documentation purposes
- name: tags
props:
- name: name
value: string
description: >
The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores.
There is a limit of 255 characters per tag.
**Note:** Tag names are case stable, which means the capitalization you use when you first create a tag is canonical.
When working with tags in the API, you must use the tag's canonical capitalization. For example, if you create a tag named "PROD", the URL to add that tag to a resource would be `https://api.digitalocean.com/v2/tags/PROD/resources` (not `/v2/tags/prod/resources`).
Tagged resources in the control panel will always display the canonical capitalization. For example, if you create a tag named "PROD", you can tag resources in the control panel by entering "prod". The tag will still display with its canonical capitalization, "PROD".
DELETE
examples
- tags_delete
A tag can be deleted by sending a DELETE
request to /v2/tags/$TAG_NAME
. Deleting a tag also untags all the resources that have previously been tagged by the Tag
DELETE FROM digitalocean.compute.tags
WHERE tag_id = '{{ tag_id }}' --required;
Lifecycle Methods
- tags_assign_resources
- tags_unassign_resources
Resources can be tagged by sending a POST request to/v2/tags/$TAG_NAME/resources
with an array of json objects containingresource_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.
In order to tag a resource, you must have both tag:create
and <resource type>:update
scopes. For example,
to tag a Droplet, you must have tag:create
and droplet:update
.
EXEC digitalocean.compute.tags.tags_assign_resources
@tag_id='{{ tag_id }}' --required
@@json=
'{
"resources": "{{ resources }}"
}';
Resources can be untagged by sending a DELETE request to/v2/tags/$TAG_NAME/resources
with an array of json objects containingresource_id
and resource_type
attributes.
Currently only untagging 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.
In order to untag a resource, you must have both tag:delete
and <resource type>:update
scopes. For example,
to untag a Droplet, you must have tag:delete
and droplet:update
.
EXEC digitalocean.compute.tags.tags_unassign_resources
@tag_id='{{ tag_id }}' --required
@@json=
'{
"resources": "{{ resources }}"
}';