# AWS::FMS::Policy generated from spec 34.0.0 use Moose::Util::TypeConstraints; coerce 'Cfn::Resource::Properties::AWS::FMS::Policy', from 'HashRef', via { Cfn::Resource::Properties::AWS::FMS::Policy->new( %$_ ) }; package Cfn::Resource::AWS::FMS::Policy { use Moose; extends 'Cfn::Resource'; has Properties => (isa => 'Cfn::Resource::Properties::AWS::FMS::Policy', is => 'rw', coerce => 1); sub AttributeList { [ 'Arn','Id' ] } sub supported_regions { [ 'af-south-1','ap-east-1','ap-northeast-1','ap-northeast-2','ap-south-1','ap-southeast-1','ap-southeast-2','ca-central-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-west-1','us-west-2' ] } } subtype 'ArrayOfCfn::Resource::Properties::AWS::FMS::Policy::ResourceTag', as 'Cfn::Value', where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') }, message { "$_ is not a Cfn::Value or a Cfn::Value::Function" }; coerce 'ArrayOfCfn::Resource::Properties::AWS::FMS::Policy::ResourceTag', from 'HashRef', via { if (my $f = Cfn::TypeLibrary::try_function($_)) { return $f } else { die 'Only accepts functions'; } }, from 'ArrayRef', via { Cfn::Value::Array->new(Value => [ map { Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::FMS::Policy::ResourceTag')->coerce($_) } @$_ ]); }; subtype 'Cfn::Resource::Properties::AWS::FMS::Policy::ResourceTag', as 'Cfn::Value'; coerce 'Cfn::Resource::Properties::AWS::FMS::Policy::ResourceTag', from 'HashRef', via { if (my $f = Cfn::TypeLibrary::try_function($_)) { return $f } else { return Cfn::Resource::Properties::Object::AWS::FMS::Policy::ResourceTag->new( %$_ ); } }; package Cfn::Resource::Properties::Object::AWS::FMS::Policy::ResourceTag { use Moose; use MooseX::StrictConstructor; extends 'Cfn::Value::TypedValue'; has Key => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable'); has Value => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable'); } subtype 'ArrayOfCfn::Resource::Properties::AWS::FMS::Policy::PolicyTag', as 'Cfn::Value', where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') }, message { "$_ is not a Cfn::Value or a Cfn::Value::Function" }; coerce 'ArrayOfCfn::Resource::Properties::AWS::FMS::Policy::PolicyTag', from 'HashRef', via { if (my $f = Cfn::TypeLibrary::try_function($_)) { return $f } else { die 'Only accepts functions'; } }, from 'ArrayRef', via { Cfn::Value::Array->new(Value => [ map { Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::FMS::Policy::PolicyTag')->coerce($_) } @$_ ]); }; subtype 'Cfn::Resource::Properties::AWS::FMS::Policy::PolicyTag', as 'Cfn::Value'; coerce 'Cfn::Resource::Properties::AWS::FMS::Policy::PolicyTag', from 'HashRef', via { if (my $f = Cfn::TypeLibrary::try_function($_)) { return $f } else { return Cfn::Resource::Properties::Object::AWS::FMS::Policy::PolicyTag->new( %$_ ); } }; package Cfn::Resource::Properties::Object::AWS::FMS::Policy::PolicyTag { use Moose; use MooseX::StrictConstructor; extends 'Cfn::Value::TypedValue'; has Key => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable'); has Value => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable'); } subtype 'Cfn::Resource::Properties::AWS::FMS::Policy::IEMap', as 'Cfn::Value'; coerce 'Cfn::Resource::Properties::AWS::FMS::Policy::IEMap', from 'HashRef', via { if (my $f = Cfn::TypeLibrary::try_function($_)) { return $f } else { return Cfn::Resource::Properties::Object::AWS::FMS::Policy::IEMap->new( %$_ ); } }; package Cfn::Resource::Properties::Object::AWS::FMS::Policy::IEMap { use Moose; use MooseX::StrictConstructor; extends 'Cfn::Value::TypedValue'; has ACCOUNT => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable'); has ORGUNIT => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable'); } package Cfn::Resource::Properties::AWS::FMS::Policy { use Moose; use MooseX::StrictConstructor; extends 'Cfn::Resource::Properties'; has DeleteAllPolicyResources => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable'); has ExcludeMap => (isa => 'Cfn::Resource::Properties::AWS::FMS::Policy::IEMap', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable'); has ExcludeResourceTags => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable'); has IncludeMap => (isa => 'Cfn::Resource::Properties::AWS::FMS::Policy::IEMap', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable'); has PolicyName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable'); has RemediationEnabled => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable'); has ResourceTags => (isa => 'ArrayOfCfn::Resource::Properties::AWS::FMS::Policy::ResourceTag', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable'); has ResourceType => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable'); has ResourceTypeList => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable'); has SecurityServicePolicyData => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable'); has Tags => (isa => 'ArrayOfCfn::Resource::Properties::AWS::FMS::Policy::PolicyTag', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable'); } 1; ### main pod documentation begin ### =encoding UTF-8 =head1 NAME Cfn::Resource::AWS::FMS::Policy - Cfn resource for AWS::FMS::Policy =head1 DESCRIPTION This module implements a Perl module that represents the CloudFormation object AWS::FMS::Policy. See L<Cfn> for more information on how to use it. =head1 AUTHOR Jose Luis Martinez CAPSiDE jlmartinez@capside.com =head1 COPYRIGHT and LICENSE Copyright (c) 2013 by CAPSiDE This code is distributed under the Apache 2 License. The full text of the license can be found in the LICENSE file included with this module. =cut