File Coverage

blib/lib/Net/Amazon/EC2/SecurityGroup.pm
Criterion Covered Total %
statement 6 6 100.0
branch n/a
condition n/a
subroutine 2 2 100.0
pod n/a
total 8 8 100.0


line stmt bran cond sub pod time code
1             package Net::Amazon::EC2::SecurityGroup;
2 2     2   1500 use Moose;
  2         5  
  2         17  
3              
4             =head1 NAME
5              
6             Net::Amazon::EC2::SecurityGroup
7              
8             =head1 DESCRIPTION
9              
10             A class representing a security group.
11              
12             =head1 ATTRIBUTES
13              
14             =over
15              
16             =item owner_id (required)
17              
18             The AWS Access Key ID of the owner of the security group.
19              
20             =item group_name (required)
21              
22             The name of the security group.
23              
24             =item group_id (required)
25              
26             The id of the security group.
27              
28             =item group_description (required)
29              
30             The description of the security group.
31              
32             =item ip_permissions (optional)
33              
34             An array ref of Net::Amazon::EC2::IpPermission objects for ingress.
35              
36             =item ip_permissions_egress (optional)
37              
38             An array ref of Net::Amazon::EC2::IpPermission objects for egress.
39              
40             =item vpc_id (optional)
41              
42             The VPC id of the corresponding security group
43              
44             =item tag_set (optional)
45              
46             The set of associated tags for the security group
47              
48             =cut
49              
50             has 'owner_id' => ( is => 'ro', isa => 'Str', required => 1 );
51             has 'group_name' => ( is => 'ro', isa => 'Str', required => 1 );
52             has 'group_id' => ( is => 'ro', isa => 'Str', required => 1 );
53             has 'group_description' => ( is => 'ro', isa => 'Str', required => 1 );
54             has 'ip_permissions' => (
55             is => 'ro',
56             isa => 'Maybe[ArrayRef[Net::Amazon::EC2::IpPermission]]',
57             predicate => 'has_ip_permissions',
58             default => sub { [ ] },
59             );
60             has 'ip_permissions_egress' => (
61             is => 'ro',
62             isa => 'Maybe[ArrayRef[Net::Amazon::EC2::IpPermission]]',
63             predicate => 'has_ip_permissions_egress',
64             default => sub { [ ] },
65             );
66             has 'vpc_id' => ( is => 'ro', isa => 'Maybe[Str]', required => 0 );
67             has 'tag_set' => ( is => 'ro', isa => 'Maybe[ArrayRef[Net::Amazon::EC2::TagSet]]', required => 0 );
68              
69             __PACKAGE__->meta->make_immutable();
70              
71             =back
72              
73             =head1 AUTHOR
74              
75             Jeff Kim <cpan@chosec.com>
76              
77             =head1 COPYRIGHT
78              
79             Copyright (c) 2006-2010 Jeff Kim. This program is free software; you can redistribute it and/or modify it
80             under the same terms as Perl itself.
81              
82             =cut
83              
84 2     2   13550 no Moose;
  2         5  
  2         10  
85             1;