NAME
WebService::DataDog::Tag - Interface to Tag functions in DataDog's API.
VERSION
Version 1.0.3
SYNOPSIS
This module allows you interact with the Tag endpoint of the DataDog API.
Per DataDog: "The tag end point allows you to tag hosts with keywords meaningful to you - like role:database. All metrics sent from a host will have its tags applied. When fetching and applying tags to a particular host, you can refer to hosts by name (yourhost.example.com) or id (12345)."
NOTE: all methods, except retrieve_all(), operate on a per-host basis rather than on a per-tag basis. You cannot rename a tag or delete a tag from all hosts, through the DataDog API.
METHODS
retrieve_all()
Retrieve a mapping of tags to hosts.
my $tag = $datadog->build('Tag');
my $tag_host_list = $tag->retrieve_all();
Parameters: None
retrieve()
Return a list of tags for the specified host. NOTE: a 404 response typically indicates you specified an incorrect/unknown host name/id
my $tag = $datadog->build('Tag');
my $tag_list = $tag->retrieve( host => $host_name_or_id );
Parameters:
host
Hostname/host id you want to retrieve the tags for.
update()
Update tags for specified host. NOTE: a 404 response typically indicates you specified an incorrect host name/id. WARNING: you must specify all tags that you want attached to this host, not simply new ones you want to add ( use add() for that, instead ).
my $tag = $datadog->build('Tag');
$tag->update(
host => $host, # name/ID of host to modify
tags => $tag_list, # Updated full list of tags to apply to host
);
Example:
$tag->update(
host => 'my.example.com',
tags => [ 'tag1', 'tag2', 'tag3:val' ],
);
Parameters:
host
Host name/id whose tags you want to modify.
tags
List of tags to apply to host. This must be the full list you want applied, including any already applied.
add()
Add tags to specified host. NOTE: a 404 response typically indicates you specified an incorrect host name/id.
my $tag = $datadog->build('Tag');
$tag->add(
host => $host, # name/ID of host to modify
tags => $tag_list, # Updated full list of tags to apply to host
);
Example:
$tag->add(
host => 'my.example.com',
tags => [ 'tag3:val' ],
);
Parameters:
host
Host name/id whose tags you want to modify.
tags
List of new tags to apply to existing tags on specified host.
delete()
Delete all tags from the specified host.
my $tag = $datadog->build('Tag');
$tag->delete( host => $host );
Parameters:
host
Host name/id whose tags you want to delete.
INTERNAL FUNCTIONS
_error_checks()
Common error checking for adding/updating tags.