File Coverage

blib/lib/Cfn/Resource/AWS/CodePipeline/Pipeline.pm
Criterion Covered Total %
statement 74 74 100.0
branch n/a
condition n/a
subroutine 26 26 100.0
pod 0 2 0.0
total 100 102 98.0


line stmt bran cond sub pod time code
1             # AWS::CodePipeline::Pipeline generated from spec 9.1.0
2 2     2   1541 use Moose::Util::TypeConstraints;
  2         6  
  2         22  
3              
4             coerce 'Cfn::Resource::Properties::AWS::CodePipeline::Pipeline',
5             from 'HashRef',
6             via { Cfn::Resource::Properties::AWS::CodePipeline::Pipeline->new( %$_ ) };
7              
8             package Cfn::Resource::AWS::CodePipeline::Pipeline {
9 2     2   4394 use Moose;
  2         5  
  2         15  
10             extends 'Cfn::Resource';
11             has Properties => (isa => 'Cfn::Resource::Properties::AWS::CodePipeline::Pipeline', is => 'rw', coerce => 1);
12            
13             sub AttributeList {
14 1     1 0 3 [ 'Version' ]
15             }
16             sub supported_regions {
17 1     1 0 1121 [ 'ap-east-1','ap-northeast-1','ap-northeast-2','ap-northeast-3','ap-south-1','ap-southeast-1','ap-southeast-2','ca-central-1','cn-north-1','cn-northwest-1','eu-central-1','eu-north-1','eu-west-1','eu-west-2','eu-west-3','me-south-1','sa-east-1','us-east-1','us-east-2','us-gov-east-1','us-gov-west-1','us-west-1','us-west-2' ]
18             }
19             }
20              
21              
22             subtype 'ArrayOfCfn::Resource::Properties::AWS::CodePipeline::Pipeline::OutputArtifact',
23             as 'Cfn::Value',
24             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
25             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
26              
27             coerce 'ArrayOfCfn::Resource::Properties::AWS::CodePipeline::Pipeline::OutputArtifact',
28             from 'HashRef',
29             via {
30             if (my $f = Cfn::TypeLibrary::try_function($_)) {
31             return $f
32             } else {
33             die 'Only accepts functions';
34             }
35             },
36             from 'ArrayRef',
37             via {
38             Cfn::Value::Array->new(Value => [
39             map {
40             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::OutputArtifact')->coerce($_)
41             } @$_
42             ]);
43             };
44              
45             subtype 'Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::OutputArtifact',
46             as 'Cfn::Value';
47              
48             coerce 'Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::OutputArtifact',
49             from 'HashRef',
50             via {
51             if (my $f = Cfn::TypeLibrary::try_function($_)) {
52             return $f
53             } else {
54             return Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::OutputArtifactValue->new( %$_ );
55             }
56             };
57              
58             package Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::OutputArtifactValue {
59 2     2   15288 use Moose;
  2         7  
  2         12  
60 2     2   14028 use MooseX::StrictConstructor;
  2         6  
  2         22  
61             extends 'Cfn::Value::TypedValue';
62            
63             has Name => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
64             }
65             subtype 'ArrayOfCfn::Resource::Properties::AWS::CodePipeline::Pipeline::InputArtifact',
66             as 'Cfn::Value',
67             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
68             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
69              
70             coerce 'ArrayOfCfn::Resource::Properties::AWS::CodePipeline::Pipeline::InputArtifact',
71             from 'HashRef',
72             via {
73             if (my $f = Cfn::TypeLibrary::try_function($_)) {
74             return $f
75             } else {
76             die 'Only accepts functions';
77             }
78             },
79             from 'ArrayRef',
80             via {
81             Cfn::Value::Array->new(Value => [
82             map {
83             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::InputArtifact')->coerce($_)
84             } @$_
85             ]);
86             };
87              
88             subtype 'Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::InputArtifact',
89             as 'Cfn::Value';
90              
91             coerce 'Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::InputArtifact',
92             from 'HashRef',
93             via {
94             if (my $f = Cfn::TypeLibrary::try_function($_)) {
95             return $f
96             } else {
97             return Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::InputArtifactValue->new( %$_ );
98             }
99             };
100              
101             package Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::InputArtifactValue {
102 2     2   7930 use Moose;
  2         5  
  2         24  
103 2     2   13841 use MooseX::StrictConstructor;
  2         6  
  2         12  
104             extends 'Cfn::Value::TypedValue';
105            
106             has Name => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
107             }
108              
109             subtype 'Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::EncryptionKey',
110             as 'Cfn::Value';
111              
112             coerce 'Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::EncryptionKey',
113             from 'HashRef',
114             via {
115             if (my $f = Cfn::TypeLibrary::try_function($_)) {
116             return $f
117             } else {
118             return Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::EncryptionKeyValue->new( %$_ );
119             }
120             };
121              
122             package Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::EncryptionKeyValue {
123 2     2   7168 use Moose;
  2         4  
  2         12  
124 2     2   13805 use MooseX::StrictConstructor;
  2         6  
  2         13  
125             extends 'Cfn::Value::TypedValue';
126            
127             has Id => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
128             has Type => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
129             }
130              
131             subtype 'Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::ActionTypeId',
132             as 'Cfn::Value';
133              
134             coerce 'Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::ActionTypeId',
135             from 'HashRef',
136             via {
137             if (my $f = Cfn::TypeLibrary::try_function($_)) {
138             return $f
139             } else {
140             return Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::ActionTypeIdValue->new( %$_ );
141             }
142             };
143              
144             package Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::ActionTypeIdValue {
145 2     2   7404 use Moose;
  2         9  
  2         13  
146 2     2   14580 use MooseX::StrictConstructor;
  2         10  
  2         13  
147             extends 'Cfn::Value::TypedValue';
148            
149             has Category => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
150             has Owner => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
151             has Provider => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
152             has Version => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
153             }
154             subtype 'ArrayOfCfn::Resource::Properties::AWS::CodePipeline::Pipeline::BlockerDeclaration',
155             as 'Cfn::Value',
156             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
157             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
158              
159             coerce 'ArrayOfCfn::Resource::Properties::AWS::CodePipeline::Pipeline::BlockerDeclaration',
160             from 'HashRef',
161             via {
162             if (my $f = Cfn::TypeLibrary::try_function($_)) {
163             return $f
164             } else {
165             die 'Only accepts functions';
166             }
167             },
168             from 'ArrayRef',
169             via {
170             Cfn::Value::Array->new(Value => [
171             map {
172             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::BlockerDeclaration')->coerce($_)
173             } @$_
174             ]);
175             };
176              
177             subtype 'Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::BlockerDeclaration',
178             as 'Cfn::Value';
179              
180             coerce 'Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::BlockerDeclaration',
181             from 'HashRef',
182             via {
183             if (my $f = Cfn::TypeLibrary::try_function($_)) {
184             return $f
185             } else {
186             return Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::BlockerDeclarationValue->new( %$_ );
187             }
188             };
189              
190             package Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::BlockerDeclarationValue {
191 2     2   8239 use Moose;
  2         7  
  2         23  
192 2     2   14100 use MooseX::StrictConstructor;
  2         5  
  2         15  
193             extends 'Cfn::Value::TypedValue';
194            
195             has Name => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
196             has Type => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
197             }
198              
199             subtype 'Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::ArtifactStore',
200             as 'Cfn::Value';
201              
202             coerce 'Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::ArtifactStore',
203             from 'HashRef',
204             via {
205             if (my $f = Cfn::TypeLibrary::try_function($_)) {
206             return $f
207             } else {
208             return Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::ArtifactStoreValue->new( %$_ );
209             }
210             };
211              
212             package Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::ArtifactStoreValue {
213 2     2   7600 use Moose;
  2         5  
  2         14  
214 2     2   14182 use MooseX::StrictConstructor;
  2         6  
  2         13  
215             extends 'Cfn::Value::TypedValue';
216            
217             has EncryptionKey => (isa => 'Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::EncryptionKey', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
218             has Location => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
219             has Type => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
220             }
221             subtype 'ArrayOfCfn::Resource::Properties::AWS::CodePipeline::Pipeline::ActionDeclaration',
222             as 'Cfn::Value',
223             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
224             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
225              
226             coerce 'ArrayOfCfn::Resource::Properties::AWS::CodePipeline::Pipeline::ActionDeclaration',
227             from 'HashRef',
228             via {
229             if (my $f = Cfn::TypeLibrary::try_function($_)) {
230             return $f
231             } else {
232             die 'Only accepts functions';
233             }
234             },
235             from 'ArrayRef',
236             via {
237             Cfn::Value::Array->new(Value => [
238             map {
239             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::ActionDeclaration')->coerce($_)
240             } @$_
241             ]);
242             };
243              
244             subtype 'Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::ActionDeclaration',
245             as 'Cfn::Value';
246              
247             coerce 'Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::ActionDeclaration',
248             from 'HashRef',
249             via {
250             if (my $f = Cfn::TypeLibrary::try_function($_)) {
251             return $f
252             } else {
253             return Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::ActionDeclarationValue->new( %$_ );
254             }
255             };
256              
257             package Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::ActionDeclarationValue {
258 2     2   7682 use Moose;
  2         14  
  2         12  
259 2     2   13385 use MooseX::StrictConstructor;
  2         6  
  2         11  
260             extends 'Cfn::Value::TypedValue';
261            
262             has ActionTypeId => (isa => 'Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::ActionTypeId', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
263             has Configuration => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
264             has InputArtifacts => (isa => 'ArrayOfCfn::Resource::Properties::AWS::CodePipeline::Pipeline::InputArtifact', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
265             has Name => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
266             has Namespace => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
267             has OutputArtifacts => (isa => 'ArrayOfCfn::Resource::Properties::AWS::CodePipeline::Pipeline::OutputArtifact', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
268             has Region => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
269             has RoleArn => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
270             has RunOrder => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
271             }
272             subtype 'ArrayOfCfn::Resource::Properties::AWS::CodePipeline::Pipeline::StageTransition',
273             as 'Cfn::Value',
274             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
275             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
276              
277             coerce 'ArrayOfCfn::Resource::Properties::AWS::CodePipeline::Pipeline::StageTransition',
278             from 'HashRef',
279             via {
280             if (my $f = Cfn::TypeLibrary::try_function($_)) {
281             return $f
282             } else {
283             die 'Only accepts functions';
284             }
285             },
286             from 'ArrayRef',
287             via {
288             Cfn::Value::Array->new(Value => [
289             map {
290             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::StageTransition')->coerce($_)
291             } @$_
292             ]);
293             };
294              
295             subtype 'Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::StageTransition',
296             as 'Cfn::Value';
297              
298             coerce 'Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::StageTransition',
299             from 'HashRef',
300             via {
301             if (my $f = Cfn::TypeLibrary::try_function($_)) {
302             return $f
303             } else {
304             return Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::StageTransitionValue->new( %$_ );
305             }
306             };
307              
308             package Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::StageTransitionValue {
309 2     2   7532 use Moose;
  2         6  
  2         10  
310 2     2   13256 use MooseX::StrictConstructor;
  2         7  
  2         9  
311             extends 'Cfn::Value::TypedValue';
312            
313             has Reason => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
314             has StageName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
315             }
316             subtype 'ArrayOfCfn::Resource::Properties::AWS::CodePipeline::Pipeline::StageDeclaration',
317             as 'Cfn::Value',
318             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
319             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
320              
321             coerce 'ArrayOfCfn::Resource::Properties::AWS::CodePipeline::Pipeline::StageDeclaration',
322             from 'HashRef',
323             via {
324             if (my $f = Cfn::TypeLibrary::try_function($_)) {
325             return $f
326             } else {
327             die 'Only accepts functions';
328             }
329             },
330             from 'ArrayRef',
331             via {
332             Cfn::Value::Array->new(Value => [
333             map {
334             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::StageDeclaration')->coerce($_)
335             } @$_
336             ]);
337             };
338              
339             subtype 'Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::StageDeclaration',
340             as 'Cfn::Value';
341              
342             coerce 'Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::StageDeclaration',
343             from 'HashRef',
344             via {
345             if (my $f = Cfn::TypeLibrary::try_function($_)) {
346             return $f
347             } else {
348             return Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::StageDeclarationValue->new( %$_ );
349             }
350             };
351              
352             package Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::StageDeclarationValue {
353 2     2   7203 use Moose;
  2         5  
  2         10  
354 2     2   13183 use MooseX::StrictConstructor;
  2         6  
  2         11  
355             extends 'Cfn::Value::TypedValue';
356            
357             has Actions => (isa => 'ArrayOfCfn::Resource::Properties::AWS::CodePipeline::Pipeline::ActionDeclaration', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
358             has Blockers => (isa => 'ArrayOfCfn::Resource::Properties::AWS::CodePipeline::Pipeline::BlockerDeclaration', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
359             has Name => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
360             }
361             subtype 'ArrayOfCfn::Resource::Properties::AWS::CodePipeline::Pipeline::ArtifactStoreMap',
362             as 'Cfn::Value',
363             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
364             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
365              
366             coerce 'ArrayOfCfn::Resource::Properties::AWS::CodePipeline::Pipeline::ArtifactStoreMap',
367             from 'HashRef',
368             via {
369             if (my $f = Cfn::TypeLibrary::try_function($_)) {
370             return $f
371             } else {
372             die 'Only accepts functions';
373             }
374             },
375             from 'ArrayRef',
376             via {
377             Cfn::Value::Array->new(Value => [
378             map {
379             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::ArtifactStoreMap')->coerce($_)
380             } @$_
381             ]);
382             };
383              
384             subtype 'Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::ArtifactStoreMap',
385             as 'Cfn::Value';
386              
387             coerce 'Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::ArtifactStoreMap',
388             from 'HashRef',
389             via {
390             if (my $f = Cfn::TypeLibrary::try_function($_)) {
391             return $f
392             } else {
393             return Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::ArtifactStoreMapValue->new( %$_ );
394             }
395             };
396              
397             package Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::ArtifactStoreMapValue {
398 2     2   7388 use Moose;
  2         7  
  2         12  
399 2     2   14302 use MooseX::StrictConstructor;
  2         5  
  2         14  
400             extends 'Cfn::Value::TypedValue';
401            
402             has ArtifactStore => (isa => 'Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::ArtifactStore', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
403             has Region => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
404             }
405              
406             package Cfn::Resource::Properties::AWS::CodePipeline::Pipeline {
407 2     2   6972 use Moose;
  2         7  
  2         11  
408 2     2   13539 use MooseX::StrictConstructor;
  2         5  
  2         13  
409             extends 'Cfn::Resource::Properties';
410            
411             has ArtifactStore => (isa => 'Cfn::Resource::Properties::AWS::CodePipeline::Pipeline::ArtifactStore', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
412             has ArtifactStores => (isa => 'ArrayOfCfn::Resource::Properties::AWS::CodePipeline::Pipeline::ArtifactStoreMap', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
413             has DisableInboundStageTransitions => (isa => 'ArrayOfCfn::Resource::Properties::AWS::CodePipeline::Pipeline::StageTransition', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
414             has Name => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
415             has RestartExecutionOnUpdate => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
416             has RoleArn => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
417             has Stages => (isa => 'ArrayOfCfn::Resource::Properties::AWS::CodePipeline::Pipeline::StageDeclaration', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
418             has Tags => (isa => 'ArrayOfCfn::Resource::Properties::TagType', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
419             }
420              
421             1;