File Coverage

blib/lib/Cfn/Resource/AWS/IAM/Policy.pm
Criterion Covered Total %
statement 20 20 100.0
branch n/a
condition n/a
subroutine 7 7 100.0
pod 0 3 0.0
total 27 30 90.0


line stmt bran cond sub pod time code
1             # AWS::IAM::Policy generated from spec 14.3.0
2 6     6   4368 use Moose::Util::TypeConstraints;
  6         15  
  6         77  
3              
4             coerce 'Cfn::Resource::Properties::AWS::IAM::Policy',
5             from 'HashRef',
6             via { Cfn::Resource::Properties::AWS::IAM::Policy->new( %$_ ) };
7              
8             package Cfn::Resource::AWS::IAM::Policy {
9 6     6   14129 use Moose;
  6         15  
  6         59  
10             extends 'Cfn::Resource';
11             has Properties => (isa => 'Cfn::Resource::Properties::AWS::IAM::Policy', is => 'rw', coerce => 1);
12            
13             sub AttributeList {
14 1     1 0 4 [ ]
15             }
16             sub supported_regions {
17 1     1 0 974 [ 'af-south-1','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-south-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             sub addStatement {
20 1     1 0 4 my ($self, @args) = @_;
21 1         8 require Moose::Util::TypeConstraints;
22 1         4 my @statements = map { Moose::Util::TypeConstraints::find_type_constraint('Cfn::Value')->coerce($_) } @args;
  1         4  
23 1         1090 push @{ $self->Properties->PolicyDocument->Value->{Statement}->Value }, @statements;
  1         51  
24             }
25            
26             }
27              
28              
29              
30             package Cfn::Resource::Properties::AWS::IAM::Policy {
31 6     6   46681 use Moose;
  6         34  
  6         36  
32 6     6   41466 use MooseX::StrictConstructor;
  6         26283  
  6         56  
33             extends 'Cfn::Resource::Properties';
34            
35             has Groups => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
36             has PolicyDocument => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
37             has PolicyName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
38             has Roles => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
39             has Users => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
40             }
41              
42             1;
43             ### main pod documentation begin ###
44              
45             =encoding UTF-8
46              
47             =head1 NAME
48              
49             Cfn::Resource::AWS::IAM::Policy - Cfn resource for AWS::IAM::Policy
50              
51             =head1 DESCRIPTION
52              
53             This module implements a Perl module that represents the CloudFormation object AWS::IAM::Policy.
54              
55             See L<Cfn> for more information on how to use it.
56              
57             =head1 AUTHOR
58              
59             Jose Luis Martinez
60             CAPSiDE
61             jlmartinez@capside.com
62              
63             =head1 COPYRIGHT and LICENSE
64              
65             Copyright (c) 2013 by CAPSiDE
66             This code is distributed under the Apache 2 License. The full text of the
67             license can be found in the LICENSE file included with this module.
68              
69             =cut