Class: AWSCDK::DynamoDB::KeySchema
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::DynamoDB::KeySchema
- Defined in:
- dynamo_db/key_schema.rb
Overview
A description of a key schema of an LSI, GSI or Table.
Instance Attribute Summary collapse
-
#partition_keys ⇒ Array<AWSCDK::DynamoDB::Attribute>
readonly
Partition key definition.
-
#sort_keys ⇒ Array<AWSCDK::DynamoDB::Attribute>
readonly
Sort key definition.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(partition_keys:, sort_keys:) ⇒ KeySchema
constructor
A new instance of KeySchema.
- #to_jsii ⇒ Object
Constructor Details
#initialize(partition_keys:, sort_keys:) ⇒ KeySchema
Returns a new instance of KeySchema.
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_keys ⇒ Array<AWSCDK::DynamoDB::Attribute> (readonly)
Partition key definition.
This array has at least one, but potentially multiple entries. Together, they form the partition key.
22 23 24 |
# File 'dynamo_db/key_schema.rb', line 22 def partition_keys @partition_keys end |
#sort_keys ⇒ Array<AWSCDK::DynamoDB::Attribute> (readonly)
Sort key definition.
This array has zero or more entries. Together, they form the sort key.
28 29 30 |
# File 'dynamo_db/key_schema.rb', line 28 def sort_keys @sort_keys end |
Class Method Details
.jsii_properties ⇒ Object
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_jsii ⇒ Object
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 |