import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class IdentityProviderDetails { InvocationRole ! : Value < string > ; Url ! : Value < string > ; DirectoryId ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class EndpointDetails { AddressAllocationIds ? : List < Value < string > > ; VpcId ? : Value < string > ; VpcEndpointId ? : Value < string > ; SecurityGroupIds ? : List < Value < string > > ; SubnetIds ? : List < Value < string > > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export type Protocol = Value < string > ; export class ProtocolDetails { PassiveIp ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface ServerProperties { LoggingRole ? : Value < string > ; Protocols ? : List < Protocol > ; IdentityProviderDetails ? : IdentityProviderDetails ; EndpointType ? : Value < string > ; SecurityPolicyName ? : Value < string > ; Domain ? : Value < string > ; EndpointDetails ? : EndpointDetails ; IdentityProviderType ? : Value < string > ; Tags ? : List < ResourceTag > ; Certificate ? : Value < string > ; ProtocolDetails ? : ProtocolDetails ; } export default class Server extends ResourceBase < ServerProperties > { static IdentityProviderDetails = IdentityProviderDetails ; static EndpointDetails = EndpointDetails ; static ProtocolDetails = ProtocolDetails ; constructor ( properties ? ) { super ( 'AWS::Transfer::Server' , properties || { } ) ; } }