Class: AWSCDK::Cognito::CfnUserPool::PasswordPolicyProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
cognito/cfn_user_pool.rb

Overview

The password policy settings for a user pool, including complexity, history, and length requirements.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(minimum_length: nil, password_history_size: nil, require_lowercase: nil, require_numbers: nil, require_symbols: nil, require_uppercase: nil, temporary_password_validity_days: nil) ⇒ PasswordPolicyProperty

Returns a new instance of PasswordPolicyProperty.

Parameters:

  • minimum_length (Numeric, nil) (defaults to: nil)

    The minimum length of the password in the policy that you have set.

  • password_history_size (Numeric, nil) (defaults to: nil)

    The number of previous passwords that you want Amazon Cognito to restrict each user from reusing.

  • require_lowercase (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    The requirement in a password policy that users must include at least one lowercase letter in their password.

  • require_numbers (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    The requirement in a password policy that users must include at least one number in their password.

  • require_symbols (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    The requirement in a password policy that users must include at least one symbol in their password.

  • require_uppercase (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    The requirement in a password policy that users must include at least one uppercase letter in their password.

  • temporary_password_validity_days (Numeric, nil) (defaults to: nil)

    The number of days a temporary password is valid in the password policy.



1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
# File 'cognito/cfn_user_pool.rb', line 1667

def initialize(minimum_length: nil, password_history_size: nil, require_lowercase: nil, require_numbers: nil, require_symbols: nil, require_uppercase: nil, temporary_password_validity_days: nil)
  @minimum_length = minimum_length
  Jsii::Type.check_type(@minimum_length, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "minimumLength") unless @minimum_length.nil?
  @password_history_size = password_history_size
  Jsii::Type.check_type(@password_history_size, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "passwordHistorySize") unless @password_history_size.nil?
  @require_lowercase = require_lowercase
  Jsii::Type.check_type(@require_lowercase, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "requireLowercase") unless @require_lowercase.nil?
  @require_numbers = require_numbers
  Jsii::Type.check_type(@require_numbers, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "requireNumbers") unless @require_numbers.nil?
  @require_symbols = require_symbols
  Jsii::Type.check_type(@require_symbols, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "requireSymbols") unless @require_symbols.nil?
  @require_uppercase = require_uppercase
  Jsii::Type.check_type(@require_uppercase, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "requireUppercase") unless @require_uppercase.nil?
  @temporary_password_validity_days = temporary_password_validity_days
  Jsii::Type.check_type(@temporary_password_validity_days, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "temporaryPasswordValidityDays") unless @temporary_password_validity_days.nil?
end

Instance Attribute Details

#minimum_lengthNumeric? (readonly)

The minimum length of the password in the policy that you have set.

This value can't be less than 6.



1690
1691
1692
# File 'cognito/cfn_user_pool.rb', line 1690

def minimum_length
  @minimum_length
end

#password_history_sizeNumeric? (readonly)

The number of previous passwords that you want Amazon Cognito to restrict each user from reusing.

Users can't set a password that matches any of n previous passwords, where n is the value of PasswordHistorySize .



1697
1698
1699
# File 'cognito/cfn_user_pool.rb', line 1697

def password_history_size
  @password_history_size
end

#require_lowercaseBoolean, ... (readonly)

The requirement in a password policy that users must include at least one lowercase letter in their password.



1702
1703
1704
# File 'cognito/cfn_user_pool.rb', line 1702

def require_lowercase
  @require_lowercase
end

#require_numbersBoolean, ... (readonly)

The requirement in a password policy that users must include at least one number in their password.



1707
1708
1709
# File 'cognito/cfn_user_pool.rb', line 1707

def require_numbers
  @require_numbers
end

#require_symbolsBoolean, ... (readonly)

The requirement in a password policy that users must include at least one symbol in their password.



1712
1713
1714
# File 'cognito/cfn_user_pool.rb', line 1712

def require_symbols
  @require_symbols
end

#require_uppercaseBoolean, ... (readonly)

The requirement in a password policy that users must include at least one uppercase letter in their password.



1717
1718
1719
# File 'cognito/cfn_user_pool.rb', line 1717

def require_uppercase
  @require_uppercase
end

#temporary_password_validity_daysNumeric? (readonly)

The number of days a temporary password is valid in the password policy.

If the user doesn't sign in during this time, an administrator must reset their password. Defaults to 7 . If you submit a value of 0 , Amazon Cognito treats it as a null value and sets TemporaryPasswordValidityDays to its default value.

When you set TemporaryPasswordValidityDays for a user pool, you can no longer set a value for the legacy UnusedAccountValidityDays parameter in that user pool.



1726
1727
1728
# File 'cognito/cfn_user_pool.rb', line 1726

def temporary_password_validity_days
  @temporary_password_validity_days
end

Class Method Details

.jsii_propertiesObject



1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
# File 'cognito/cfn_user_pool.rb', line 1728

def self.jsii_properties
  {
    :minimum_length => "minimumLength",
    :password_history_size => "passwordHistorySize",
    :require_lowercase => "requireLowercase",
    :require_numbers => "requireNumbers",
    :require_symbols => "requireSymbols",
    :require_uppercase => "requireUppercase",
    :temporary_password_validity_days => "temporaryPasswordValidityDays",
  }
end

Instance Method Details

#to_jsiiObject



1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
# File 'cognito/cfn_user_pool.rb', line 1740

def to_jsii
  result = {}
  result.merge!({
    "minimumLength" => @minimum_length,
    "passwordHistorySize" => @password_history_size,
    "requireLowercase" => @require_lowercase,
    "requireNumbers" => @require_numbers,
    "requireSymbols" => @require_symbols,
    "requireUppercase" => @require_uppercase,
    "temporaryPasswordValidityDays" => @temporary_password_validity_days,
  })
  result.compact
end