File Coverage

blib/lib/Cfn/Resource/AWS/SES/ReceiptRule.pm
Criterion Covered Total %
statement 68 68 100.0
branch n/a
condition n/a
subroutine 24 24 100.0
pod 0 2 0.0
total 92 94 97.8


line stmt bran cond sub pod time code
1             # AWS::SES::ReceiptRule generated from spec 2.25.0
2 1     1   728 use Moose::Util::TypeConstraints;
  1         3  
  1         11  
3              
4             coerce 'Cfn::Resource::Properties::AWS::SES::ReceiptRule',
5             from 'HashRef',
6             via { Cfn::Resource::Properties::AWS::SES::ReceiptRule->new( %$_ ) };
7              
8             package Cfn::Resource::AWS::SES::ReceiptRule {
9 1     1   2142 use Moose;
  1         4  
  1         9  
10             extends 'Cfn::Resource';
11             has Properties => (isa => 'Cfn::Resource::Properties::AWS::SES::ReceiptRule', is => 'rw', coerce => 1);
12            
13             sub AttributeList {
14 1     1 0 4 [ ]
15             }
16             sub supported_regions {
17 1     1 0 1149 [ 'eu-west-1','us-east-1','us-west-2' ]
18             }
19             }
20              
21              
22              
23             subtype 'Cfn::Resource::Properties::AWS::SES::ReceiptRule::WorkmailAction',
24             as 'Cfn::Value';
25              
26             coerce 'Cfn::Resource::Properties::AWS::SES::ReceiptRule::WorkmailAction',
27             from 'HashRef',
28             via {
29             if (my $f = Cfn::TypeLibrary::try_function($_)) {
30             return $f
31             } else {
32             return Cfn::Resource::Properties::AWS::SES::ReceiptRule::WorkmailActionValue->new( %$_ );
33             }
34             };
35              
36             package Cfn::Resource::Properties::AWS::SES::ReceiptRule::WorkmailActionValue {
37 1     1   7032 use Moose;
  1         3  
  1         5  
38 1     1   6440 use MooseX::StrictConstructor;
  1         3  
  1         13  
39             extends 'Cfn::Value::TypedValue';
40            
41             has OrganizationArn => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
42             has TopicArn => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
43             }
44              
45             subtype 'Cfn::Resource::Properties::AWS::SES::ReceiptRule::StopAction',
46             as 'Cfn::Value';
47              
48             coerce 'Cfn::Resource::Properties::AWS::SES::ReceiptRule::StopAction',
49             from 'HashRef',
50             via {
51             if (my $f = Cfn::TypeLibrary::try_function($_)) {
52             return $f
53             } else {
54             return Cfn::Resource::Properties::AWS::SES::ReceiptRule::StopActionValue->new( %$_ );
55             }
56             };
57              
58             package Cfn::Resource::Properties::AWS::SES::ReceiptRule::StopActionValue {
59 1     1   3602 use Moose;
  1         3  
  1         6  
60 1     1   6549 use MooseX::StrictConstructor;
  1         3  
  1         5  
61             extends 'Cfn::Value::TypedValue';
62            
63             has Scope => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
64             has TopicArn => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
65             }
66              
67             subtype 'Cfn::Resource::Properties::AWS::SES::ReceiptRule::SNSAction',
68             as 'Cfn::Value';
69              
70             coerce 'Cfn::Resource::Properties::AWS::SES::ReceiptRule::SNSAction',
71             from 'HashRef',
72             via {
73             if (my $f = Cfn::TypeLibrary::try_function($_)) {
74             return $f
75             } else {
76             return Cfn::Resource::Properties::AWS::SES::ReceiptRule::SNSActionValue->new( %$_ );
77             }
78             };
79              
80             package Cfn::Resource::Properties::AWS::SES::ReceiptRule::SNSActionValue {
81 1     1   3332 use Moose;
  1         7  
  1         18  
82 1     1   6389 use MooseX::StrictConstructor;
  1         3  
  1         6  
83             extends 'Cfn::Value::TypedValue';
84            
85             has Encoding => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
86             has TopicArn => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
87             }
88              
89             subtype 'Cfn::Resource::Properties::AWS::SES::ReceiptRule::S3Action',
90             as 'Cfn::Value';
91              
92             coerce 'Cfn::Resource::Properties::AWS::SES::ReceiptRule::S3Action',
93             from 'HashRef',
94             via {
95             if (my $f = Cfn::TypeLibrary::try_function($_)) {
96             return $f
97             } else {
98             return Cfn::Resource::Properties::AWS::SES::ReceiptRule::S3ActionValue->new( %$_ );
99             }
100             };
101              
102             package Cfn::Resource::Properties::AWS::SES::ReceiptRule::S3ActionValue {
103 1     1   3368 use Moose;
  1         4  
  1         6  
104 1     1   6565 use MooseX::StrictConstructor;
  1         2  
  1         7  
105             extends 'Cfn::Value::TypedValue';
106            
107             has BucketName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
108             has KmsKeyArn => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
109             has ObjectKeyPrefix => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
110             has TopicArn => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
111             }
112              
113             subtype 'Cfn::Resource::Properties::AWS::SES::ReceiptRule::LambdaAction',
114             as 'Cfn::Value';
115              
116             coerce 'Cfn::Resource::Properties::AWS::SES::ReceiptRule::LambdaAction',
117             from 'HashRef',
118             via {
119             if (my $f = Cfn::TypeLibrary::try_function($_)) {
120             return $f
121             } else {
122             return Cfn::Resource::Properties::AWS::SES::ReceiptRule::LambdaActionValue->new( %$_ );
123             }
124             };
125              
126             package Cfn::Resource::Properties::AWS::SES::ReceiptRule::LambdaActionValue {
127 1     1   3344 use Moose;
  1         2  
  1         6  
128 1     1   6394 use MooseX::StrictConstructor;
  1         3  
  1         5  
129             extends 'Cfn::Value::TypedValue';
130            
131             has FunctionArn => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
132             has InvocationType => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
133             has TopicArn => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
134             }
135              
136             subtype 'Cfn::Resource::Properties::AWS::SES::ReceiptRule::BounceAction',
137             as 'Cfn::Value';
138              
139             coerce 'Cfn::Resource::Properties::AWS::SES::ReceiptRule::BounceAction',
140             from 'HashRef',
141             via {
142             if (my $f = Cfn::TypeLibrary::try_function($_)) {
143             return $f
144             } else {
145             return Cfn::Resource::Properties::AWS::SES::ReceiptRule::BounceActionValue->new( %$_ );
146             }
147             };
148              
149             package Cfn::Resource::Properties::AWS::SES::ReceiptRule::BounceActionValue {
150 1     1   3699 use Moose;
  1         2  
  1         8  
151 1     1   6449 use MooseX::StrictConstructor;
  1         4  
  1         5  
152             extends 'Cfn::Value::TypedValue';
153            
154             has Message => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
155             has Sender => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
156             has SmtpReplyCode => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
157             has StatusCode => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
158             has TopicArn => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
159             }
160              
161             subtype 'Cfn::Resource::Properties::AWS::SES::ReceiptRule::AddHeaderAction',
162             as 'Cfn::Value';
163              
164             coerce 'Cfn::Resource::Properties::AWS::SES::ReceiptRule::AddHeaderAction',
165             from 'HashRef',
166             via {
167             if (my $f = Cfn::TypeLibrary::try_function($_)) {
168             return $f
169             } else {
170             return Cfn::Resource::Properties::AWS::SES::ReceiptRule::AddHeaderActionValue->new( %$_ );
171             }
172             };
173              
174             package Cfn::Resource::Properties::AWS::SES::ReceiptRule::AddHeaderActionValue {
175 1     1   3374 use Moose;
  1         4  
  1         6  
176 1     1   6441 use MooseX::StrictConstructor;
  1         5  
  1         5  
177             extends 'Cfn::Value::TypedValue';
178            
179             has HeaderName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
180             has HeaderValue => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
181             }
182             subtype 'ArrayOfCfn::Resource::Properties::AWS::SES::ReceiptRule::Action',
183             as 'Cfn::Value',
184             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
185             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
186              
187             coerce 'ArrayOfCfn::Resource::Properties::AWS::SES::ReceiptRule::Action',
188             from 'HashRef',
189             via {
190             if (my $f = Cfn::TypeLibrary::try_function($_)) {
191             return $f
192             } else {
193             die 'Only accepts functions';
194             }
195             },
196             from 'ArrayRef',
197             via {
198             Cfn::Value::Array->new(Value => [
199             map {
200             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::SES::ReceiptRule::Action')->coerce($_)
201             } @$_
202             ]);
203             };
204              
205             subtype 'Cfn::Resource::Properties::AWS::SES::ReceiptRule::Action',
206             as 'Cfn::Value';
207              
208             coerce 'Cfn::Resource::Properties::AWS::SES::ReceiptRule::Action',
209             from 'HashRef',
210             via {
211             if (my $f = Cfn::TypeLibrary::try_function($_)) {
212             return $f
213             } else {
214             return Cfn::Resource::Properties::AWS::SES::ReceiptRule::ActionValue->new( %$_ );
215             }
216             };
217              
218             package Cfn::Resource::Properties::AWS::SES::ReceiptRule::ActionValue {
219 1     1   3498 use Moose;
  1         4  
  1         6  
220 1     1   6417 use MooseX::StrictConstructor;
  1         3  
  1         7  
221             extends 'Cfn::Value::TypedValue';
222            
223             has AddHeaderAction => (isa => 'Cfn::Resource::Properties::AWS::SES::ReceiptRule::AddHeaderAction', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
224             has BounceAction => (isa => 'Cfn::Resource::Properties::AWS::SES::ReceiptRule::BounceAction', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
225             has LambdaAction => (isa => 'Cfn::Resource::Properties::AWS::SES::ReceiptRule::LambdaAction', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
226             has S3Action => (isa => 'Cfn::Resource::Properties::AWS::SES::ReceiptRule::S3Action', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
227             has SNSAction => (isa => 'Cfn::Resource::Properties::AWS::SES::ReceiptRule::SNSAction', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
228             has StopAction => (isa => 'Cfn::Resource::Properties::AWS::SES::ReceiptRule::StopAction', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
229             has WorkmailAction => (isa => 'Cfn::Resource::Properties::AWS::SES::ReceiptRule::WorkmailAction', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
230             }
231              
232             subtype 'Cfn::Resource::Properties::AWS::SES::ReceiptRule::Rule',
233             as 'Cfn::Value';
234              
235             coerce 'Cfn::Resource::Properties::AWS::SES::ReceiptRule::Rule',
236             from 'HashRef',
237             via {
238             if (my $f = Cfn::TypeLibrary::try_function($_)) {
239             return $f
240             } else {
241             return Cfn::Resource::Properties::AWS::SES::ReceiptRule::RuleValue->new( %$_ );
242             }
243             };
244              
245             package Cfn::Resource::Properties::AWS::SES::ReceiptRule::RuleValue {
246 1     1   3382 use Moose;
  1         4  
  1         6  
247 1     1   6445 use MooseX::StrictConstructor;
  1         2  
  1         5  
248             extends 'Cfn::Value::TypedValue';
249            
250             has Actions => (isa => 'ArrayOfCfn::Resource::Properties::AWS::SES::ReceiptRule::Action', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
251             has Enabled => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
252             has Name => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
253             has Recipients => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
254             has ScanEnabled => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
255             has TlsPolicy => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
256             }
257              
258             package Cfn::Resource::Properties::AWS::SES::ReceiptRule {
259 1     1   3318 use Moose;
  1         4  
  1         6  
260 1     1   6468 use MooseX::StrictConstructor;
  1         3  
  1         6  
261             extends 'Cfn::Resource::Properties';
262            
263             has After => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
264             has Rule => (isa => 'Cfn::Resource::Properties::AWS::SES::ReceiptRule::Rule', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
265             has RuleSetName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
266             }
267              
268             1;