Class: AWSCDK::Connect::CfnDataTableAttribute::ValidationProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
connect/cfn_data_table_attribute.rb

Overview

Defines validation rules for data table attribute values.

Based on JSON Schema Draft 2020-12 with additional Connect-specific validations. Validation rules ensure data integrity and consistency across the data table.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(enum: nil, exclusive_maximum: nil, exclusive_minimum: nil, maximum: nil, max_length: nil, max_values: nil, minimum: nil, min_length: nil, min_values: nil, multiple_of: nil) ⇒ ValidationProperty

Returns a new instance of ValidationProperty.

Parameters:

  • enum (AWSCDK::IResolvable, AWSCDK::Connect::CfnDataTableAttribute::EnumProperty, nil) (defaults to: nil)

    Defines enumeration constraints for attribute values.

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

    The largest exclusive numeric value for NUMBER value type.

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

    The smallest exclusive numeric value for NUMBER value type.

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

    The largest inclusive numeric value for NUMBER value type.

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

    The maximum number of characters a text value can contain.

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

    The maximum number of values in a list.

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

    The smallest inclusive numeric value for NUMBER value type.

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

    The minimum number of characters a text value can contain.

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

    The minimum number of values in a list.

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

    Specifies that numeric values must be multiples of this number.



688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
# File 'connect/cfn_data_table_attribute.rb', line 688

