Class: AWSCDK::DynamoDB::KeySchema

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
dynamo_db/key_schema.rb

Overview

A description of a key schema of an LSI, GSI or Table.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(partition_keys:, sort_keys:) ⇒ KeySchema

Returns a new instance of KeySchema.

Parameters:



9
10
11
12
13
14
# File 'dynamo_db/key_schema.rb', line 9

def initialize(partition_keys:, sort_keys:)
  @partition_keys = partition_keys.is_a?(Array) ? partition_keys.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::DynamoDB::Attribute.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : partition_keys
  Jsii::Type.check_type(@partition_keys, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19keW5hbW9kYi5BdHRyaWJ1dGUifSwia2luZCI6ImFycmF5In19")), "partitionKeys")
  @sort_keys = sort_keys.is_a?(Array) ? sort_keys.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::DynamoDB::Attribute.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : sort_keys
  Jsii::Type.check_type(@sort_keys, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19keW5hbW9kYi5BdHRyaWJ1dGUifSwia2luZCI6ImFycmF5In19")), "sortKeys")
end

Instance Attribute Details

#partition_keysArray<AWSCDK::DynamoDB::Attribute> (readonly)

Partition key definition.

This array has at least one, but potentially multiple entries. Together, they form the partition key.

Returns:



22
23
24
# File 'dynamo_db/key_schema.rb', line 22

def partition_keys
  @partition_keys
end

#sort_keysArray<AWSCDK::DynamoDB::Attribute> (readonly)

Sort key definition.

This array has zero or more entries. Together, they form the sort key.

Returns:



28
29
30
# File 'dynamo_db/key_schema.rb', line 28

def sort_keys
  @sort_keys
end

Class Method Details

.jsii_propertiesObject



30
31
32
33
34
35
# File 'dynamo_db/key_schema.rb', line 30

def self.jsii_properties
  {
    :partition_keys => "partitionKeys",
    :sort_keys => "sortKeys",
  }
end

Instance Method Details

#to_jsiiObject



37
38
39
40
41
42
43
44
# File 'dynamo_db/key_schema.rb', line 37

def to_jsii
  result = {}
  result.merge!({
    "partitionKeys" => @partition_keys,
    "sortKeys" => @sort_keys,
  })
  result.compact
end