1package VM::EC2::ELB::PolicyAttributeType;
2
3=head1 NAME
4
5VM::EC2::ELB::PolicyAttributeType - Load Balancer Policy Attribute Type
6
7=head1 SYNOPSIS
8
9 use VM::EC2;
10
11 my $ec2          = VM::EC2->new(...);
12 my @policy_types = $ec2->describe_load_balancer_policy_types;
13 foreach my $type (@policy_types) {
14     print $type,': ',$type->Description,"\n";
15     foreach ($type->attribute_types) {
16         print $_->AttributeName,"\n ",
17               $_->AttributeType,"\n ",
18               $_->Cardinality,"\n ",
19               $_->DefaultValue,"\n ",
20               $_->Description,"\n ";
21     }
22 }
23
24=head1 DESCRIPTION
25
26This object is used to describe the ELB PolicyAttributeTypeDescription data
27type.
28
29=head1 METHODS
30
31The following object methods are supported:
32
33 AttributeName    -- The attribute name
34 AttributeType    -- The attribute type
35 Cardinality      -- Cardinality of the policy attribute
36 DefaultValue     -- Default value for the attribute
37 Description      -- Description of the attribute
38
39=head1 STRING OVERLOADING
40
41In string context, the object will return the Attribute Name.
42
43=head1 SEE ALSO
44
45L<VM::EC2>
46L<VM::EC2::Generic>
47L<VM::EC2::ELB::PolicyType>
48
49=head1 AUTHOR
50
51Lance Kinley E<lt>lkinley@loyaltymethods.comE<gt>.
52
53Copyright (c) 2012 Loyalty Methods, Inc.
54
55This package and its accompanying libraries is free software; you can
56redistribute it and/or modify it under the terms of the GPL (either
57version 1, or at your option, any later version) or the Artistic
58License 2.0.  Refer to LICENSE for the full license text. In addition,
59please see DISCLAIMER.txt for disclaimers of warranty.
60
61=cut
62
63use strict;
64use base 'VM::EC2::Generic';
65
66use overload
67    '""'     => sub { shift->AttributeName },
68    fallback => 1;
69
70sub valid_fields {
71    my $self = shift;
72    return qw(AttributeName AttributeType Cardinality DefaultValue Description);
73}
74
751;
76