WebService-DataDog
view release on metacpan or search on metacpan
lib/WebService/DataDog/Event.pm view on Meta::CPAN
=head2 retrieve()
Get details of specified event.
NOTE: Receiving a 404 response likely means the requested event id does not exist.
my $event = $datadog->build('Event');
my $event_data = $event->retrieve( id => $event_id );
=cut
sub retrieve
{
my ( $self, %args ) = @_;
my $verbose = $self->verbose();
# Check for mandatory parameters
foreach my $arg ( qw( id ) )
{
croak "ERROR - Argument '$arg' is required."
if !defined( $args{$arg} ) || ( $args{$arg} eq '' );
}
# Check that id specified is a number
croak "ERROR - Event id must be a number. You specified >" . $args{'id'} . "<"
unless $args{'id'} =~ /^\d+$/;
my $url = $WebService::DataDog::API_ENDPOINT . 'events' . '/' . $args{'id'};
my $response = $self->_send_request(
method => 'GET',
url => $url,
data => { '' => [] }
);
if ( !defined($response) || !defined($response->{'event'}) )
{
croak "Fatal error. No response or 'event' missing from response.";
}
return $response->{'event'};
}
=head2 post_event()
Deprecated. Please use create() instead.
=cut
sub post_event
{
my ( $self, %args ) = @_;
carp "post_event() is deprecated. Please use create() instead.";
return $self->create( %args );
}
=head2 create()
Post event to DataDog event stream. This will overlay red areas on all dashboards,
corresponding to each event. Example uses: code pushes, server/service restarts, etc.
Per DataDog: "This end point allows you to post events to the stream. You can
tag them, set priority and event aggregate them with other events."
my $event = $datadog->build('Event');
$event->create(
title => $event_title,
text => $event_text, # Body/Description of the event.
date_happened => $timestamp, # Optional, default "now"
priority => $priority, # Optional. normal|low
related_event_id => $event_id, # Optional, id of aggregate event
tags => $tag_list, # Optional - tags to apply to event (easy to search by)
alert_type => $alert_type, # Optional. error|warning|info|success
aggregation_key => $agg_key, # Optional. Arbitrary string to use for aggregation.
source_type_name => $source_type, # Optional. nagios|hudson|jenkins|user|my apps|feed|chef|puppet|git|bitbucket|fabric|capistrano
);
Examples:
+ Submit a user event, with timestamp of `now`.
$event->create(
title => 'Test event',
text => 'Testing posting to event stream',
source_type_name => 'user',
);
Parameters:
=over 4
=item * title
The event title.
=item * text
Optional. Event body/description.
=item * date_happened
Optional. Default value 'now'. POSIX/Unix time.
=item * priority
Optional. Allowed values: normal, low.
=item * related_event_id
Optional. The id of the aggregate event.
=item * tags
Optional. List of tags associated with the event.
=item * alert_type
Optional. "error", "warning", "info" or "success"
=item * aggregation_key
( run in 3.046 seconds using v1.01-cache-2.11-cpan-d8267643d1d )