File Coverage

blib/lib/Cfn/Resource/AWS/Pinpoint/Segment.pm
Criterion Covered Total %
statement 86 86 100.0
branch n/a
condition n/a
subroutine 30 30 100.0
pod 0 2 0.0
total 116 118 98.3


line stmt bran cond sub pod time code
1             # AWS::Pinpoint::Segment generated from spec 18.4.0
2 1     1   742 use Moose::Util::TypeConstraints;
  1         3  
  1         10  
3              
4             coerce 'Cfn::Resource::Properties::AWS::Pinpoint::Segment',
5             from 'HashRef',
6             via { Cfn::Resource::Properties::AWS::Pinpoint::Segment->new( %$_ ) };
7              
8             package Cfn::Resource::AWS::Pinpoint::Segment {
9 1     1   2187 use Moose;
  1         2  
  1         11  
10             extends 'Cfn::Resource';
11             has Properties => (isa => 'Cfn::Resource::Properties::AWS::Pinpoint::Segment', is => 'rw', coerce => 1);
12            
13             sub AttributeList {
14 1     1 0 5 [ 'Arn','SegmentId' ]
15             }
16             sub supported_regions {
17 1     1 0 1207 [ 'ap-south-1','ap-southeast-2','eu-central-1','eu-west-1','us-east-1','us-west-2' ]
18             }
19             }
20              
21              
22              
23             subtype 'Cfn::Resource::Properties::AWS::Pinpoint::Segment::Coordinates',
24             as 'Cfn::Value';
25              
26             coerce 'Cfn::Resource::Properties::AWS::Pinpoint::Segment::Coordinates',
27             from 'HashRef',
28             via {
29             if (my $f = Cfn::TypeLibrary::try_function($_)) {
30             return $f
31             } else {
32             return Cfn::Resource::Properties::Object::AWS::Pinpoint::Segment::Coordinates->new( %$_ );
33             }
34             };
35              
36             package Cfn::Resource::Properties::Object::AWS::Pinpoint::Segment::Coordinates {
37 1     1   7484 use Moose;
  1         3  
  1         5  
38 1     1   7021 use MooseX::StrictConstructor;
  1         2  
  1         10  
39             extends 'Cfn::Value::TypedValue';
40            
41             has Latitude => (isa => 'Cfn::Value::Double', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
42             has Longitude => (isa => 'Cfn::Value::Double', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
43             }
44              
45             subtype 'Cfn::Resource::Properties::AWS::Pinpoint::Segment::SetDimension',
46             as 'Cfn::Value';
47              
48             coerce 'Cfn::Resource::Properties::AWS::Pinpoint::Segment::SetDimension',
49             from 'HashRef',
50             via {
51             if (my $f = Cfn::TypeLibrary::try_function($_)) {
52             return $f
53             } else {
54             return Cfn::Resource::Properties::Object::AWS::Pinpoint::Segment::SetDimension->new( %$_ );
55             }
56             };
57              
58             package Cfn::Resource::Properties::Object::AWS::Pinpoint::Segment::SetDimension {
59 1     1   3641 use Moose;
  1         3  
  1         5  
60 1     1   6653 use MooseX::StrictConstructor;
  1         3  
  1         5  
61             extends 'Cfn::Value::TypedValue';
62            
63             has DimensionType => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
64             has Values => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
65             }
66              
67             subtype 'Cfn::Resource::Properties::AWS::Pinpoint::Segment::Recency',
68             as 'Cfn::Value';
69              
70             coerce 'Cfn::Resource::Properties::AWS::Pinpoint::Segment::Recency',
71             from 'HashRef',
72             via {
73             if (my $f = Cfn::TypeLibrary::try_function($_)) {
74             return $f
75             } else {
76             return Cfn::Resource::Properties::Object::AWS::Pinpoint::Segment::Recency->new( %$_ );
77             }
78             };
79              
80             package Cfn::Resource::Properties::Object::AWS::Pinpoint::Segment::Recency {
81 1     1   3445 use Moose;
  1         3  
  1         6  
82 1     1   6672 use MooseX::StrictConstructor;
  1         4  
  1         7  
83             extends 'Cfn::Value::TypedValue';
84            
85             has Duration => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
86             has RecencyType => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
87             }
88              
89             subtype 'Cfn::Resource::Properties::AWS::Pinpoint::Segment::GPSPoint',
90             as 'Cfn::Value';
91              
92             coerce 'Cfn::Resource::Properties::AWS::Pinpoint::Segment::GPSPoint',
93             from 'HashRef',
94             via {
95             if (my $f = Cfn::TypeLibrary::try_function($_)) {
96             return $f
97             } else {
98             return Cfn::Resource::Properties::Object::AWS::Pinpoint::Segment::GPSPoint->new( %$_ );
99             }
100             };
101              
102             package Cfn::Resource::Properties::Object::AWS::Pinpoint::Segment::GPSPoint {
103 1     1   3445 use Moose;
  1         4  
  1         7  
104 1     1   6658 use MooseX::StrictConstructor;
  1         4  
  1         6  
105             extends 'Cfn::Value::TypedValue';
106            
107             has Coordinates => (isa => 'Cfn::Resource::Properties::AWS::Pinpoint::Segment::Coordinates', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
108             has RangeInKilometers => (isa => 'Cfn::Value::Double', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
109             }
110              
111             subtype 'Cfn::Resource::Properties::AWS::Pinpoint::Segment::Location',
112             as 'Cfn::Value';
113              
114             coerce 'Cfn::Resource::Properties::AWS::Pinpoint::Segment::Location',
115             from 'HashRef',
116             via {
117             if (my $f = Cfn::TypeLibrary::try_function($_)) {
118             return $f
119             } else {
120             return Cfn::Resource::Properties::Object::AWS::Pinpoint::Segment::Location->new( %$_ );
121             }
122             };
123              
124             package Cfn::Resource::Properties::Object::AWS::Pinpoint::Segment::Location {
125 1     1   3432 use Moose;
  1         3  
  1         5  
126 1     1   6688 use MooseX::StrictConstructor;
  1         3  
  1         6  
127             extends 'Cfn::Value::TypedValue';
128            
129             has Country => (isa => 'Cfn::Resource::Properties::AWS::Pinpoint::Segment::SetDimension', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
130             has GPSPoint => (isa => 'Cfn::Resource::Properties::AWS::Pinpoint::Segment::GPSPoint', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
131             }
132              
133             subtype 'Cfn::Resource::Properties::AWS::Pinpoint::Segment::Demographic',
134             as 'Cfn::Value';
135              
136             coerce 'Cfn::Resource::Properties::AWS::Pinpoint::Segment::Demographic',
137             from 'HashRef',
138             via {
139             if (my $f = Cfn::TypeLibrary::try_function($_)) {
140             return $f
141             } else {
142             return Cfn::Resource::Properties::Object::AWS::Pinpoint::Segment::Demographic->new( %$_ );
143             }
144             };
145              
146             package Cfn::Resource::Properties::Object::AWS::Pinpoint::Segment::Demographic {
147 1     1   3460 use Moose;
  1         3  
  1         6  
148 1     1   6702 use MooseX::StrictConstructor;
  1         2  
  1         7  
149             extends 'Cfn::Value::TypedValue';
150            
151             has AppVersion => (isa => 'Cfn::Resource::Properties::AWS::Pinpoint::Segment::SetDimension', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
152             has Channel => (isa => 'Cfn::Resource::Properties::AWS::Pinpoint::Segment::SetDimension', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
153             has DeviceType => (isa => 'Cfn::Resource::Properties::AWS::Pinpoint::Segment::SetDimension', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
154             has Make => (isa => 'Cfn::Resource::Properties::AWS::Pinpoint::Segment::SetDimension', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
155             has Model => (isa => 'Cfn::Resource::Properties::AWS::Pinpoint::Segment::SetDimension', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
156             has Platform => (isa => 'Cfn::Resource::Properties::AWS::Pinpoint::Segment::SetDimension', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
157             }
158              
159             subtype 'Cfn::Resource::Properties::AWS::Pinpoint::Segment::Behavior',
160             as 'Cfn::Value';
161              
162             coerce 'Cfn::Resource::Properties::AWS::Pinpoint::Segment::Behavior',
163             from 'HashRef',
164             via {
165             if (my $f = Cfn::TypeLibrary::try_function($_)) {
166             return $f
167             } else {
168             return Cfn::Resource::Properties::Object::AWS::Pinpoint::Segment::Behavior->new( %$_ );
169             }
170             };
171              
172             package Cfn::Resource::Properties::Object::AWS::Pinpoint::Segment::Behavior {
173 1     1   3414 use Moose;
  1         3  
  1         5  
174 1     1   6713 use MooseX::StrictConstructor;
  1         3  
  1         5  
175             extends 'Cfn::Value::TypedValue';
176            
177             has Recency => (isa => 'Cfn::Resource::Properties::AWS::Pinpoint::Segment::Recency', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
178             }
179             subtype 'ArrayOfCfn::Resource::Properties::AWS::Pinpoint::Segment::SourceSegments',
180             as 'Cfn::Value',
181             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
182             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
183              
184             coerce 'ArrayOfCfn::Resource::Properties::AWS::Pinpoint::Segment::SourceSegments',
185             from 'HashRef',
186             via {
187             if (my $f = Cfn::TypeLibrary::try_function($_)) {
188             return $f
189             } else {
190             die 'Only accepts functions';
191             }
192             },
193             from 'ArrayRef',
194             via {
195             Cfn::Value::Array->new(Value => [
196             map {
197             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::Pinpoint::Segment::SourceSegments')->coerce($_)
198             } @$_
199             ]);
200             };
201              
202             subtype 'Cfn::Resource::Properties::AWS::Pinpoint::Segment::SourceSegments',
203             as 'Cfn::Value';
204              
205             coerce 'Cfn::Resource::Properties::AWS::Pinpoint::Segment::SourceSegments',
206             from 'HashRef',
207             via {
208             if (my $f = Cfn::TypeLibrary::try_function($_)) {
209             return $f
210             } else {
211             return Cfn::Resource::Properties::Object::AWS::Pinpoint::Segment::SourceSegments->new( %$_ );
212             }
213             };
214              
215             package Cfn::Resource::Properties::Object::AWS::Pinpoint::Segment::SourceSegments {
216 1     1   3665 use Moose;
  1         3  
  1         5  
217 1     1   6651 use MooseX::StrictConstructor;
  1         2  
  1         6  
218             extends 'Cfn::Value::TypedValue';
219            
220             has Id => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
221             has Version => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
222             }
223             subtype 'ArrayOfCfn::Resource::Properties::AWS::Pinpoint::Segment::SegmentDimensions',
224             as 'Cfn::Value',
225             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
226             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
227              
228             coerce 'ArrayOfCfn::Resource::Properties::AWS::Pinpoint::Segment::SegmentDimensions',
229             from 'HashRef',
230             via {
231             if (my $f = Cfn::TypeLibrary::try_function($_)) {
232             return $f
233             } else {
234             die 'Only accepts functions';
235             }
236             },
237             from 'ArrayRef',
238             via {
239             Cfn::Value::Array->new(Value => [
240             map {
241             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::Pinpoint::Segment::SegmentDimensions')->coerce($_)
242             } @$_
243             ]);
244             };
245              
246             subtype 'Cfn::Resource::Properties::AWS::Pinpoint::Segment::SegmentDimensions',
247             as 'Cfn::Value';
248              
249             coerce 'Cfn::Resource::Properties::AWS::Pinpoint::Segment::SegmentDimensions',
250             from 'HashRef',
251             via {
252             if (my $f = Cfn::TypeLibrary::try_function($_)) {
253             return $f
254             } else {
255             return Cfn::Resource::Properties::Object::AWS::Pinpoint::Segment::SegmentDimensions->new( %$_ );
256             }
257             };
258              
259             package Cfn::Resource::Properties::Object::AWS::Pinpoint::Segment::SegmentDimensions {
260 1     1   3608 use Moose;
  1         3  
  1         5  
261 1     1   6542 use MooseX::StrictConstructor;
  1         4  
  1         5  
262             extends 'Cfn::Value::TypedValue';
263            
264             has Attributes => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
265             has Behavior => (isa => 'Cfn::Resource::Properties::AWS::Pinpoint::Segment::Behavior', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
266             has Demographic => (isa => 'Cfn::Resource::Properties::AWS::Pinpoint::Segment::Demographic', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
267             has Location => (isa => 'Cfn::Resource::Properties::AWS::Pinpoint::Segment::Location', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
268             has Metrics => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
269             has UserAttributes => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
270             }
271             subtype 'ArrayOfCfn::Resource::Properties::AWS::Pinpoint::Segment::Groups',
272             as 'Cfn::Value',
273             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
274             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
275              
276             coerce 'ArrayOfCfn::Resource::Properties::AWS::Pinpoint::Segment::Groups',
277             from 'HashRef',
278             via {
279             if (my $f = Cfn::TypeLibrary::try_function($_)) {
280             return $f
281             } else {
282             die 'Only accepts functions';
283             }
284             },
285             from 'ArrayRef',
286             via {
287             Cfn::Value::Array->new(Value => [
288             map {
289             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::Pinpoint::Segment::Groups')->coerce($_)
290             } @$_
291             ]);
292             };
293              
294             subtype 'Cfn::Resource::Properties::AWS::Pinpoint::Segment::Groups',
295             as 'Cfn::Value';
296              
297             coerce 'Cfn::Resource::Properties::AWS::Pinpoint::Segment::Groups',
298             from 'HashRef',
299             via {
300             if (my $f = Cfn::TypeLibrary::try_function($_)) {
301             return $f
302             } else {
303             return Cfn::Resource::Properties::Object::AWS::Pinpoint::Segment::Groups->new( %$_ );
304             }
305             };
306              
307             package Cfn::Resource::Properties::Object::AWS::Pinpoint::Segment::Groups {
308 1     1   3655 use Moose;
  1         4  
  1         5  
309 1     1   6640 use MooseX::StrictConstructor;
  1         4  
  1         6  
310             extends 'Cfn::Value::TypedValue';
311            
312             has Dimensions => (isa => 'ArrayOfCfn::Resource::Properties::AWS::Pinpoint::Segment::SegmentDimensions', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
313             has SourceSegments => (isa => 'ArrayOfCfn::Resource::Properties::AWS::Pinpoint::Segment::SourceSegments', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
314             has SourceType => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
315             has Type => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
316             }
317              
318             subtype 'Cfn::Resource::Properties::AWS::Pinpoint::Segment::SegmentGroups',
319             as 'Cfn::Value';
320              
321             coerce 'Cfn::Resource::Properties::AWS::Pinpoint::Segment::SegmentGroups',
322             from 'HashRef',
323             via {
324             if (my $f = Cfn::TypeLibrary::try_function($_)) {
325             return $f
326             } else {
327             return Cfn::Resource::Properties::Object::AWS::Pinpoint::Segment::SegmentGroups->new( %$_ );
328             }
329             };
330              
331             package Cfn::Resource::Properties::Object::AWS::Pinpoint::Segment::SegmentGroups {
332 1     1   3413 use Moose;
  1         2  
  1         6  
333 1     1   6660 use MooseX::StrictConstructor;
  1         3  
  1         6  
334             extends 'Cfn::Value::TypedValue';
335            
336             has Groups => (isa => 'ArrayOfCfn::Resource::Properties::AWS::Pinpoint::Segment::Groups', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
337             has Include => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
338             }
339              
340             subtype 'Cfn::Resource::Properties::AWS::Pinpoint::Segment::AttributeDimension',
341             as 'Cfn::Value';
342              
343             coerce 'Cfn::Resource::Properties::AWS::Pinpoint::Segment::AttributeDimension',
344             from 'HashRef',
345             via {
346             if (my $f = Cfn::TypeLibrary::try_function($_)) {
347             return $f
348             } else {
349             return Cfn::Resource::Properties::Object::AWS::Pinpoint::Segment::AttributeDimension->new( %$_ );
350             }
351             };
352              
353             package Cfn::Resource::Properties::Object::AWS::Pinpoint::Segment::AttributeDimension {
354 1     1   3453 use Moose;
  1         5  
  1         8  
355 1     1   6650 use MooseX::StrictConstructor;
  1         3  
  1         6  
356             extends 'Cfn::Value::TypedValue';
357            
358             has AttributeType => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
359             has Values => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
360             }
361              
362             package Cfn::Resource::Properties::AWS::Pinpoint::Segment {
363 1     1   3318 use Moose;
  1         2  
  1         7  
364 1     1   6951 use MooseX::StrictConstructor;
  1         4  
  1         38  
365             extends 'Cfn::Resource::Properties';
366            
367             has ApplicationId => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
368             has Dimensions => (isa => 'Cfn::Resource::Properties::AWS::Pinpoint::Segment::SegmentDimensions', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
369             has Name => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
370             has SegmentGroups => (isa => 'Cfn::Resource::Properties::AWS::Pinpoint::Segment::SegmentGroups', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
371             has Tags => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
372             }
373              
374             1;
375             ### main pod documentation begin ###
376              
377             =encoding UTF-8
378              
379             =head1 NAME
380              
381             Cfn::Resource::AWS::Pinpoint::Segment - Cfn resource for AWS::Pinpoint::Segment
382              
383             =head1 DESCRIPTION
384              
385             This module implements a Perl module that represents the CloudFormation object AWS::Pinpoint::Segment.
386              
387             See L<Cfn> for more information on how to use it.
388              
389             =head1 AUTHOR
390              
391             Jose Luis Martinez
392             CAPSiDE
393             jlmartinez@capside.com
394              
395             =head1 COPYRIGHT and LICENSE
396              
397             Copyright (c) 2013 by CAPSiDE
398             This code is distributed under the Apache 2 License. The full text of the
399             license can be found in the LICENSE file included with this module.
400              
401             =cut