import { ResourceBase } from '../resource' ; import { Value , List } from '../dataTypes' ; export class PasswordPolicy { RequireNumbers ? : Value < boolean > ; MinimumLength ? : Value < number > ; TemporaryPasswordValidityDays ? : Value < number > ; RequireUppercase ? : Value < boolean > ; RequireLowercase ? : Value < boolean > ; RequireSymbols ? : Value < boolean > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class RecoveryOption { Priority ? : Value < number > ; Name ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class AdminCreateUserConfig { InviteMessageTemplate ? : InviteMessageTemplate ; UnusedAccountValidityDays ? : Value < number > ; AllowAdminCreateUserOnly ? : Value < boolean > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class SmsConfiguration { ExternalId ? : Value < string > ; SnsCallerArn ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class StringAttributeConstraints { MinLength ? : Value < string > ; MaxLength ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VerificationMessageTemplate { EmailMessageByLink ? : Value < string > ; EmailMessage ? : Value < string > ; SmsMessage ? : Value < string > ; EmailSubject ? : Value < string > ; DefaultEmailOption ? : Value < string > ; EmailSubjectByLink ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class LambdaConfig { CreateAuthChallenge ? : Value < string > ; PreSignUp ? : Value < string > ; KMSKeyID ? : Value < string > ; UserMigration ? : Value < string > ; PostAuthentication ? : Value < string > ; VerifyAuthChallengeResponse ? : Value < string > ; PreAuthentication ? : Value < string > ; DefineAuthChallenge ? : Value < string > ; PreTokenGeneration ? : Value < string > ; CustomSMSSender ? : CustomSMSSender ; PostConfirmation ? : Value < string > ; CustomMessage ? : Value < string > ; CustomEmailSender ? : CustomEmailSender ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class InviteMessageTemplate { EmailMessage ? : Value < string > ; SMSMessage ? : Value < string > ; EmailSubject ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class EmailConfiguration { ReplyToEmailAddress ? : Value < string > ; ConfigurationSet ? : Value < string > ; EmailSendingAccount ? : Value < string > ; SourceArn ? : Value < string > ; From ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class SchemaAttribute { DeveloperOnlyAttribute ? : Value < boolean > ; Mutable ? : Value < boolean > ; AttributeDataType ? : Value < string > ; StringAttributeConstraints ? : StringAttributeConstraints ; Required ? : Value < boolean > ; NumberAttributeConstraints ? : NumberAttributeConstraints ; Name ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class NumberAttributeConstraints { MinValue ? : Value < string > ; MaxValue ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class CustomSMSSender { LambdaArn ? : Value < string > ; LambdaVersion ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class AccountRecoverySetting { RecoveryMechanisms ? : List < RecoveryOption > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class UserPoolAddOns { AdvancedSecurityMode ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Policies { PasswordPolicy ? : PasswordPolicy ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class CustomEmailSender { LambdaArn ? : Value < string > ; LambdaVersion ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class DeviceConfiguration { DeviceOnlyRememberedOnUserPrompt ? : Value < boolean > ; ChallengeRequiredOnNewDevice ? : Value < boolean > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class UsernameConfiguration { CaseSensitive ? : Value < boolean > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface UserPoolProperties { UserPoolTags ? : { [ key ] : any ; } ; Policies ? : Policies ; VerificationMessageTemplate ? : VerificationMessageTemplate ; MfaConfiguration ? : Value < string > ; Schema ? : List < SchemaAttribute > ; AdminCreateUserConfig ? : AdminCreateUserConfig ; SmsAuthenticationMessage ? : Value < string > ; UsernameConfiguration ? : UsernameConfiguration ; UserPoolName ? : Value < string > ; SmsVerificationMessage ? : Value < string > ; UserPoolAddOns ? : UserPoolAddOns ; EmailConfiguration ? : EmailConfiguration ; SmsConfiguration ? : SmsConfiguration ; AliasAttributes ? : List < Value < string > > ; EnabledMfas ? : List < Value < string > > ; EmailVerificationSubject ? : Value < string > ; LambdaConfig ? : LambdaConfig ; UsernameAttributes ? : List < Value < string > > ; AutoVerifiedAttributes ? : List < Value < string > > ; DeviceConfiguration ? : DeviceConfiguration ; EmailVerificationMessage ? : Value < string > ; AccountRecoverySetting ? : AccountRecoverySetting ; } export default class UserPool extends ResourceBase < UserPoolProperties > { static PasswordPolicy = PasswordPolicy ; static RecoveryOption = RecoveryOption ; static AdminCreateUserConfig = AdminCreateUserConfig ; static SmsConfiguration = SmsConfiguration ; static StringAttributeConstraints = StringAttributeConstraints ; static VerificationMessageTemplate = VerificationMessageTemplate ; static LambdaConfig = LambdaConfig ; static InviteMessageTemplate = InviteMessageTemplate ; static EmailConfiguration = EmailConfiguration ; static SchemaAttribute = SchemaAttribute ; static NumberAttributeConstraints = NumberAttributeConstraints ; static CustomSMSSender = CustomSMSSender ; static AccountRecoverySetting = AccountRecoverySetting ; static UserPoolAddOns = UserPoolAddOns ; static Policies = Policies ; static CustomEmailSender = CustomEmailSender ; static DeviceConfiguration = DeviceConfiguration ; static UsernameConfiguration = UsernameConfiguration ; constructor ( properties ? ) { super ( 'AWS::Cognito::UserPool' , properties || { } ) ; } }