', as 'Cfn::Value';
subtype 'Cfn::Value::Timestamp', as 'Cfn::Value';
subtype 'Cfn::Value::Json', as 'Cfn::Value';
coerce 'Cfn::Value::Boolean',
from 'Int', via {
my $val = $_
ect', via {
my $val = $_;
die "Cannot coerce a boolean from a non JSON::PP::Boolean" if (not $val->isa('JSON::PP::Boolean'));
if ($val == 1) {
Cfn::Boolean->new( Value => 1,
w( Value => $_ ) },
from 'HashRef', via \&coerce_hashref_to_function;
subtype 'Cfn::Value::Json',
as 'Cfn::Value::Hash';
coerce 'Cfn::Value::Array',
from 'HashRef', via (\&coerce_ha
=> 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
has Tags => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutabl
aits => [ 'CfnMutability' ], mutability => 'Immutable');
has Parameters => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immuta
nstructor;
extends 'Cfn::Resource::Properties';
has PolicyDocument => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutabl
=> 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
has Tags => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutabl
trictConstructor;
extends 'Cfn::Resource::Properties';
has Options => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutabl
=> 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
has Tags => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutabl
CfnMutability' ], mutability => 'Immutable');
has SecurityConfiguration => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutabi
nstructor;
extends 'Cfn::Resource::Properties';
has AdditionalInfo => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immuta
=> 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
has Tags => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutabl
raits => [ 'CfnMutability' ], mutability => 'Immutable');
has Variables => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immuta
=> 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
has Tags => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutabl
tructor;
extends 'Cfn::Resource::Properties';
has AgentPermissions => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutabl
nstructor;
extends 'Cfn::Resource::Properties';
has PolicyDocument => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutabi
=> 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
has Tags => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutabl
=> 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
has Tags => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutabl
raits => [ 'CfnMutability' ], mutability => 'Immutable');
has Variables => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immuta
aits => [ 'CfnMutability' ], mutability => 'Immutable');
has Parameters => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immuta
=> 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
has Tags => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutabl
=> 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
has Tags => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutabl
traits => [ 'CfnMutability' ], mutability => 'Mutable');
has KeyPolicy => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutabi
ructor;
extends 'Cfn::Resource::Properties';
has HealthCheckConfig => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutabi