File: Errors.pm

package info (click to toggle)
libnet-amazon-ec2-perl 0.36-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 480 kB
  • sloc: perl: 3,323; makefile: 9
file content (59 lines) | stat: -rw-r--r-- 1,162 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
package Net::Amazon::EC2::Errors;
$Net::Amazon::EC2::Errors::VERSION = '0.36';
use Moose;

=head1 NAME

Net::Amazon::EC2::Errors

=head1 DESCRIPTION

A class representing one or more errors from an API request.

=head1 ATTRIBUTES

=over

=item request_id (required)

The ID of the request associated with this error.

=item errors (required)

An array ref of Net::Amazon::EC2::Error objects associated with this request.

=cut

use overload '""' => 'as_string';

has 'request_id'    => ( is => 'ro', isa => 'Str', required => 1 );
has 'errors'        => ( 
    is          => 'rw', 
    isa         => 'ArrayRef[Net::Amazon::EC2::Error]',
    predicate   => 'has_errors',
    required    => 1,
);

sub as_string {
  my $self = shift;
  my $errors = join '', map { '['.$_->code.'] '.$_->message."\n" } @{$self->errors};
  return "Amazon EC2 Errors [Request ".$self->request_id."]:\n$errors"
}

__PACKAGE__->meta->make_immutable();

=back

=head1 AUTHOR

Jeff Kim <cpan@chosec.com>

=head1 COPYRIGHT

Copyright (c) 2006-2010 Jeff Kim. This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.

=cut

no Moose;
1;