def initialize(enum: nil, exclusive_maximum: nil, exclusive_minimum: nil, maximum: nil, max_length: nil, max_values: nil, minimum: nil, min_length: nil, min_values: nil, multiple_of: nil)
  @enum = enum.is_a?(Hash) ? ::AWSCDK::Connect::CfnDataTableAttribute::EnumProperty.new(**enum.transform_keys(&:to_sym)) : enum
  Jsii::Type.check_type(@enum, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19jb25uZWN0LkNmbkRhdGFUYWJsZUF0dHJpYnV0ZS5FbnVtUHJvcGVydHkifV19fQ==")), "enum") unless @enum.nil?
  @exclusive_maximum = exclusive_maximum
  Jsii::Type.check_type(@exclusive_maximum, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "exclusiveMaximum") unless @exclusive_maximum.nil?
  @exclusive_minimum = exclusive_minimum
  Jsii::Type.check_type(@exclusive_minimum, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "exclusiveMinimum") unless @exclusive_minimum.nil?
  @maximum = maximum
  Jsii::Type.check_type(@maximum, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maximum") unless @maximum.nil?
  @max_length = max_length
  Jsii::Type.check_type(@max_length, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maxLength") unless @max_length.nil?
  @max_values = max_values
  Jsii::Type.check_type(@max_values, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maxValues") unless @max_values.nil?
  @minimum = minimum
  Jsii::Type.check_type(@minimum, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "minimum") unless @minimum.nil?
  @min_length = min_length
  Jsii::Type.check_type(@min_length, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "minLength") unless @min_length.nil?
  @min_values = min_values
  Jsii::Type.check_type(@min_values, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "minValues") unless @min_values.nil?
  @multiple_of = multiple_of
  Jsii::Type.check_type(@multiple_of, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "multipleOf") unless @multiple_of.nil?
end

Instance Attribute Details

#enumAWSCDK::IResolvable, ... (readonly)

Defines enumeration constraints for attribute values.

Can specify a list of allowed values and whether custom values are permitted beyond the enumerated list.



717
718
719
# File 'connect/cfn_data_table_attribute.rb', line 717

def enum
  @enum
end

#exclusive_maximumNumeric? (readonly)

The largest exclusive numeric value for NUMBER value type.

Can be provided alongside Maximum where both operate independently. Must be greater than ExclusiveMinimum and Minimum. Applies to NUMBER and values within NUMBER_LIST.



724
725
726
# File 'connect/cfn_data_table_attribute.rb', line 724

def exclusive_maximum
  @exclusive_maximum
end

#exclusive_minimumNumeric? (readonly)

The smallest exclusive numeric value for NUMBER value type.

Can be provided alongside Minimum where both operate independently. Must be less than ExclusiveMaximum and Maximum. Applies to NUMBER and values within NUMBER_LIST.



731
732
733
# File 'connect/cfn_data_table_attribute.rb', line 731

def exclusive_minimum
  @exclusive_minimum
end

#max_lengthNumeric? (readonly)

The maximum number of characters a text value can contain.

Applies to TEXT value type and values within a TEXT_LIST. Must be greater than or equal to MinLength.



745
746
747
# File 'connect/cfn_data_table_attribute.rb', line 745

def max_length
  @max_length
end

#max_valuesNumeric? (readonly)

The maximum number of values in a list.

Must be an integer greater than or equal to 0 and greater than or equal to MinValues. Applies to all list types.



752
753
754
# File 'connect/cfn_data_table_attribute.rb', line 752

def max_values
  @max_values
end

#maximumNumeric? (readonly)

The largest inclusive numeric value for NUMBER value type.

Can be provided alongside ExclusiveMaximum where both operate independently. Must be greater than or equal to Minimum and greater than ExclusiveMinimum. Applies to NUMBER and values within NUMBER_LIST.



738
739
740
# File 'connect/cfn_data_table_attribute.rb', line 738

def maximum
  @maximum
end

#min_lengthNumeric? (readonly)

The minimum number of characters a text value can contain.

Applies to TEXT value type and values within a TEXT_LIST. Must be less than or equal to MaxLength.



766
767
768
# File 'connect/cfn_data_table_attribute.rb', line 766

def min_length
  @min_length
end

#min_valuesNumeric? (readonly)

The minimum number of values in a list.

Must be an integer greater than or equal to 0 and less than or equal to MaxValues. Applies to all list types.



773
774
775
# File 'connect/cfn_data_table_attribute.rb', line 773

def min_values
  @min_values
end

#minimumNumeric? (readonly)

The smallest inclusive numeric value for NUMBER value type.

Cannot be provided when ExclusiveMinimum is also provided. Must be less than or equal to Maximum and less than ExclusiveMaximum. Applies to NUMBER and values within NUMBER_LIST.



759
760
761
# File 'connect/cfn_data_table_attribute.rb', line 759

def minimum
  @minimum
end

#multiple_ofNumeric? (readonly)

Specifies that numeric values must be multiples of this number.

Must be greater than 0. The result of dividing a value by this multiple must result in an integer. Applies to NUMBER and values within NUMBER_LIST.



780
781
782
# File 'connect/cfn_data_table_attribute.rb', line 780

def multiple_of
  @multiple_of
end

Class Method Details

.jsii_propertiesObject



782
783
784
785
786
787
788
789
790
791
792
793
794
795
# File 'connect/cfn_data_table_attribute.rb', line 782

def self.jsii_properties
  {
    :enum => "enum",
    :exclusive_maximum => "exclusiveMaximum",
    :exclusive_minimum => "exclusiveMinimum",
    :maximum => "maximum",
    :max_length => "maxLength",
    :max_values => "maxValues",
    :minimum => "minimum",
    :min_length => "minLength",
    :min_values => "minValues",
    :multiple_of => "multipleOf",
  }
end

Instance Method Details

#to_jsiiObject



797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
# File 'connect/cfn_data_table_attribute.rb', line 797

def to_jsii
  result = {}
  result.merge!({
    "enum" => @enum,
    "exclusiveMaximum" => @exclusive_maximum,
    "exclusiveMinimum" => @exclusive_minimum,
    "maximum" => @maximum,
    "maxLength" => @max_length,
    "maxValues" => @max_values,
    "minimum" => @minimum,
    "minLength" => @min_length,
    "minValues" => @min_values,
    "multipleOf" => @multiple_of,
  })
  result.compact
end