# AWS::Transfer::Server generated from spec 34.0.0 use Moose::Util::TypeConstraints; coerce 'Cfn::Resource::Properties::AWS::Transfer::Server', from 'HashRef', via { Cfn::Resource::Properties::AWS::Transfer::Server->new( %$_ ) }; package Cfn::Resource::AWS::Transfer::Server { use Moose; extends 'Cfn::Resource'; has Properties => (isa => 'Cfn::Resource::Properties::AWS::Transfer::Server', is => 'rw', coerce => 1); sub AttributeList { [ 'Arn','ServerId' ] } 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-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' ] } } subtype 'ArrayOfCfn::Resource::Properties::AWS::Transfer::Server::Protocol', 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::Transfer::Server::Protocol', 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::Transfer::Server::Protocol')->coerce($_) } @$_ ]); }; subtype 'Cfn::Resource::Properties::AWS::Transfer::Server::Protocol', as 'Cfn::Value'; coerce 'Cfn::Resource::Properties::AWS::Transfer::Server::Protocol', from 'HashRef', via { if (my $f = Cfn::TypeLibrary::try_function($_)) { return $f } else { return Cfn::Resource::Properties::Object::AWS::Transfer::Server::Protocol->new( %$_ ); } }; package Cfn::Resource::Properties::Object::AWS::Transfer::Server::Protocol { use Moose; use MooseX::StrictConstructor; extends 'Cfn::Value::TypedValue'; } subtype 'Cfn::Resource::Properties::AWS::Transfer::Server::IdentityProviderDetails', as 'Cfn::Value'; coerce 'Cfn::Resource::Properties::AWS::Transfer::Server::IdentityProviderDetails', from 'HashRef', via { if (my $f = Cfn::TypeLibrary::try_function($_)) { return $f } else { return Cfn::Resource::Properties::Object::AWS::Transfer::Server::IdentityProviderDetails->new( %$_ ); } }; package Cfn::Resource::Properties::Object::AWS::Transfer::Server::IdentityProviderDetails { use Moose; use MooseX::StrictConstructor; extends 'Cfn::Value::TypedValue'; has InvocationRole => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable'); has Url => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable'); } subtype 'Cfn::Resource::Properties::AWS::Transfer::Server::EndpointDetails', as 'Cfn::Value'; coerce 'Cfn::Resource::Properties::AWS::Transfer::Server::EndpointDetails', from 'HashRef', via { if (my $f = Cfn::TypeLibrary::try_function($_)) { return $f } else { return Cfn::Resource::Properties::Object::AWS::Transfer::Server::EndpointDetails->new( %$_ ); } }; package Cfn::Resource::Properties::Object::AWS::Transfer::Server::EndpointDetails { use Moose; use MooseX::StrictConstructor; extends 'Cfn::Value::TypedValue'; has AddressAllocationIds => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Conditional'); has SecurityGroupIds => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable'); has SubnetIds => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable'); has VpcEndpointId => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable'); has VpcId => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable'); } package Cfn::Resource::Properties::AWS::Transfer::Server { use Moose; use MooseX::StrictConstructor; extends 'Cfn::Resource::Properties'; has Certificate => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable'); has Domain => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable'); has EndpointDetails => (isa => 'Cfn::Resource::Properties::AWS::Transfer::Server::EndpointDetails', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable'); has EndpointType => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable'); has IdentityProviderDetails => (isa => 'Cfn::Resource::Properties::AWS::Transfer::Server::IdentityProviderDetails', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable'); has IdentityProviderType => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable'); has LoggingRole => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable'); has Protocols => (isa => 'ArrayOfCfn::Resource::Properties::AWS::Transfer::Server::Protocol', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable'); has SecurityPolicyName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable'); has Tags => (isa => 'ArrayOfCfn::Resource::Properties::TagType', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable'); } 1; ### main pod documentation begin ### =encoding UTF-8 =head1 NAME Cfn::Resource::AWS::Transfer::Server - Cfn resource for AWS::Transfer::Server =head1 DESCRIPTION This module implements a Perl module that represents the CloudFormation object AWS::Transfer::Server. 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