File Coverage

blib/lib/Paws/CloudWatch.pm
Criterion Covered Total %
statement 19 109 17.4
branch 0 12 0.0
condition n/a
subroutine 7 24 29.1
pod 18 22 81.8
total 44 167 26.3


line stmt bran cond sub pod time code
1             package Paws::CloudWatch;
2 1     1   2457 use Moose;
  1     2   2  
  1         8  
  2         2359  
  2         8  
  2         23  
3 15     15 0 65 sub service { 'monitoring' }
4 0     0 0 0 sub version { '2010-08-01' }
5 0     0 0 0 sub flattened_arrays { 0 }
6             has max_attempts => (is => 'ro', isa => 'Int', default => 5);
7             has retry => (is => 'ro', isa => 'HashRef', default => sub {
8             { base => 'rand', type => 'exponential', growth_factor => 2 }
9             });
10             has retriables => (is => 'ro', isa => 'ArrayRef', default => sub { [
11             ] });
12              
13             with 'Paws::API::Caller', 'Paws::API::EndpointResolver', 'Paws::Net::V4Signature', 'Paws::Net::QueryCaller', 'Paws::Net::XMLResponse';
14              
15            
16             sub DeleteAlarms {
17 0     0 1 0 my $self = shift;
18 0         0 my $call_object = $self->new_with_coercions('Paws::CloudWatch::DeleteAlarms', @_);
19 0         0 return $self->caller->do_call($self, $call_object);
20             }
21             sub DeleteDashboards {
22 0     0 1 0 my $self = shift;
23 0         0 my $call_object = $self->new_with_coercions('Paws::CloudWatch::DeleteDashboards', @_);
24 0         0 return $self->caller->do_call($self, $call_object);
25             }
26             sub DescribeAlarmHistory {
27 1     1 1 436 my $self = shift;
28 1         8 my $call_object = $self->new_with_coercions('Paws::CloudWatch::DescribeAlarmHistory', @_);
29 1         870 return $self->caller->do_call($self, $call_object);
30             }
31             sub DescribeAlarms {
32 1     1 1 386 my $self = shift;
33 1         20 my $call_object = $self->new_with_coercions('Paws::CloudWatch::DescribeAlarms', @_);
34 1         930 return $self->caller->do_call($self, $call_object);
35             }
36             sub DescribeAlarmsForMetric {
37 0     0 1 0 my $self = shift;
38 0         0 my $call_object = $self->new_with_coercions('Paws::CloudWatch::DescribeAlarmsForMetric', @_);
39 0         0 return $self->caller->do_call($self, $call_object);
40             }
41             sub DisableAlarmActions {
42 0     0 1 0 my $self = shift;
43 0         0 my $call_object = $self->new_with_coercions('Paws::CloudWatch::DisableAlarmActions', @_);
44 0         0 return $self->caller->do_call($self, $call_object);
45             }
46             sub EnableAlarmActions {
47 0     0 1 0 my $self = shift;
48 0         0 my $call_object = $self->new_with_coercions('Paws::CloudWatch::EnableAlarmActions', @_);
49 0         0 return $self->caller->do_call($self, $call_object);
50             }
51             sub GetDashboard {
52 0     0 1 0 my $self = shift;
53 0         0 my $call_object = $self->new_with_coercions('Paws::CloudWatch::GetDashboard', @_);
54 0         0 return $self->caller->do_call($self, $call_object);
55             }
56             sub GetMetricStatistics {
57 1     1 1 950 my $self = shift;
58 1         8 my $call_object = $self->new_with_coercions('Paws::CloudWatch::GetMetricStatistics', @_);
59 1         1984 return $self->caller->do_call($self, $call_object);
60             }
61             sub ListDashboards {
62 0     0 1 0 my $self = shift;
63 0         0 my $call_object = $self->new_with_coercions('Paws::CloudWatch::ListDashboards', @_);
64 0         0 return $self->caller->do_call($self, $call_object);
65             }
66             sub ListMetrics {
67 2     2 1 616 my $self = shift;
68 2         16 my $call_object = $self->new_with_coercions('Paws::CloudWatch::ListMetrics', @_);
69 2         1341 return $self->caller->do_call($self, $call_object);
70             }
71             sub PutDashboard {
72 0     0 1   my $self = shift;
73 0           my $call_object = $self->new_with_coercions('Paws::CloudWatch::PutDashboard', @_);
74 0           return $self->caller->do_call($self, $call_object);
75             }
76             sub PutMetricAlarm {
77 0     0 1   my $self = shift;
78 0           my $call_object = $self->new_with_coercions('Paws::CloudWatch::PutMetricAlarm', @_);
79 0           return $self->caller->do_call($self, $call_object);
80             }
81             sub PutMetricData {
82 0     0 1   my $self = shift;
83 0           my $call_object = $self->new_with_coercions('Paws::CloudWatch::PutMetricData', @_);
84 0           return $self->caller->do_call($self, $call_object);
85             }
86             sub SetAlarmState {
87 0     0 1   my $self = shift;
88 0           my $call_object = $self->new_with_coercions('Paws::CloudWatch::SetAlarmState', @_);
89 0           return $self->caller->do_call($self, $call_object);
90             }
91            
92             sub DescribeAllAlarmHistory {
93 0     0 1   my $self = shift;
94              
95 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
96 0           my $result = $self->DescribeAlarmHistory(@_);
97 0           my $next_result = $result;
98              
99 0 0         if (not defined $callback) {
100 0           while ($next_result->NextToken) {
101 0           $next_result = $self->DescribeAlarmHistory(@_, NextToken => $next_result->NextToken);
102 0           push @{ $result->AlarmHistoryItems }, @{ $next_result->AlarmHistoryItems };
  0            
  0            
103             }
104 0           return $result;
105             } else {
106 0           while ($result->NextToken) {
107 0           $callback->($_ => 'AlarmHistoryItems') foreach (@{ $result->AlarmHistoryItems });
  0            
108 0           $result = $self->DescribeAlarmHistory(@_, NextToken => $result->NextToken);
109             }
110 0           $callback->($_ => 'AlarmHistoryItems') foreach (@{ $result->AlarmHistoryItems });
  0            
111             }
112              
113             return undef
114 0           }
115             sub DescribeAllAlarms {
116 0     0 1   my $self = shift;
117              
118 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
119 0           my $result = $self->DescribeAlarms(@_);
120 0           my $next_result = $result;
121              
122 0 0         if (not defined $callback) {
123 0           while ($next_result->NextToken) {
124 0           $next_result = $self->DescribeAlarms(@_, NextToken => $next_result->NextToken);
125 0           push @{ $result->MetricAlarms }, @{ $next_result->MetricAlarms };
  0            
  0            
126             }
127 0           return $result;
128             } else {
129 0           while ($result->NextToken) {
130 0           $callback->($_ => 'MetricAlarms') foreach (@{ $result->MetricAlarms });
  0            
131 0           $result = $self->DescribeAlarms(@_, NextToken => $result->NextToken);
132             }
133 0           $callback->($_ => 'MetricAlarms') foreach (@{ $result->MetricAlarms });
  0            
134             }
135              
136             return undef
137 0           }
138             sub ListAllMetrics {
139 0     0 1   my $self = shift;
140              
141 0 0         my $callback = shift @_ if (ref($_[0]) eq 'CODE');
142 0           my $result = $self->ListMetrics(@_);
143 0           my $next_result = $result;
144              
145 0 0         if (not defined $callback) {
146 0           while ($next_result->NextToken) {
147 0           $next_result = $self->ListMetrics(@_, NextToken => $next_result->NextToken);
148 0           push @{ $result->Metrics }, @{ $next_result->Metrics };
  0            
  0            
149             }
150 0           return $result;
151             } else {
152 0           while ($result->NextToken) {
153 0           $callback->($_ => 'Metrics') foreach (@{ $result->Metrics });
  0            
154 0           $result = $self->ListMetrics(@_, NextToken => $result->NextToken);
155             }
156 0           $callback->($_ => 'Metrics') foreach (@{ $result->Metrics });
  0            
157             }
158              
159             return undef
160 0           }
161              
162              
163 0     0 0   sub operations { qw/DeleteAlarms DeleteDashboards DescribeAlarmHistory DescribeAlarms DescribeAlarmsForMetric DisableAlarmActions EnableAlarmActions GetDashboard GetMetricStatistics ListDashboards ListMetrics PutDashboard PutMetricAlarm PutMetricData SetAlarmState / }
164              
165             1;
166              
167             ### main pod documentation begin ###
168              
169             =head1 NAME
170              
171             Paws::CloudWatch - Perl Interface to AWS Amazon CloudWatch
172              
173             =head1 SYNOPSIS
174              
175             use Paws;
176              
177             my $obj = Paws->service('CloudWatch');
178             my $res = $obj->Method(
179             Arg1 => $val1,
180             Arg2 => [ 'V1', 'V2' ],
181             # if Arg3 is an object, the HashRef will be used as arguments to the constructor
182             # of the arguments type
183             Arg3 => { Att1 => 'Val1' },
184             # if Arg4 is an array of objects, the HashRefs will be passed as arguments to
185             # the constructor of the arguments type
186             Arg4 => [ { Att1 => 'Val1' }, { Att1 => 'Val2' } ],
187             );
188              
189             =head1 DESCRIPTION
190              
191             Amazon CloudWatch monitors your Amazon Web Services (AWS) resources and
192             the applications you run on AWS in real time. You can use CloudWatch to
193             collect and track metrics, which are the variables you want to measure
194             for your resources and applications.
195              
196             CloudWatch alarms send notifications or automatically change the
197             resources you are monitoring based on rules that you define. For
198             example, you can monitor the CPU usage and disk reads and writes of
199             your Amazon EC2 instances. Then, use this data to determine whether you
200             should launch additional instances to handle increased load. You can
201             also use this data to stop under-used instances to save money.
202              
203             In addition to monitoring the built-in metrics that come with AWS, you
204             can monitor your own custom metrics. With CloudWatch, you gain
205             system-wide visibility into resource utilization, application
206             performance, and operational health.
207              
208             =head1 METHODS
209              
210             =head2 DeleteAlarms(AlarmNames => ArrayRef[Str|Undef])
211              
212             Each argument is described in detail in: L<Paws::CloudWatch::DeleteAlarms>
213              
214             Returns: nothing
215              
216             Deletes the specified alarms. In the event of an error, no alarms are
217             deleted.
218              
219              
220             =head2 DeleteDashboards([DashboardNames => ArrayRef[Str|Undef]])
221              
222             Each argument is described in detail in: L<Paws::CloudWatch::DeleteDashboards>
223              
224             Returns: a L<Paws::CloudWatch::DeleteDashboardsOutput> instance
225              
226             Deletes all dashboards that you specify. You may specify up to 100
227             dashboards to delete. If there is an error during this call, no
228             dashboards are deleted.
229              
230              
231             =head2 DescribeAlarmHistory([AlarmName => Str, EndDate => Str, HistoryItemType => Str, MaxRecords => Int, NextToken => Str, StartDate => Str])
232              
233             Each argument is described in detail in: L<Paws::CloudWatch::DescribeAlarmHistory>
234              
235             Returns: a L<Paws::CloudWatch::DescribeAlarmHistoryOutput> instance
236              
237             Retrieves the history for the specified alarm. You can filter the
238             results by date range or item type. If an alarm name is not specified,
239             the histories for all alarms are returned.
240              
241             CloudWatch retains the history of an alarm even if you delete the
242             alarm.
243              
244              
245             =head2 DescribeAlarms([ActionPrefix => Str, AlarmNamePrefix => Str, AlarmNames => ArrayRef[Str|Undef], MaxRecords => Int, NextToken => Str, StateValue => Str])
246              
247             Each argument is described in detail in: L<Paws::CloudWatch::DescribeAlarms>
248              
249             Returns: a L<Paws::CloudWatch::DescribeAlarmsOutput> instance
250              
251             Retrieves the specified alarms. If no alarms are specified, all alarms
252             are returned. Alarms can be retrieved by using only a prefix for the
253             alarm name, the alarm state, or a prefix for any action.
254              
255              
256             =head2 DescribeAlarmsForMetric(MetricName => Str, Namespace => Str, [Dimensions => ArrayRef[L<Paws::CloudWatch::Dimension>], ExtendedStatistic => Str, Period => Int, Statistic => Str, Unit => Str])
257              
258             Each argument is described in detail in: L<Paws::CloudWatch::DescribeAlarmsForMetric>
259              
260             Returns: a L<Paws::CloudWatch::DescribeAlarmsForMetricOutput> instance
261              
262             Retrieves the alarms for the specified metric. To filter the results,
263             specify a statistic, period, or unit.
264              
265              
266             =head2 DisableAlarmActions(AlarmNames => ArrayRef[Str|Undef])
267              
268             Each argument is described in detail in: L<Paws::CloudWatch::DisableAlarmActions>
269              
270             Returns: nothing
271              
272             Disables the actions for the specified alarms. When an alarm's actions
273             are disabled, the alarm actions do not execute when the alarm state
274             changes.
275              
276              
277             =head2 EnableAlarmActions(AlarmNames => ArrayRef[Str|Undef])
278              
279             Each argument is described in detail in: L<Paws::CloudWatch::EnableAlarmActions>
280              
281             Returns: nothing
282              
283             Enables the actions for the specified alarms.
284              
285              
286             =head2 GetDashboard([DashboardName => Str])
287              
288             Each argument is described in detail in: L<Paws::CloudWatch::GetDashboard>
289              
290             Returns: a L<Paws::CloudWatch::GetDashboardOutput> instance
291              
292             Displays the details of the dashboard that you specify.
293              
294             To copy an existing dashboard, use C<GetDashboard>, and then use the
295             data returned within C<DashboardBody> as the template for the new
296             dashboard when you call C<PutDashboard> to create the copy.
297              
298              
299             =head2 GetMetricStatistics(EndTime => Str, MetricName => Str, Namespace => Str, Period => Int, StartTime => Str, [Dimensions => ArrayRef[L<Paws::CloudWatch::Dimension>], ExtendedStatistics => ArrayRef[Str|Undef], Statistics => ArrayRef[Str|Undef], Unit => Str])
300              
301             Each argument is described in detail in: L<Paws::CloudWatch::GetMetricStatistics>
302              
303             Returns: a L<Paws::CloudWatch::GetMetricStatisticsOutput> instance
304              
305             Gets statistics for the specified metric.
306              
307             Amazon CloudWatch retains metric data as follows:
308              
309             =over
310              
311             =item *
312              
313             Data points with a period of 60 seconds (1-minute) are available for 15
314             days
315              
316             =item *
317              
318             Data points with a period of 300 seconds (5-minute) are available for
319             63 days
320              
321             =item *
322              
323             Data points with a period of 3600 seconds (1 hour) are available for
324             455 days (15 months)
325              
326             =back
327              
328             CloudWatch started retaining 5-minute and 1-hour metric data as of July
329             9, 2016.
330              
331             The maximum number of data points returned from a single call is 1,440.
332             If you request more than 1,440 data points, CloudWatch returns an
333             error. To reduce the number of data points, you can narrow the
334             specified time range and make multiple requests across adjacent time
335             ranges, or you can increase the specified period. A period can be as
336             short as one minute (60 seconds). Data points are not returned in
337             chronological order.
338              
339             CloudWatch aggregates data points based on the length of the period
340             that you specify. For example, if you request statistics with a
341             one-hour period, CloudWatch aggregates all data points with time stamps
342             that fall within each one-hour period. Therefore, the number of values
343             aggregated by CloudWatch is larger than the number of data points
344             returned.
345              
346             CloudWatch needs raw data points to calculate percentile statistics. If
347             you publish data using a statistic set instead, you can only retrieve
348             percentile statistics for this data if one of the following conditions
349             is true:
350              
351             =over
352              
353             =item *
354              
355             The SampleCount value of the statistic set is 1.
356              
357             =item *
358              
359             The Min and the Max values of the statistic set are equal.
360              
361             =back
362              
363             For a list of metrics and dimensions supported by AWS services, see the
364             Amazon CloudWatch Metrics and Dimensions Reference in the I<Amazon
365             CloudWatch User Guide>.
366              
367              
368             =head2 ListDashboards([DashboardNamePrefix => Str, NextToken => Str])
369              
370             Each argument is described in detail in: L<Paws::CloudWatch::ListDashboards>
371              
372             Returns: a L<Paws::CloudWatch::ListDashboardsOutput> instance
373              
374             Returns a list of the dashboards for your account. If you include
375             C<DashboardNamePrefix>, only those dashboards with names starting with
376             the prefix are listed. Otherwise, all dashboards in your account are
377             listed.
378              
379              
380             =head2 ListMetrics([Dimensions => ArrayRef[L<Paws::CloudWatch::DimensionFilter>], MetricName => Str, Namespace => Str, NextToken => Str])
381              
382             Each argument is described in detail in: L<Paws::CloudWatch::ListMetrics>
383              
384             Returns: a L<Paws::CloudWatch::ListMetricsOutput> instance
385              
386             List the specified metrics. You can use the returned metrics with
387             GetMetricStatistics to obtain statistical data.
388              
389             Up to 500 results are returned for any one call. To retrieve additional
390             results, use the returned token with subsequent calls.
391              
392             After you create a metric, allow up to fifteen minutes before the
393             metric appears. Statistics about the metric, however, are available
394             sooner using GetMetricStatistics.
395              
396              
397             =head2 PutDashboard([DashboardBody => Str, DashboardName => Str])
398              
399             Each argument is described in detail in: L<Paws::CloudWatch::PutDashboard>
400              
401             Returns: a L<Paws::CloudWatch::PutDashboardOutput> instance
402              
403             Creates a dashboard if it does not already exist, or updates an
404             existing dashboard. If you update a dashboard, the entire contents are
405             replaced with what you specify here.
406              
407             You can have up to 500 dashboards per account. All dashboards in your
408             account are global, not region-specific.
409              
410             To copy an existing dashboard, use C<GetDashboard>, and then use the
411             data returned within C<DashboardBody> as the template for the new
412             dashboard when you call C<PutDashboard> to create the copy.
413              
414              
415             =head2 PutMetricAlarm(AlarmName => Str, ComparisonOperator => Str, EvaluationPeriods => Int, MetricName => Str, Namespace => Str, Period => Int, Threshold => Num, [ActionsEnabled => Bool, AlarmActions => ArrayRef[Str|Undef], AlarmDescription => Str, Dimensions => ArrayRef[L<Paws::CloudWatch::Dimension>], EvaluateLowSampleCountPercentile => Str, ExtendedStatistic => Str, InsufficientDataActions => ArrayRef[Str|Undef], OKActions => ArrayRef[Str|Undef], Statistic => Str, TreatMissingData => Str, Unit => Str])
416              
417             Each argument is described in detail in: L<Paws::CloudWatch::PutMetricAlarm>
418              
419             Returns: nothing
420              
421             Creates or updates an alarm and associates it with the specified
422             metric. Optionally, this operation can associate one or more Amazon SNS
423             resources with the alarm.
424              
425             When this operation creates an alarm, the alarm state is immediately
426             set to C<INSUFFICIENT_DATA>. The alarm is evaluated and its state is
427             set appropriately. Any actions associated with the state are then
428             executed.
429              
430             When you update an existing alarm, its state is left unchanged, but the
431             update completely overwrites the previous configuration of the alarm.
432              
433             If you are an IAM user, you must have Amazon EC2 permissions for some
434             operations:
435              
436             =over
437              
438             =item *
439              
440             C<ec2:DescribeInstanceStatus> and C<ec2:DescribeInstances> for all
441             alarms on EC2 instance status metrics
442              
443             =item *
444              
445             C<ec2:StopInstances> for alarms with stop actions
446              
447             =item *
448              
449             C<ec2:TerminateInstances> for alarms with terminate actions
450              
451             =item *
452              
453             C<ec2:DescribeInstanceRecoveryAttribute> and C<ec2:RecoverInstances>
454             for alarms with recover actions
455              
456             =back
457              
458             If you have read/write permissions for Amazon CloudWatch but not for
459             Amazon EC2, you can still create an alarm, but the stop or terminate
460             actions are not performed. However, if you are later granted the
461             required permissions, the alarm actions that you created earlier are
462             performed.
463              
464             If you are using an IAM role (for example, an EC2 instance profile),
465             you cannot stop or terminate the instance using alarm actions. However,
466             you can still see the alarm state and perform any other actions such as
467             Amazon SNS notifications or Auto Scaling policies.
468              
469             If you are using temporary security credentials granted using AWS STS,
470             you cannot stop or terminate an EC2 instance using alarm actions.
471              
472             You must create at least one stop, terminate, or reboot alarm using
473             either the Amazon EC2 or CloudWatch consoles to create the
474             B<EC2ActionsAccess> IAM role. After this IAM role is created, you can
475             create stop, terminate, or reboot alarms using a command-line interface
476             or API.
477              
478              
479             =head2 PutMetricData(MetricData => ArrayRef[L<Paws::CloudWatch::MetricDatum>], Namespace => Str)
480              
481             Each argument is described in detail in: L<Paws::CloudWatch::PutMetricData>
482              
483             Returns: nothing
484              
485             Publishes metric data points to Amazon CloudWatch. CloudWatch
486             associates the data points with the specified metric. If the specified
487             metric does not exist, CloudWatch creates the metric. When CloudWatch
488             creates a metric, it can take up to fifteen minutes for the metric to
489             appear in calls to ListMetrics.
490              
491             Each C<PutMetricData> request is limited to 40 KB in size for HTTP POST
492             requests.
493              
494             Although the C<Value> parameter accepts numbers of type C<Double>,
495             CloudWatch rejects values that are either too small or too large.
496             Values must be in the range of 8.515920e-109 to 1.174271e+108 (Base 10)
497             or 2e-360 to 2e360 (Base 2). In addition, special values (for example,
498             NaN, +Infinity, -Infinity) are not supported.
499              
500             You can use up to 10 dimensions per metric to further clarify what data
501             the metric collects. For more information about specifying dimensions,
502             see Publishing Metrics in the I<Amazon CloudWatch User Guide>.
503              
504             Data points with time stamps from 24 hours ago or longer can take at
505             least 48 hours to become available for GetMetricStatistics from the
506             time they are submitted.
507              
508             CloudWatch needs raw data points to calculate percentile statistics. If
509             you publish data using a statistic set instead, you can only retrieve
510             percentile statistics for this data if one of the following conditions
511             is true:
512              
513             =over
514              
515             =item *
516              
517             The SampleCount value of the statistic set is 1
518              
519             =item *
520              
521             The Min and the Max values of the statistic set are equal
522              
523             =back
524              
525              
526              
527             =head2 SetAlarmState(AlarmName => Str, StateReason => Str, StateValue => Str, [StateReasonData => Str])
528              
529             Each argument is described in detail in: L<Paws::CloudWatch::SetAlarmState>
530              
531             Returns: nothing
532              
533             Temporarily sets the state of an alarm for testing purposes. When the
534             updated state differs from the previous value, the action configured
535             for the appropriate state is invoked. For example, if your alarm is
536             configured to send an Amazon SNS message when an alarm is triggered,
537             temporarily changing the alarm state to C<ALARM> sends an SNS message.
538             The alarm returns to its actual state (often within seconds). Because
539             the alarm state change happens quickly, it is typically only visible in
540             the alarm's B<History> tab in the Amazon CloudWatch console or through
541             DescribeAlarmHistory.
542              
543              
544              
545              
546             =head1 PAGINATORS
547              
548             Paginator methods are helpers that repetively call methods that return partial results
549              
550             =head2 DescribeAllAlarmHistory(sub { },[AlarmName => Str, EndDate => Str, HistoryItemType => Str, MaxRecords => Int, NextToken => Str, StartDate => Str])
551              
552             =head2 DescribeAllAlarmHistory([AlarmName => Str, EndDate => Str, HistoryItemType => Str, MaxRecords => Int, NextToken => Str, StartDate => Str])
553              
554              
555             If passed a sub as first parameter, it will call the sub for each element found in :
556              
557             - AlarmHistoryItems, passing the object as the first parameter, and the string 'AlarmHistoryItems' as the second parameter
558              
559             If not, it will return a a L<Paws::CloudWatch::DescribeAlarmHistoryOutput> 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.
560              
561              
562             =head2 DescribeAllAlarms(sub { },[ActionPrefix => Str, AlarmNamePrefix => Str, AlarmNames => ArrayRef[Str|Undef], MaxRecords => Int, NextToken => Str, StateValue => Str])
563              
564             =head2 DescribeAllAlarms([ActionPrefix => Str, AlarmNamePrefix => Str, AlarmNames => ArrayRef[Str|Undef], MaxRecords => Int, NextToken => Str, StateValue => Str])
565              
566              
567             If passed a sub as first parameter, it will call the sub for each element found in :
568              
569             - MetricAlarms, passing the object as the first parameter, and the string 'MetricAlarms' as the second parameter
570              
571             If not, it will return a a L<Paws::CloudWatch::DescribeAlarmsOutput> 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.
572              
573              
574             =head2 ListAllMetrics(sub { },[Dimensions => ArrayRef[L<Paws::CloudWatch::DimensionFilter>], MetricName => Str, Namespace => Str, NextToken => Str])
575              
576             =head2 ListAllMetrics([Dimensions => ArrayRef[L<Paws::CloudWatch::DimensionFilter>], MetricName => Str, Namespace => Str, NextToken => Str])
577              
578              
579             If passed a sub as first parameter, it will call the sub for each element found in :
580              
581             - Metrics, passing the object as the first parameter, and the string 'Metrics' as the second parameter
582              
583             If not, it will return a a L<Paws::CloudWatch::ListMetricsOutput> 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.
584              
585              
586              
587              
588              
589             =head1 SEE ALSO
590              
591             This service class forms part of L<Paws>
592              
593             =head1 BUGS and CONTRIBUTIONS
594              
595             The source code is located here: https://github.com/pplu/aws-sdk-perl
596              
597             Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues
598              
599             =cut
600