File Coverage

blib/lib/Paws/CloudWatchLogs.pm
Criterion Covered Total %
statement 34 225 15.1
branch 0 24 0.0
condition n/a
subroutine 12 46 26.0
pod 39 44 88.6
total 85 339 25.0


line stmt bran cond sub pod time code
1             package Paws::CloudWatchLogs;
2 1     1   3016 use Moose;
  1     3   5  
  1         11  
  3         1453  
  3         7  
  3         20  
3 22     22 0 75 sub service { 'logs' }
4 0     0 0 0 sub version { '2014-03-28' }
5 0     0 0 0 sub target_prefix { 'Logs_20140328' }
6 0     0 0 0 sub json_version { "1.1" }
7             has max_attempts => (is => 'ro', isa => 'Int', default => 5);
8             has retry => (is => 'ro', isa => 'HashRef', default => sub {
9             { base => 'rand', type => 'exponential', growth_factor => 2 }
10             });
11             has retriables => (is => 'ro', isa => 'ArrayRef', default => sub { [
12             ] });
13              
14             with 'Paws::API::Caller', 'Paws::API::EndpointResolver', 'Paws::Net::V4Signature', 'Paws::Net::JsonCaller', 'Paws::Net::JsonResponse';
15              
16            
17             sub AssociateKmsKey {
18 0     0 1 0 my $self = shift;
19 0         0 my $call_object = $self->new_with_coercions('Paws::CloudWatchLogs::AssociateKmsKey', @_);
20 0         0 return $self->caller->do_call($self, $call_object);
21             }
22             sub CancelExportTask {
23 0     0 1 0 my $self = shift;
24 0         0 my $call_object = $self->new_with_coercions('Paws::CloudWatchLogs::CancelExportTask', @_);
25 0         0 return $self->caller->do_call($self, $call_object);
26             }
27             sub CreateExportTask {
28 0     0 1 0 my $self = shift;
29 0         0 my $call_object = $self->new_with_coercions('Paws::CloudWatchLogs::CreateExportTask', @_);
30 0         0 return $self->caller->do_call($self, $call_object);
31             }
32             sub CreateLogGroup {
33 3     3 1 369 my $self = shift;
34 3         54 my $call_object = $self->new_with_coercions('Paws::CloudWatchLogs::CreateLogGroup', @_);
35 3         2128 return $self->caller->do_call($self, $call_object);
36             }
37             sub CreateLogStream {
38 2     2 1 17 my $self = shift;
39 2         10 my $call_object = $self->new_with_coercions('Paws::CloudWatchLogs::CreateLogStream', @_);
40 2         1376 return $self->caller->do_call($self, $call_object);
41             }
42             sub DeleteDestination {
43 0     0 1 0 my $self = shift;
44 0         0 my $call_object = $self->new_with_coercions('Paws::CloudWatchLogs::DeleteDestination', @_);
45 0         0 return $self->caller->do_call($self, $call_object);
46             }
47             sub DeleteLogGroup {
48 2     2 1 18 my $self = shift;
49 2         8 my $call_object = $self->new_with_coercions('Paws::CloudWatchLogs::DeleteLogGroup', @_);
50 2         893 return $self->caller->do_call($self, $call_object);
51             }
52             sub DeleteLogStream {
53 2     2 1 132 my $self = shift;
54 2         10 my $call_object = $self->new_with_coercions('Paws::CloudWatchLogs::DeleteLogStream', @_);
55 2         1382 return $self->caller->do_call($self, $call_object);
56             }
57             sub DeleteMetricFilter {
58 0     0 1 0 my $self = shift;
59 0         0 my $call_object = $self->new_with_coercions('Paws::CloudWatchLogs::DeleteMetricFilter', @_);
60 0         0 return $self->caller->do_call($self, $call_object);
61             }
62             sub DeleteResourcePolicy {
63 0     0 1 0 my $self = shift;
64 0         0 my $call_object = $self->new_with_coercions('Paws::CloudWatchLogs::DeleteResourcePolicy', @_);
65 0         0 return $self->caller->do_call($self, $call_object);
66             }
67             sub DeleteRetentionPolicy {
68 0     0 1 0 my $self = shift;
69 0         0 my $call_object = $self->new_with_coercions('Paws::CloudWatchLogs::DeleteRetentionPolicy', @_);
70 0         0 return $self->caller->do_call($self, $call_object);
71             }
72             sub DeleteSubscriptionFilter {
73 0     0 1 0 my $self = shift;
74 0         0 my $call_object = $self->new_with_coercions('Paws::CloudWatchLogs::DeleteSubscriptionFilter', @_);
75 0         0 return $self->caller->do_call($self, $call_object);
76             }
77             sub DescribeDestinations {
78 0     0 1 0 my $self = shift;
79 0         0 my $call_object = $self->new_with_coercions('Paws::CloudWatchLogs::DescribeDestinations', @_);
80 0         0 return $self->caller->do_call($self, $call_object);
81             }
82             sub DescribeExportTasks {
83 0     0 1 0 my $self = shift;
84 0         0 my $call_object = $self->new_with_coercions('Paws::CloudWatchLogs::DescribeExportTasks', @_);
85 0         0 return $self->caller->do_call($self, $call_object);
86             }
87             sub DescribeLogGroups {
88 4     4 1 279 my $self = shift;
89 4         23 my $call_object = $self->new_with_coercions('Paws::CloudWatchLogs::DescribeLogGroups', @_);
90 4         2032 return $self->caller->do_call($self, $call_object);
91             }
92             sub DescribeLogStreams {
93 2     2 1 478 my $self = shift;
94 2         12 my $call_object = $self->new_with_coercions('Paws::CloudWatchLogs::DescribeLogStreams', @_);
95 2         1997 return $self->caller->do_call($self, $call_object);
96             }
97             sub DescribeMetricFilters {
98 0     0 1 0 my $self = shift;
99 0         0 my $call_object = $self->new_with_coercions('Paws::CloudWatchLogs::DescribeMetricFilters', @_);
100 0         0 return $self->caller->do_call($self, $call_object);
101             }
102             sub DescribeResourcePolicies {
103 0     0 1 0 my $self = shift;
104 0         0 my $call_object = $self->new_with_coercions('Paws::CloudWatchLogs::DescribeResourcePolicies', @_);
105 0         0 return $self->caller->do_call($self, $call_object);
106             }
107             sub DescribeSubscriptionFilters {
108 0     0 1 0 my $self = shift;
109 0         0 my $call_object = $self->new_with_coercions('Paws::CloudWatchLogs::DescribeSubscriptionFilters', @_);
110 0         0 return $self->caller->do_call($self, $call_object);
111             }
112             sub DisassociateKmsKey {
113 0     0 1 0 my $self = shift;
114 0         0 my $call_object = $self->new_with_coercions('Paws::CloudWatchLogs::DisassociateKmsKey', @_);
115 0         0 return $self->caller->do_call($self, $call_object);
116             }
117             sub FilterLogEvents {
118 2     2 1 568 my $self = shift;
119 2         16 my $call_object = $self->new_with_coercions('Paws::CloudWatchLogs::FilterLogEvents', @_);
120 2         2767 return $self->caller->do_call($self, $call_object);
121             }
122             sub GetLogEvents {
123 1     1 1 526 my $self = shift;
124 1         8 my $call_object = $self->new_with_coercions('Paws::CloudWatchLogs::GetLogEvents', @_);
125 1         1291 return $self->caller->do_call($self, $call_object);
126             }
127             sub ListTagsLogGroup {
128 0     0 1 0 my $self = shift;
129 0         0 my $call_object = $self->new_with_coercions('Paws::CloudWatchLogs::ListTagsLogGroup', @_);
130 0         0 return $self->caller->do_call($self, $call_object);
131             }
132             sub PutDestination {
133 0     0 1 0 my $self = shift;
134 0         0 my $call_object = $self->new_with_coercions('Paws::CloudWatchLogs::PutDestination', @_);
135 0         0 return $self->caller->do_call($self, $call_object);
136             }
137             sub PutDestinationPolicy {
138 0     0 1 0 my $self = shift;
139 0         0 my $call_object = $self->new_with_coercions('Paws::CloudWatchLogs::PutDestinationPolicy', @_);
140 0         0 return $self->caller->do_call($self, $call_object);
141             }
142             sub PutLogEvents {
143 4     4 1 37 my $self = shift;
144 4         21 my $call_object = $self->new_with_coercions('Paws::CloudWatchLogs::PutLogEvents', @_);
145 4         4899 return $self->caller->do_call($self, $call_object);
146             }
147             sub PutMetricFilter {
148 0     0 1   my $self = shift;
149 0           my $call_object = $self->new_with_coercions('Paws::CloudWatchLogs::PutMetricFilter', @_);
150 0           return $self->caller->do_call($self, $call_object);
151             }
152             sub PutResourcePolicy {
153 0     0 1   my $self = shift;
154 0           my $call_object = $self->new_with_coercions('Paws::CloudWatchLogs::PutResourcePolicy', @_);
155 0           return $self->caller->do_call($self, $call_object);
156             }
157             sub PutRetentionPolicy {
158 0     0 1   my $self = shift;
159 0           my $call_object = $self->new_with_coercions('Paws::CloudWatchLogs::PutRetentionPolicy', @_);
160 0           return $self->caller->do_call($self, $call_object);
161             }
162             sub PutSubscriptionFilter {
163 0     0 1   my $self = shift;
164 0           my $call_object = $self->new_with_coercions('Paws::CloudWatchLogs::PutSubscriptionFilter', @_);
165 0           return $self->caller->do_call($self, $call_object);
166             }
167             sub TagLogGroup {
168 0     0 1   my $self = shift;
169 0           my $call_object = $self->new_with_coercions('Paws::CloudWatchLogs::TagLogGroup', @_);
170 0           return $self->caller->do_call($self, $call_object);
171             }
172             sub TestMetricFilter {
173 0     0 1   my $self = shift;
174 0           my $call_object = $self->new_with_coercions('Paws::CloudWatchLogs::TestMetricFilter', @_);
175 0           return $self->caller->do_call($self, $call_object);
176             }
177             sub UntagLogGroup {
178 0     0 1   my $self = shift;
179 0           my $call_object = $self->new_with_coercions('Paws::CloudWatchLogs::UntagLogGroup', @_);
180 0           return $self->caller->do_call($self, $call_object);
181             }
182            
183             sub DescribeAllDestinations {
184 0     0 1   my $self = shift;
185              
186 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
187 0           my $result = $self->DescribeDestinations(@_);
188 0           my $next_result = $result;
189              
190 0 0         if (not defined $callback) {
191 0           while ($next_result->nextToken) {
192 0           $next_result = $self->DescribeDestinations(@_, nextToken => $next_result->nextToken);
193 0           push @{ $result->destinations }, @{ $next_result->destinations };
  0            
  0            
194             }
195 0           return $result;
196             } else {
197 0           while ($result->nextToken) {
198 0           $callback->($_ => 'destinations') foreach (@{ $result->destinations });
  0            
199 0           $result = $self->DescribeDestinations(@_, nextToken => $result->nextToken);
200             }
201 0           $callback->($_ => 'destinations') foreach (@{ $result->destinations });
  0            
202             }
203              
204             return undef
205 0           }
206             sub DescribeAllLogGroups {
207 0     0 1   my $self = shift;
208              
209 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
210 0           my $result = $self->DescribeLogGroups(@_);
211 0           my $next_result = $result;
212              
213 0 0         if (not defined $callback) {
214 0           while ($next_result->nextToken) {
215 0           $next_result = $self->DescribeLogGroups(@_, nextToken => $next_result->nextToken);
216 0           push @{ $result->logGroups }, @{ $next_result->logGroups };
  0            
  0            
217             }
218 0           return $result;
219             } else {
220 0           while ($result->nextToken) {
221 0           $callback->($_ => 'logGroups') foreach (@{ $result->logGroups });
  0            
222 0           $result = $self->DescribeLogGroups(@_, nextToken => $result->nextToken);
223             }
224 0           $callback->($_ => 'logGroups') foreach (@{ $result->logGroups });
  0            
225             }
226              
227             return undef
228 0           }
229             sub DescribeAllLogStreams {
230 0     0 1   my $self = shift;
231              
232 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
233 0           my $result = $self->DescribeLogStreams(@_);
234 0           my $next_result = $result;
235              
236 0 0         if (not defined $callback) {
237 0           while ($next_result->nextToken) {
238 0           $next_result = $self->DescribeLogStreams(@_, nextToken => $next_result->nextToken);
239 0           push @{ $result->logStreams }, @{ $next_result->logStreams };
  0            
  0            
240             }
241 0           return $result;
242             } else {
243 0           while ($result->nextToken) {
244 0           $callback->($_ => 'logStreams') foreach (@{ $result->logStreams });
  0            
245 0           $result = $self->DescribeLogStreams(@_, nextToken => $result->nextToken);
246             }
247 0           $callback->($_ => 'logStreams') foreach (@{ $result->logStreams });
  0            
248             }
249              
250             return undef
251 0           }
252             sub DescribeAllMetricFilters {
253 0     0 1   my $self = shift;
254              
255 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
256 0           my $result = $self->DescribeMetricFilters(@_);
257 0           my $next_result = $result;
258              
259 0 0         if (not defined $callback) {
260 0           while ($next_result->nextToken) {
261 0           $next_result = $self->DescribeMetricFilters(@_, nextToken => $next_result->nextToken);
262 0           push @{ $result->metricFilters }, @{ $next_result->metricFilters };
  0            
  0            
263             }
264 0           return $result;
265             } else {
266 0           while ($result->nextToken) {
267 0           $callback->($_ => 'metricFilters') foreach (@{ $result->metricFilters });
  0            
268 0           $result = $self->DescribeMetricFilters(@_, nextToken => $result->nextToken);
269             }
270 0           $callback->($_ => 'metricFilters') foreach (@{ $result->metricFilters });
  0            
271             }
272              
273             return undef
274 0           }
275             sub DescribeAllSubscriptionFilters {
276 0     0 1   my $self = shift;
277              
278 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
279 0           my $result = $self->DescribeSubscriptionFilters(@_);
280 0           my $next_result = $result;
281              
282 0 0         if (not defined $callback) {
283 0           while ($next_result->nextToken) {
284 0           $next_result = $self->DescribeSubscriptionFilters(@_, nextToken => $next_result->nextToken);
285 0           push @{ $result->subscriptionFilters }, @{ $next_result->subscriptionFilters };
  0            
  0            
286             }
287 0           return $result;
288             } else {
289 0           while ($result->nextToken) {
290 0           $callback->($_ => 'subscriptionFilters') foreach (@{ $result->subscriptionFilters });
  0            
291 0           $result = $self->DescribeSubscriptionFilters(@_, nextToken => $result->nextToken);
292             }
293 0           $callback->($_ => 'subscriptionFilters') foreach (@{ $result->subscriptionFilters });
  0            
294             }
295              
296             return undef
297 0           }
298             sub FilterAllLogEvents {
299 0     0 1   my $self = shift;
300              
301 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
302 0           my $result = $self->FilterLogEvents(@_);
303 0           my $next_result = $result;
304              
305 0 0         if (not defined $callback) {
306 0           while ($next_result->nextToken) {
307 0           $next_result = $self->FilterLogEvents(@_, nextToken => $next_result->nextToken);
308 0           push @{ $result->events }, @{ $next_result->events };
  0            
  0            
309 0           push @{ $result->searchedLogStreams }, @{ $next_result->searchedLogStreams };
  0            
  0            
310             }
311 0           return $result;
312             } else {
313 0           while ($result->nextToken) {
314 0           $callback->($_ => 'events') foreach (@{ $result->events });
  0            
315 0           $callback->($_ => 'searchedLogStreams') foreach (@{ $result->searchedLogStreams });
  0            
316 0           $result = $self->FilterLogEvents(@_, nextToken => $result->nextToken);
317             }
318 0           $callback->($_ => 'events') foreach (@{ $result->events });
  0            
319 0           $callback->($_ => 'searchedLogStreams') foreach (@{ $result->searchedLogStreams });
  0            
320             }
321              
322             return undef
323 0           }
324              
325              
326 0     0 0   sub operations { qw/AssociateKmsKey CancelExportTask CreateExportTask CreateLogGroup CreateLogStream DeleteDestination DeleteLogGroup DeleteLogStream DeleteMetricFilter DeleteResourcePolicy DeleteRetentionPolicy DeleteSubscriptionFilter DescribeDestinations DescribeExportTasks DescribeLogGroups DescribeLogStreams DescribeMetricFilters DescribeResourcePolicies DescribeSubscriptionFilters DisassociateKmsKey FilterLogEvents GetLogEvents ListTagsLogGroup PutDestination PutDestinationPolicy PutLogEvents PutMetricFilter PutResourcePolicy PutRetentionPolicy PutSubscriptionFilter TagLogGroup TestMetricFilter UntagLogGroup / }
327              
328             1;
329              
330             ### main pod documentation begin ###
331              
332             =head1 NAME
333              
334             Paws::CloudWatchLogs - Perl Interface to AWS Amazon CloudWatch Logs
335              
336             =head1 SYNOPSIS
337              
338             use Paws;
339              
340             my $obj = Paws->service('CloudWatchLogs');
341             my $res = $obj->Method(
342             Arg1 => $val1,
343             Arg2 => [ 'V1', 'V2' ],
344             # if Arg3 is an object, the HashRef will be used as arguments to the constructor
345             # of the arguments type
346             Arg3 => { Att1 => 'Val1' },
347             # if Arg4 is an array of objects, the HashRefs will be passed as arguments to
348             # the constructor of the arguments type
349             Arg4 => [ { Att1 => 'Val1' }, { Att1 => 'Val2' } ],
350             );
351              
352             =head1 DESCRIPTION
353              
354             You can use Amazon CloudWatch Logs to monitor, store, and access your
355             log files from Amazon EC2 instances, AWS CloudTrail, or other sources.
356             You can then retrieve the associated log data from CloudWatch Logs
357             using the CloudWatch console, CloudWatch Logs commands in the AWS CLI,
358             CloudWatch Logs API, or CloudWatch Logs SDK.
359              
360             You can use CloudWatch Logs to:
361              
362             =over
363              
364             =item *
365              
366             B<Monitor logs from EC2 instances in real-time>: You can use CloudWatch
367             Logs to monitor applications and systems using log data. For example,
368             CloudWatch Logs can track the number of errors that occur in your
369             application logs and send you a notification whenever the rate of
370             errors exceeds a threshold that you specify. CloudWatch Logs uses your
371             log data for monitoring; so, no code changes are required. For example,
372             you can monitor application logs for specific literal terms (such as
373             "NullReferenceException") or count the number of occurrences of a
374             literal term at a particular position in log data (such as "404" status
375             codes in an Apache access log). When the term you are searching for is
376             found, CloudWatch Logs reports the data to a CloudWatch metric that you
377             specify.
378              
379             =item *
380              
381             B<Monitor AWS CloudTrail logged events>: You can create alarms in
382             CloudWatch and receive notifications of particular API activity as
383             captured by CloudTrail and use the notification to perform
384             troubleshooting.
385              
386             =item *
387              
388             B<Archive log data>: You can use CloudWatch Logs to store your log data
389             in highly durable storage. You can change the log retention setting so
390             that any log events older than this setting are automatically deleted.
391             The CloudWatch Logs agent makes it easy to quickly send both rotated
392             and non-rotated log data off of a host and into the log service. You
393             can then access the raw log data when you need it.
394              
395             =back
396              
397              
398             =head1 METHODS
399              
400             =head2 AssociateKmsKey(KmsKeyId => Str, LogGroupName => Str)
401              
402             Each argument is described in detail in: L<Paws::CloudWatchLogs::AssociateKmsKey>
403              
404             Returns: nothing
405              
406             Associates the specified AWS Key Management Service (AWS KMS) customer
407             master key (CMK) with the specified log group.
408              
409             Associating an AWS KMS CMK with a log group overrides any existing
410             associations between the log group and a CMK. After a CMK is associated
411             with a log group, all newly ingested data for the log group is
412             encrypted using the CMK. This association is stored as long as the data
413             encrypted with the CMK is still within Amazon CloudWatch Logs. This
414             enables Amazon CloudWatch Logs to decrypt this data whenever it is
415             requested.
416              
417             Note that it can take up to 5 minutes for this operation to take
418             effect.
419              
420             If you attempt to associate a CMK with a log group but the CMK does not
421             exist or the CMK is disabled, you will receive an
422             C<InvalidParameterException> error.
423              
424              
425             =head2 CancelExportTask(TaskId => Str)
426              
427             Each argument is described in detail in: L<Paws::CloudWatchLogs::CancelExportTask>
428              
429             Returns: nothing
430              
431             Cancels the specified export task.
432              
433             The task must be in the C<PENDING> or C<RUNNING> state.
434              
435              
436             =head2 CreateExportTask(Destination => Str, From => Int, LogGroupName => Str, To => Int, [DestinationPrefix => Str, LogStreamNamePrefix => Str, TaskName => Str])
437              
438             Each argument is described in detail in: L<Paws::CloudWatchLogs::CreateExportTask>
439              
440             Returns: a L<Paws::CloudWatchLogs::CreateExportTaskResponse> instance
441              
442             Creates an export task, which allows you to efficiently export data
443             from a log group to an Amazon S3 bucket.
444              
445             This is an asynchronous call. If all the required information is
446             provided, this operation initiates an export task and responds with the
447             ID of the task. After the task has started, you can use
448             DescribeExportTasks to get the status of the export task. Each account
449             can only have one active (C<RUNNING> or C<PENDING>) export task at a
450             time. To cancel an export task, use CancelExportTask.
451              
452             You can export logs from multiple log groups or multiple time ranges to
453             the same S3 bucket. To separate out log data for each export task, you
454             can specify a prefix to be used as the Amazon S3 key prefix for all
455             exported objects.
456              
457              
458             =head2 CreateLogGroup(LogGroupName => Str, [KmsKeyId => Str, Tags => L<Paws::CloudWatchLogs::Tags>])
459              
460             Each argument is described in detail in: L<Paws::CloudWatchLogs::CreateLogGroup>
461              
462             Returns: nothing
463              
464             Creates a log group with the specified name.
465              
466             You can create up to 5000 log groups per account.
467              
468             You must use the following guidelines when naming a log group:
469              
470             =over
471              
472             =item *
473              
474             Log group names must be unique within a region for an AWS account.
475              
476             =item *
477              
478             Log group names can be between 1 and 512 characters long.
479              
480             =item *
481              
482             Log group names consist of the following characters: a-z, A-Z, 0-9, '_'
483             (underscore), '-' (hyphen), '/' (forward slash), and '.' (period).
484              
485             =back
486              
487             If you associate a AWS Key Management Service (AWS KMS) customer master
488             key (CMK) with the log group, ingested data is encrypted using the CMK.
489             This association is stored as long as the data encrypted with the CMK
490             is still within Amazon CloudWatch Logs. This enables Amazon CloudWatch
491             Logs to decrypt this data whenever it is requested.
492              
493             If you attempt to associate a CMK with the log group but the CMK does
494             not exist or the CMK is disabled, you will receive an
495             C<InvalidParameterException> error.
496              
497              
498             =head2 CreateLogStream(LogGroupName => Str, LogStreamName => Str)
499              
500             Each argument is described in detail in: L<Paws::CloudWatchLogs::CreateLogStream>
501              
502             Returns: nothing
503              
504             Creates a log stream for the specified log group.
505              
506             There is no limit on the number of log streams that you can create for
507             a log group.
508              
509             You must use the following guidelines when naming a log stream:
510              
511             =over
512              
513             =item *
514              
515             Log stream names must be unique within the log group.
516              
517             =item *
518              
519             Log stream names can be between 1 and 512 characters long.
520              
521             =item *
522              
523             The ':' (colon) and '*' (asterisk) characters are not allowed.
524              
525             =back
526              
527              
528              
529             =head2 DeleteDestination(DestinationName => Str)
530              
531             Each argument is described in detail in: L<Paws::CloudWatchLogs::DeleteDestination>
532              
533             Returns: nothing
534              
535             Deletes the specified destination, and eventually disables all the
536             subscription filters that publish to it. This operation does not delete
537             the physical resource encapsulated by the destination.
538              
539              
540             =head2 DeleteLogGroup(LogGroupName => Str)
541              
542             Each argument is described in detail in: L<Paws::CloudWatchLogs::DeleteLogGroup>
543              
544             Returns: nothing
545              
546             Deletes the specified log group and permanently deletes all the
547             archived log events associated with the log group.
548              
549              
550             =head2 DeleteLogStream(LogGroupName => Str, LogStreamName => Str)
551              
552             Each argument is described in detail in: L<Paws::CloudWatchLogs::DeleteLogStream>
553              
554             Returns: nothing
555              
556             Deletes the specified log stream and permanently deletes all the
557             archived log events associated with the log stream.
558              
559              
560             =head2 DeleteMetricFilter(FilterName => Str, LogGroupName => Str)
561              
562             Each argument is described in detail in: L<Paws::CloudWatchLogs::DeleteMetricFilter>
563              
564             Returns: nothing
565              
566             Deletes the specified metric filter.
567              
568              
569             =head2 DeleteResourcePolicy([PolicyName => Str])
570              
571             Each argument is described in detail in: L<Paws::CloudWatchLogs::DeleteResourcePolicy>
572              
573             Returns: nothing
574              
575             Deletes a resource policy from this account. This revokes the access of
576             the identities in that policy to put log events to this account.
577              
578              
579             =head2 DeleteRetentionPolicy(LogGroupName => Str)
580              
581             Each argument is described in detail in: L<Paws::CloudWatchLogs::DeleteRetentionPolicy>
582              
583             Returns: nothing
584              
585             Deletes the specified retention policy.
586              
587             Log events do not expire if they belong to log groups without a
588             retention policy.
589              
590              
591             =head2 DeleteSubscriptionFilter(FilterName => Str, LogGroupName => Str)
592              
593             Each argument is described in detail in: L<Paws::CloudWatchLogs::DeleteSubscriptionFilter>
594              
595             Returns: nothing
596              
597             Deletes the specified subscription filter.
598              
599              
600             =head2 DescribeDestinations([DestinationNamePrefix => Str, Limit => Int, NextToken => Str])
601              
602             Each argument is described in detail in: L<Paws::CloudWatchLogs::DescribeDestinations>
603              
604             Returns: a L<Paws::CloudWatchLogs::DescribeDestinationsResponse> instance
605              
606             Lists all your destinations. The results are ASCII-sorted by
607             destination name.
608              
609              
610             =head2 DescribeExportTasks([Limit => Int, NextToken => Str, StatusCode => Str, TaskId => Str])
611              
612             Each argument is described in detail in: L<Paws::CloudWatchLogs::DescribeExportTasks>
613              
614             Returns: a L<Paws::CloudWatchLogs::DescribeExportTasksResponse> instance
615              
616             Lists the specified export tasks. You can list all your export tasks or
617             filter the results based on task ID or task status.
618              
619              
620             =head2 DescribeLogGroups([Limit => Int, LogGroupNamePrefix => Str, NextToken => Str])
621              
622             Each argument is described in detail in: L<Paws::CloudWatchLogs::DescribeLogGroups>
623              
624             Returns: a L<Paws::CloudWatchLogs::DescribeLogGroupsResponse> instance
625              
626             Lists the specified log groups. You can list all your log groups or
627             filter the results by prefix. The results are ASCII-sorted by log group
628             name.
629              
630              
631             =head2 DescribeLogStreams(LogGroupName => Str, [Descending => Bool, Limit => Int, LogStreamNamePrefix => Str, NextToken => Str, OrderBy => Str])
632              
633             Each argument is described in detail in: L<Paws::CloudWatchLogs::DescribeLogStreams>
634              
635             Returns: a L<Paws::CloudWatchLogs::DescribeLogStreamsResponse> instance
636              
637             Lists the log streams for the specified log group. You can list all the
638             log streams or filter the results by prefix. You can also control how
639             the results are ordered.
640              
641             This operation has a limit of five transactions per second, after which
642             transactions are throttled.
643              
644              
645             =head2 DescribeMetricFilters([FilterNamePrefix => Str, Limit => Int, LogGroupName => Str, MetricName => Str, MetricNamespace => Str, NextToken => Str])
646              
647             Each argument is described in detail in: L<Paws::CloudWatchLogs::DescribeMetricFilters>
648              
649             Returns: a L<Paws::CloudWatchLogs::DescribeMetricFiltersResponse> instance
650              
651             Lists the specified metric filters. You can list all the metric filters
652             or filter the results by log name, prefix, metric name, or metric
653             namespace. The results are ASCII-sorted by filter name.
654              
655              
656             =head2 DescribeResourcePolicies([Limit => Int, NextToken => Str])
657              
658             Each argument is described in detail in: L<Paws::CloudWatchLogs::DescribeResourcePolicies>
659              
660             Returns: a L<Paws::CloudWatchLogs::DescribeResourcePoliciesResponse> instance
661              
662             Lists the resource policies in this account.
663              
664              
665             =head2 DescribeSubscriptionFilters(LogGroupName => Str, [FilterNamePrefix => Str, Limit => Int, NextToken => Str])
666              
667             Each argument is described in detail in: L<Paws::CloudWatchLogs::DescribeSubscriptionFilters>
668              
669             Returns: a L<Paws::CloudWatchLogs::DescribeSubscriptionFiltersResponse> instance
670              
671             Lists the subscription filters for the specified log group. You can
672             list all the subscription filters or filter the results by prefix. The
673             results are ASCII-sorted by filter name.
674              
675              
676             =head2 DisassociateKmsKey(LogGroupName => Str)
677              
678             Each argument is described in detail in: L<Paws::CloudWatchLogs::DisassociateKmsKey>
679              
680             Returns: nothing
681              
682             Disassociates the associated AWS Key Management Service (AWS KMS)
683             customer master key (CMK) from the specified log group.
684              
685             After the AWS KMS CMK is disassociated from the log group, AWS
686             CloudWatch Logs stops encrypting newly ingested data for the log group.
687             All previously ingested data remains encrypted, and AWS CloudWatch Logs
688             requires permissions for the CMK whenever the encrypted data is
689             requested.
690              
691             Note that it can take up to 5 minutes for this operation to take
692             effect.
693              
694              
695             =head2 FilterLogEvents(LogGroupName => Str, [EndTime => Int, FilterPattern => Str, Interleaved => Bool, Limit => Int, LogStreamNames => ArrayRef[Str|Undef], NextToken => Str, StartTime => Int])
696              
697             Each argument is described in detail in: L<Paws::CloudWatchLogs::FilterLogEvents>
698              
699             Returns: a L<Paws::CloudWatchLogs::FilterLogEventsResponse> instance
700              
701             Lists log events from the specified log group. You can list all the log
702             events or filter the results using a filter pattern, a time range, and
703             the name of the log stream.
704              
705             By default, this operation returns as many log events as can fit in 1
706             MB (up to 10,000 log events), or all the events found within the time
707             range that you specify. If the results include a token, then there are
708             more log events available, and you can get additional results by
709             specifying the token in a subsequent call.
710              
711              
712             =head2 GetLogEvents(LogGroupName => Str, LogStreamName => Str, [EndTime => Int, Limit => Int, NextToken => Str, StartFromHead => Bool, StartTime => Int])
713              
714             Each argument is described in detail in: L<Paws::CloudWatchLogs::GetLogEvents>
715              
716             Returns: a L<Paws::CloudWatchLogs::GetLogEventsResponse> instance
717              
718             Lists log events from the specified log stream. You can list all the
719             log events or filter using a time range.
720              
721             By default, this operation returns as many log events as can fit in a
722             response size of 1MB (up to 10,000 log events). You can get additional
723             log events by specifying one of the tokens in a subsequent call.
724              
725              
726             =head2 ListTagsLogGroup(LogGroupName => Str)
727              
728             Each argument is described in detail in: L<Paws::CloudWatchLogs::ListTagsLogGroup>
729              
730             Returns: a L<Paws::CloudWatchLogs::ListTagsLogGroupResponse> instance
731              
732             Lists the tags for the specified log group.
733              
734              
735             =head2 PutDestination(DestinationName => Str, RoleArn => Str, TargetArn => Str)
736              
737             Each argument is described in detail in: L<Paws::CloudWatchLogs::PutDestination>
738              
739             Returns: a L<Paws::CloudWatchLogs::PutDestinationResponse> instance
740              
741             Creates or updates a destination. A destination encapsulates a physical
742             resource (such as an Amazon Kinesis stream) and enables you to
743             subscribe to a real-time stream of log events for a different account,
744             ingested using PutLogEvents. Currently, the only supported physical
745             resource is a Kinesis stream belonging to the same account as the
746             destination.
747              
748             Through an access policy, a destination controls what is written to its
749             Kinesis stream. By default, C<PutDestination> does not set any access
750             policy with the destination, which means a cross-account user cannot
751             call PutSubscriptionFilter against this destination. To enable this,
752             the destination owner must call PutDestinationPolicy after
753             C<PutDestination>.
754              
755              
756             =head2 PutDestinationPolicy(AccessPolicy => Str, DestinationName => Str)
757              
758             Each argument is described in detail in: L<Paws::CloudWatchLogs::PutDestinationPolicy>
759              
760             Returns: nothing
761              
762             Creates or updates an access policy associated with an existing
763             destination. An access policy is an IAM policy document that is used to
764             authorize claims to register a subscription filter against a given
765             destination.
766              
767              
768             =head2 PutLogEvents(LogEvents => ArrayRef[L<Paws::CloudWatchLogs::InputLogEvent>], LogGroupName => Str, LogStreamName => Str, [SequenceToken => Str])
769              
770             Each argument is described in detail in: L<Paws::CloudWatchLogs::PutLogEvents>
771              
772             Returns: a L<Paws::CloudWatchLogs::PutLogEventsResponse> instance
773              
774             Uploads a batch of log events to the specified log stream.
775              
776             You must include the sequence token obtained from the response of the
777             previous call. An upload in a newly created log stream does not require
778             a sequence token. You can also get the sequence token using
779             DescribeLogStreams. If you call C<PutLogEvents> twice within a narrow
780             time period using the same value for C<sequenceToken>, both calls may
781             be successful, or one may be rejected.
782              
783             The batch of events must satisfy the following constraints:
784              
785             =over
786              
787             =item *
788              
789             The maximum batch size is 1,048,576 bytes, and this size is calculated
790             as the sum of all event messages in UTF-8, plus 26 bytes for each log
791             event.
792              
793             =item *
794              
795             None of the log events in the batch can be more than 2 hours in the
796             future.
797              
798             =item *
799              
800             None of the log events in the batch can be older than 14 days or the
801             retention period of the log group.
802              
803             =item *
804              
805             The log events in the batch must be in chronological ordered by their
806             time stamp (the time the event occurred, expressed as the number of
807             milliseconds after Jan 1, 1970 00:00:00 UTC).
808              
809             =item *
810              
811             The maximum number of log events in a batch is 10,000.
812              
813             =item *
814              
815             A batch of log events in a single request cannot span more than 24
816             hours. Otherwise, the operation fails.
817              
818             =back
819              
820              
821              
822             =head2 PutMetricFilter(FilterName => Str, FilterPattern => Str, LogGroupName => Str, MetricTransformations => ArrayRef[L<Paws::CloudWatchLogs::MetricTransformation>])
823              
824             Each argument is described in detail in: L<Paws::CloudWatchLogs::PutMetricFilter>
825              
826             Returns: nothing
827              
828             Creates or updates a metric filter and associates it with the specified
829             log group. Metric filters allow you to configure rules to extract
830             metric data from log events ingested through PutLogEvents.
831              
832             The maximum number of metric filters that can be associated with a log
833             group is 100.
834              
835              
836             =head2 PutResourcePolicy([PolicyDocument => Str, PolicyName => Str])
837              
838             Each argument is described in detail in: L<Paws::CloudWatchLogs::PutResourcePolicy>
839              
840             Returns: a L<Paws::CloudWatchLogs::PutResourcePolicyResponse> instance
841              
842             Creates or updates a resource policy allowing other AWS services to put
843             log events to this account, such as Amazon Route 53. An account can
844             have up to 50 resource policies per region.
845              
846              
847             =head2 PutRetentionPolicy(LogGroupName => Str, RetentionInDays => Int)
848              
849             Each argument is described in detail in: L<Paws::CloudWatchLogs::PutRetentionPolicy>
850              
851             Returns: nothing
852              
853             Sets the retention of the specified log group. A retention policy
854             allows you to configure the number of days for which to retain log
855             events in the specified log group.
856              
857              
858             =head2 PutSubscriptionFilter(DestinationArn => Str, FilterName => Str, FilterPattern => Str, LogGroupName => Str, [Distribution => Str, RoleArn => Str])
859              
860             Each argument is described in detail in: L<Paws::CloudWatchLogs::PutSubscriptionFilter>
861              
862             Returns: nothing
863              
864             Creates or updates a subscription filter and associates it with the
865             specified log group. Subscription filters allow you to subscribe to a
866             real-time stream of log events ingested through PutLogEvents and have
867             them delivered to a specific destination. Currently, the supported
868             destinations are:
869              
870             =over
871              
872             =item *
873              
874             An Amazon Kinesis stream belonging to the same account as the
875             subscription filter, for same-account delivery.
876              
877             =item *
878              
879             A logical destination that belongs to a different account, for
880             cross-account delivery.
881              
882             =item *
883              
884             An Amazon Kinesis Firehose delivery stream that belongs to the same
885             account as the subscription filter, for same-account delivery.
886              
887             =item *
888              
889             An AWS Lambda function that belongs to the same account as the
890             subscription filter, for same-account delivery.
891              
892             =back
893              
894             There can only be one subscription filter associated with a log group.
895             If you are updating an existing filter, you must specify the correct
896             name in C<filterName>. Otherwise, the call fails because you cannot
897             associate a second filter with a log group.
898              
899              
900             =head2 TagLogGroup(LogGroupName => Str, Tags => L<Paws::CloudWatchLogs::Tags>)
901              
902             Each argument is described in detail in: L<Paws::CloudWatchLogs::TagLogGroup>
903              
904             Returns: nothing
905              
906             Adds or updates the specified tags for the specified log group.
907              
908             To list the tags for a log group, use ListTagsLogGroup. To remove tags,
909             use UntagLogGroup.
910              
911             For more information about tags, see Tag Log Groups in Amazon
912             CloudWatch Logs in the I<Amazon CloudWatch Logs User Guide>.
913              
914              
915             =head2 TestMetricFilter(FilterPattern => Str, LogEventMessages => ArrayRef[Str|Undef])
916              
917             Each argument is described in detail in: L<Paws::CloudWatchLogs::TestMetricFilter>
918              
919             Returns: a L<Paws::CloudWatchLogs::TestMetricFilterResponse> instance
920              
921             Tests the filter pattern of a metric filter against a sample of log
922             event messages. You can use this operation to validate the correctness
923             of a metric filter pattern.
924              
925              
926             =head2 UntagLogGroup(LogGroupName => Str, Tags => ArrayRef[Str|Undef])
927              
928             Each argument is described in detail in: L<Paws::CloudWatchLogs::UntagLogGroup>
929              
930             Returns: nothing
931              
932             Removes the specified tags from the specified log group.
933              
934             To list the tags for a log group, use ListTagsLogGroup. To add tags,
935             use UntagLogGroup.
936              
937              
938              
939              
940             =head1 PAGINATORS
941              
942             Paginator methods are helpers that repetively call methods that return partial results
943              
944             =head2 DescribeAllDestinations(sub { },[DestinationNamePrefix => Str, Limit => Int, NextToken => Str])
945              
946             =head2 DescribeAllDestinations([DestinationNamePrefix => Str, Limit => Int, NextToken => Str])
947              
948              
949             If passed a sub as first parameter, it will call the sub for each element found in :
950              
951             - destinations, passing the object as the first parameter, and the string 'destinations' as the second parameter
952              
953             If not, it will return a a L<Paws::CloudWatchLogs::DescribeDestinationsResponse> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
954              
955              
956             =head2 DescribeAllLogGroups(sub { },[Limit => Int, LogGroupNamePrefix => Str, NextToken => Str])
957              
958             =head2 DescribeAllLogGroups([Limit => Int, LogGroupNamePrefix => Str, NextToken => Str])
959              
960              
961             If passed a sub as first parameter, it will call the sub for each element found in :
962              
963             - logGroups, passing the object as the first parameter, and the string 'logGroups' as the second parameter
964              
965             If not, it will return a a L<Paws::CloudWatchLogs::DescribeLogGroupsResponse> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
966              
967              
968             =head2 DescribeAllLogStreams(sub { },LogGroupName => Str, [Descending => Bool, Limit => Int, LogStreamNamePrefix => Str, NextToken => Str, OrderBy => Str])
969              
970             =head2 DescribeAllLogStreams(LogGroupName => Str, [Descending => Bool, Limit => Int, LogStreamNamePrefix => Str, NextToken => Str, OrderBy => Str])
971              
972              
973             If passed a sub as first parameter, it will call the sub for each element found in :
974              
975             - logStreams, passing the object as the first parameter, and the string 'logStreams' as the second parameter
976              
977             If not, it will return a a L<Paws::CloudWatchLogs::DescribeLogStreamsResponse> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
978              
979              
980             =head2 DescribeAllMetricFilters(sub { },[FilterNamePrefix => Str, Limit => Int, LogGroupName => Str, MetricName => Str, MetricNamespace => Str, NextToken => Str])
981              
982             =head2 DescribeAllMetricFilters([FilterNamePrefix => Str, Limit => Int, LogGroupName => Str, MetricName => Str, MetricNamespace => Str, NextToken => Str])
983              
984              
985             If passed a sub as first parameter, it will call the sub for each element found in :
986              
987             - metricFilters, passing the object as the first parameter, and the string 'metricFilters' as the second parameter
988              
989             If not, it will return a a L<Paws::CloudWatchLogs::DescribeMetricFiltersResponse> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
990              
991              
992             =head2 DescribeAllSubscriptionFilters(sub { },LogGroupName => Str, [FilterNamePrefix => Str, Limit => Int, NextToken => Str])
993              
994             =head2 DescribeAllSubscriptionFilters(LogGroupName => Str, [FilterNamePrefix => Str, Limit => Int, NextToken => Str])
995              
996              
997             If passed a sub as first parameter, it will call the sub for each element found in :
998              
999             - subscriptionFilters, passing the object as the first parameter, and the string 'subscriptionFilters' as the second parameter
1000              
1001             If not, it will return a a L<Paws::CloudWatchLogs::DescribeSubscriptionFiltersResponse> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
1002              
1003              
1004             =head2 FilterAllLogEvents(sub { },LogGroupName => Str, [EndTime => Int, FilterPattern => Str, Interleaved => Bool, Limit => Int, LogStreamNames => ArrayRef[Str|Undef], NextToken => Str, StartTime => Int])
1005              
1006             =head2 FilterAllLogEvents(LogGroupName => Str, [EndTime => Int, FilterPattern => Str, Interleaved => Bool, Limit => Int, LogStreamNames => ArrayRef[Str|Undef], NextToken => Str, StartTime => Int])
1007              
1008              
1009             If passed a sub as first parameter, it will call the sub for each element found in :
1010              
1011             - events, passing the object as the first parameter, and the string 'events' as the second parameter
1012              
1013             - searchedLogStreams, passing the object as the first parameter, and the string 'searchedLogStreams' as the second parameter
1014              
1015             If not, it will return a a L<Paws::CloudWatchLogs::FilterLogEventsResponse> instance with all the C<param>s; andC<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
1016              
1017              
1018              
1019              
1020              
1021             =head1 SEE ALSO
1022              
1023             This service class forms part of L<Paws>
1024              
1025             =head1 BUGS and CONTRIBUTIONS
1026              
1027             The source code is located here: https://github.com/pplu/aws-sdk-perl
1028              
1029             Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues
1030              
1031             =cut
1032