@Override
public String toString() {
return ToString.builder("UserPoolType").add("Id", id()).add("Name", name()).add("Policies", policies())
.add("LambdaConfig", lambdaConfig()).add("Status", statusAsString()).add("LastModifiedDate", lastModifiedDate())
.add("CreationDate", creationDate()).add("SchemaAttributes", schemaAttributes())
.add("AutoVerifiedAttributes", autoVerifiedAttributesAsStrings())
.add("AliasAttributes", aliasAttributesAsStrings()).add("UsernameAttributes", usernameAttributesAsStrings())
.add("SmsVerificationMessage", smsVerificationMessage())
.add("EmailVerificationMessage", emailVerificationMessage())
.add("EmailVerificationSubject", emailVerificationSubject())
.add("VerificationMessageTemplate", verificationMessageTemplate())
.add("SmsAuthenticationMessage", smsAuthenticationMessage()).add("MfaConfiguration", mfaConfigurationAsString())
.add("DeviceConfiguration", deviceConfiguration()).add("EstimatedNumberOfUsers", estimatedNumberOfUsers())
.add("EmailConfiguration", emailConfiguration()).add("SmsConfiguration", smsConfiguration())
.add("UserPoolTags", userPoolTags()).add("SmsConfigurationFailure", smsConfigurationFailure())
.add("EmailConfigurationFailure", emailConfigurationFailure()).add("Domain", domain())
.add("CustomDomain", customDomain()).add("AdminCreateUserConfig", adminCreateUserConfig())
.add("UserPoolAddOns", userPoolAddOns()).add("Arn", arn()).build();
}