Class: AWSCDK::Connect::CfnDataTableAttributeProps

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

Overview

Properties for defining a CfnDataTableAttribute.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data_table_arn: nil, description: nil, instance_arn: nil, name: nil, primary: nil, validation: nil, value_type: nil) ⇒ CfnDataTableAttributeProps

Returns a new instance of CfnDataTableAttributeProps.

Parameters:

  • data_table_arn (String, nil) (defaults to: nil)

    The Amazon Resource Name (ARN) of the data table that contains this attribute.

  • description (String, nil) (defaults to: nil)

    An optional description explaining the purpose and usage of this attribute.

  • instance_arn (String, nil) (defaults to: nil)

    The Amazon Resource Name (ARN) of the instance.

  • name (String, nil) (defaults to: nil)

    The human-readable name of the attribute.

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

    Boolean indicating whether this attribute is used as a primary key for record identification.

  • validation (AWSCDK::IResolvable, AWSCDK::Connect::CfnDataTableAttribute::ValidationProperty, nil) (defaults to: nil)

    The validation rules applied to values of this attribute.

  • value_type (String, nil) (defaults to: nil)

    The type of value allowed for this attribute.



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'connect/cfn_data_table_attribute_props.rb', line 16

def initialize(data_table_arn: nil, description: nil, instance_arn: nil, name: nil, primary: nil, validation: nil, value_type: nil)
  @data_table_arn = data_table_arn
  Jsii::Type.check_type(@data_table_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "dataTableArn") unless @data_table_arn.nil?
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @instance_arn = instance_arn
  Jsii::Type.check_type(@instance_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "instanceArn") unless @instance_arn.nil?
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name") unless @name.nil?
  @primary = primary
  Jsii::Type.check_type(@primary, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "primary") unless @primary.nil?
  @validation = validation.is_a?(Hash) ? ::AWSCDK::Connect::CfnDataTableAttribute::ValidationProperty.new(**validation.transform_keys(&:to_sym)) : validation
  Jsii::Type.check_type(@validation, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19jb25uZWN0LkNmbkRhdGFUYWJsZUF0dHJpYnV0ZS5WYWxpZGF0aW9uUHJvcGVydHkifV19fQ==")), "validation") unless @validation.nil?
  @value_type = value_type
  Jsii::Type.check_type(@value_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "valueType") unless @value_type.nil?
end

Instance Attribute Details

#data_table_arnString? (readonly)

The Amazon Resource Name (ARN) of the data table that contains this attribute.



37
38
39
# File 'connect/cfn_data_table_attribute_props.rb', line 37

def data_table_arn
  @data_table_arn
end

#descriptionString? (readonly)

An optional description explaining the purpose and usage of this attribute.



42
43
44
# File 'connect/cfn_data_table_attribute_props.rb', line 42

def description
  @description
end

#instance_arnString? (readonly)

The Amazon Resource Name (ARN) of the instance.



47
48
49
# File 'connect/cfn_data_table_attribute_props.rb', line 47

def instance_arn
  @instance_arn
end

#nameString? (readonly)

The human-readable name of the attribute.

Must be unique within the data table and conform to Connect naming standards.



54
55
56
# File 'connect/cfn_data_table_attribute_props.rb', line 54

def name
  @name
end

#primaryBoolean, ... (readonly)

Boolean indicating whether this attribute is used as a primary key for record identification.

Primary attributes must have unique value combinations and cannot contain expressions.



61
62
63
# File 'connect/cfn_data_table_attribute_props.rb', line 61

def primary
  @primary
end

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

The validation rules applied to values of this attribute.

Based on JSON Schema Draft 2020-12 with additional Connect-specific validations for data integrity.



68
69
70
# File 'connect/cfn_data_table_attribute_props.rb', line 68

def validation
  @validation
end

#value_typeString? (readonly)

The type of value allowed for this attribute.

Must be one of TEXT, TEXT_LIST, NUMBER, NUMBER_LIST, or BOOLEAN. Determines how values are validated and processed.



75
76
77
# File 'connect/cfn_data_table_attribute_props.rb', line 75

def value_type
  @value_type
end

Class Method Details

.jsii_propertiesObject



77
78
79
80
81
82
83
84
85
86
87
# File 'connect/cfn_data_table_attribute_props.rb', line 77

def self.jsii_properties
  {
    :data_table_arn => "dataTableArn",
    :description => "description",
    :instance_arn => "instanceArn",
    :name => "name",
    :primary => "primary",
    :validation => "validation",
    :value_type => "valueType",
  }
end

Instance Method Details

#to_jsiiObject



89
90
91
92
93
94
95
96
97
98
99
100
101
# File 'connect/cfn_data_table_attribute_props.rb', line 89

def to_jsii
  result = {}
  result.merge!({
    "dataTableArn" => @data_table_arn,
    "description" => @description,
    "instanceArn" => @instance_arn,
    "name" => @name,
    "primary" => @primary,
    "validation" => @validation,
    "valueType" => @value_type,
  })
  result.compact
end