Class: AWSCDK::DynamoDB::CfnTableProps

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

Overview

Properties for defining a CfnTable.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(key_schema:, attribute_definitions: nil, billing_mode: nil, contributor_insights_specification: nil, deletion_protection_enabled: nil, global_secondary_indexes: nil, import_source_specification: nil, kinesis_stream_specification: nil, local_secondary_indexes: nil, on_demand_throughput: nil, point_in_time_recovery_specification: nil, provisioned_throughput: nil, resource_policy: nil, sse_specification: nil, stream_specification: nil, table_class: nil, table_name: nil, tags: nil, time_to_live_specification: nil, warm_throughput: nil) ⇒ CfnTableProps

Returns a new instance of CfnTableProps.

Parameters:



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'dynamo_db/cfn_table_props.rb', line 29

def initialize(key_schema:, attribute_definitions: nil, billing_mode: nil, contributor_insights_specification: nil, deletion_protection_enabled: nil, global_secondary_indexes: nil, import_source_specification: nil, kinesis_stream_specification: nil, local_secondary_indexes: nil, on_demand_throughput: nil, point_in_time_recovery_specification: nil, provisioned_throughput: nil, resource_policy: nil, sse_specification: nil, stream_specification: nil, table_class: nil, table_name: nil, tags: nil, time_to_live_specification: nil, warm_throughput: nil)
  @key_schema = key_schema
  Jsii::Type.check_type(@key_schema, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZHluYW1vZGIuQ2ZuVGFibGUuS2V5U2NoZW1hUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "keySchema")
  @attribute_definitions = attribute_definitions
  Jsii::Type.check_type(@attribute_definitions, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZHluYW1vZGIuQ2ZuVGFibGUuQXR0cmlidXRlRGVmaW5pdGlvblByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "attributeDefinitions") unless @attribute_definitions.nil?
  @billing_mode = billing_mode
  Jsii::Type.check_type(@billing_mode, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "billingMode") unless @billing_mode.nil?
  @contributor_insights_specification = contributor_insights_specification.is_a?(Hash) ? ::AWSCDK::DynamoDB::CfnTable::ContributorInsightsSpecificationProperty.new(**contributor_insights_specification.transform_keys(&:to_sym)) : contributor_insights_specification
  Jsii::Type.check_type(@contributor_insights_specification, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19keW5hbW9kYi5DZm5UYWJsZS5Db250cmlidXRvckluc2lnaHRzU3BlY2lmaWNhdGlvblByb3BlcnR5In1dfX0=")), "contributorInsightsSpecification") unless @contributor_insights_specification.nil?
  @deletion_protection_enabled = deletion_protection_enabled
  Jsii::Type.check_type(@deletion_protection_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "deletionProtectionEnabled") unless @deletion_protection_enabled.nil?
  @global_secondary_indexes = global_secondary_indexes
  Jsii::Type.check_type(@global_secondary_indexes, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZHluYW1vZGIuQ2ZuVGFibGUuR2xvYmFsU2Vjb25kYXJ5SW5kZXhQcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "globalSecondaryIndexes") unless @global_secondary_indexes.nil?
  @import_source_specification = import_source_specification.is_a?(Hash) ? ::AWSCDK::DynamoDB::CfnTable::ImportSourceSpecificationProperty.new(**import_source_specification.transform_keys(&:to_sym)) : import_source_specification
  Jsii::Type.check_type(@import_source_specification, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19keW5hbW9kYi5DZm5UYWJsZS5JbXBvcnRTb3VyY2VTcGVjaWZpY2F0aW9uUHJvcGVydHkifV19fQ==")), "importSourceSpecification") unless @import_source_specification.nil?
  @kinesis_stream_specification = kinesis_stream_specification.is_a?(Hash) ? ::AWSCDK::DynamoDB::CfnTable::KinesisStreamSpecificationProperty.new(**kinesis_stream_specification.transform_keys(&:to_sym)) : kinesis_stream_specification
  Jsii::Type.check_type(@kinesis_stream_specification, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19keW5hbW9kYi5DZm5UYWJsZS5LaW5lc2lzU3RyZWFtU3BlY2lmaWNhdGlvblByb3BlcnR5In1dfX0=")), "kinesisStreamSpecification") unless @kinesis_stream_specification.nil?
  @local_secondary_indexes = local_secondary_indexes
  Jsii::Type.check_type(@local_secondary_indexes, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZHluYW1vZGIuQ2ZuVGFibGUuTG9jYWxTZWNvbmRhcnlJbmRleFByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "localSecondaryIndexes") unless @local_secondary_indexes.nil?
  @on_demand_throughput = on_demand_throughput.is_a?(Hash) ? ::AWSCDK::DynamoDB::CfnTable::OnDemandThroughputProperty.new(**on_demand_throughput.transform_keys(&:to_sym)) : on_demand_throughput
  Jsii::Type.check_type(@on_demand_throughput, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19keW5hbW9kYi5DZm5UYWJsZS5PbkRlbWFuZFRocm91Z2hwdXRQcm9wZXJ0eSJ9XX19")), "onDemandThroughput") unless @on_demand_throughput.nil?
  @point_in_time_recovery_specification = point_in_time_recovery_specification.is_a?(Hash) ? ::AWSCDK::DynamoDB::CfnTable::PointInTimeRecoverySpecificationProperty.new(**point_in_time_recovery_specification.transform_keys(&:to_sym)) : point_in_time_recovery_specification
  Jsii::Type.check_type(@point_in_time_recovery_specification, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19keW5hbW9kYi5DZm5UYWJsZS5Qb2ludEluVGltZVJlY292ZXJ5U3BlY2lmaWNhdGlvblByb3BlcnR5In1dfX0=")), "pointInTimeRecoverySpecification") unless @point_in_time_recovery_specification.nil?
  @provisioned_throughput = provisioned_throughput.is_a?(Hash) ? ::AWSCDK::DynamoDB::CfnTable::ProvisionedThroughputProperty.new(**provisioned_throughput.transform_keys(&:to_sym)) : provisioned_throughput
  Jsii::Type.check_type(@provisioned_throughput, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19keW5hbW9kYi5DZm5UYWJsZS5Qcm92aXNpb25lZFRocm91Z2hwdXRQcm9wZXJ0eSJ9XX19")), "provisionedThroughput") unless @provisioned_throughput.nil?
  @resource_policy = resource_policy.is_a?(Hash) ? ::AWSCDK::DynamoDB::CfnTable::ResourcePolicyProperty.new(**resource_policy.transform_keys(&:to_sym)) : resource_policy
  Jsii::Type.check_type(@resource_policy, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19keW5hbW9kYi5DZm5UYWJsZS5SZXNvdXJjZVBvbGljeVByb3BlcnR5In1dfX0=")), "resourcePolicy") unless @resource_policy.nil?
  @sse_specification = sse_specification.is_a?(Hash) ? ::AWSCDK::DynamoDB::CfnTable::SSESpecificationProperty.new(**sse_specification.transform_keys(&:to_sym)) : sse_specification
  Jsii::Type.check_type(@sse_specification, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19keW5hbW9kYi5DZm5UYWJsZS5TU0VTcGVjaWZpY2F0aW9uUHJvcGVydHkifV19fQ==")), "sseSpecification") unless @sse_specification.nil?
  @stream_specification = stream_specification.is_a?(Hash) ? ::AWSCDK::DynamoDB::CfnTable::StreamSpecificationProperty.new(**stream_specification.transform_keys(&:to_sym)) : stream_specification
  Jsii::Type.check_type(@stream_specification, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19keW5hbW9kYi5DZm5UYWJsZS5TdHJlYW1TcGVjaWZpY2F0aW9uUHJvcGVydHkifV19fQ==")), "streamSpecification") unless @stream_specification.nil?
  @table_class = table_class
  Jsii::Type.check_type(@table_class, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "tableClass") unless @table_class.nil?
  @table_name = table_name
  Jsii::Type.check_type(@table_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "tableName") unless @table_name.nil?
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
  @time_to_live_specification = time_to_live_specification.is_a?(Hash) ? ::AWSCDK::DynamoDB::CfnTable::TimeToLiveSpecificationProperty.new(**time_to_live_specification.transform_keys(&:to_sym)) : time_to_live_specification
  Jsii::Type.check_type(@time_to_live_specification, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19keW5hbW9kYi5DZm5UYWJsZS5UaW1lVG9MaXZlU3BlY2lmaWNhdGlvblByb3BlcnR5In1dfX0=")), "timeToLiveSpecification") unless @time_to_live_specification.nil?
  @warm_throughput = warm_throughput.is_a?(Hash) ? ::AWSCDK::DynamoDB::CfnTable::WarmThroughputProperty.new(**warm_throughput.transform_keys(&:to_sym)) : warm_throughput
  Jsii::Type.check_type(@warm_throughput, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19keW5hbW9kYi5DZm5UYWJsZS5XYXJtVGhyb3VnaHB1dFByb3BlcnR5In1dfX0=")), "warmThroughput") unless @warm_throughput.nil?
end

Instance Attribute Details

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

A list of attributes that describe the key schema for the table and indexes.

This property is required to create a DynamoDB table.

Update requires: Some interruptions . Replacement if you edit an existing AttributeDefinition.



87
88
89
# File 'dynamo_db/cfn_table_props.rb', line 87

def attribute_definitions
  @attribute_definitions
end

#billing_modeString? (readonly)

Specify how you are charged for read and write throughput and how you manage capacity.

Valid values include:

  • PAY_PER_REQUEST - We recommend using PAY_PER_REQUEST for most DynamoDB workloads. PAY_PER_REQUEST sets the billing mode to On-demand capacity mode .
  • PROVISIONED - We recommend using PROVISIONED for steady workloads with predictable growth where capacity requirements can be reliably forecasted. PROVISIONED sets the billing mode to Provisioned capacity mode .

If not specified, the default is PROVISIONED .



99
100
101
# File 'dynamo_db/cfn_table_props.rb', line 99

def billing_mode
  @billing_mode
end

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

The settings used to specify whether to enable CloudWatch Contributor Insights for the table and define which events to monitor.



104
105
106
# File 'dynamo_db/cfn_table_props.rb', line 104

def contributor_insights_specification
  @contributor_insights_specification
end

#deletion_protection_enabledBoolean, ... (readonly)

Determines if a table is protected from deletion.

When enabled, the table cannot be deleted by any user or process. This setting is disabled by default. For more information, see Using deletion protection in the Amazon DynamoDB Developer Guide .



111
112
113
# File 'dynamo_db/cfn_table_props.rb', line 111

def deletion_protection_enabled
  @deletion_protection_enabled
end

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

Global secondary indexes to be created on the table. You can create up to 20 global secondary indexes.

If you update a table to include a new global secondary index, AWS CloudFormation initiates the index creation and then proceeds with the stack update. AWS CloudFormation doesn't wait for the index to complete creation because the backfilling phase can take a long time, depending on the size of the table. You can't use the index or update the table until the index's status is ACTIVE . You can track its status by using the DynamoDB DescribeTable command.

If you add or delete an index during an update, we recommend that you don't update any other resources. If your stack fails to update and is rolled back while adding a new index, you must manually delete the index.

Updates are not supported. The following are exceptions:

  • If you update either the contributor insights specification or the provisioned throughput values of global secondary indexes, you can update the table without interruption.
  • You can delete or add one global secondary index without interruption. If you do both in the same update (for example, by changing the index's logical ID), the update fails.


125
126
127
# File 'dynamo_db/cfn_table_props.rb', line 125

def global_secondary_indexes
  @global_secondary_indexes
end

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

Specifies the properties of data being imported from the S3 bucket source to the" table.

If you specify the ImportSourceSpecification property, and also specify either the StreamSpecification , the TableClass property, the DeletionProtectionEnabled property, or the WarmThroughput property, the IAM entity creating/updating stack must have UpdateTable permission.



132
133
134
# File 'dynamo_db/cfn_table_props.rb', line 132

def import_source_specification
  @import_source_specification
end

#key_schemaAWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::DynamoDB::CfnTable::KeySchemaProperty> (readonly)

Specifies the attributes that make up the primary key for the table.

The attributes in the KeySchema property must also be defined in the AttributeDefinitions property.



78
79
80
# File 'dynamo_db/cfn_table_props.rb', line 78

def key_schema
  @key_schema
end

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

The Kinesis Data Streams configuration for the specified table.



137
138
139
# File 'dynamo_db/cfn_table_props.rb', line 137

def kinesis_stream_specification
  @kinesis_stream_specification
end

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

Local secondary indexes to be created on the table.

You can create up to 5 local secondary indexes. Each index is scoped to a given hash key value. The size of each hash key can be up to 10 gigabytes.



144
145
146
# File 'dynamo_db/cfn_table_props.rb', line 144

def local_secondary_indexes
  @local_secondary_indexes
end

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

Sets the maximum number of read and write units for the specified on-demand table.

If you use this property, you must specify MaxReadRequestUnits , MaxWriteRequestUnits , or both.



151
152
153
# File 'dynamo_db/cfn_table_props.rb', line 151

def on_demand_throughput
  @on_demand_throughput
end

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

The settings used to enable point in time recovery.



156
157
158
# File 'dynamo_db/cfn_table_props.rb', line 156

def point_in_time_recovery_specification
  @point_in_time_recovery_specification
end

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

Throughput for the specified table, which consists of values for ReadCapacityUnits and WriteCapacityUnits .

For more information about the contents of a provisioned throughput structure, see Amazon DynamoDB Table ProvisionedThroughput .

If you set BillingMode as PROVISIONED , you must specify this property. If you set BillingMode as PAY_PER_REQUEST , you cannot specify this property.



165
166
167
# File 'dynamo_db/cfn_table_props.rb', line 165

def provisioned_throughput
  @provisioned_throughput
end

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

An AWS resource-based policy document in JSON format that will be attached to the table.

When you attach a resource-based policy while creating a table, the policy application is strongly consistent .

The maximum size supported for a resource-based policy document is 20 KB. DynamoDB counts whitespaces when calculating the size of a policy against this limit. For a full list of all considerations that apply for resource-based policies, see Resource-based policy considerations .

You need to specify the CreateTable and PutResourcePolicy IAM actions for authorizing a user to create a table with a resource-based policy.



176
177
178
# File 'dynamo_db/cfn_table_props.rb', line 176

def resource_policy
  @resource_policy
end

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

Specifies the settings to enable server-side encryption.



181
182
183
# File 'dynamo_db/cfn_table_props.rb', line 181

def sse_specification
  @sse_specification
end

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

The settings for the DynamoDB table stream, which captures changes to items stored in the table.

Including this property in your AWS CloudFormation template automatically enables streaming.



188
189
190
# File 'dynamo_db/cfn_table_props.rb', line 188

def stream_specification
  @stream_specification
end

#table_classString? (readonly)

The table class of the new table.

Valid values are STANDARD and STANDARD_INFREQUENT_ACCESS .



195
196
197
# File 'dynamo_db/cfn_table_props.rb', line 195

def table_class
  @table_class
end

#table_nameString? (readonly)

A name for the table.

If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the table name. For more information, see Name Type .

If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.



204
205
206
# File 'dynamo_db/cfn_table_props.rb', line 204

def table_name
  @table_name
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

An array of key-value pairs to apply to this resource.

For more information, see Tag .



211
212
213
# File 'dynamo_db/cfn_table_props.rb', line 211

def tags
  @tags
end

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

Specifies the Time to Live (TTL) settings for the table.

For detailed information about the limits in DynamoDB, see Limits in Amazon DynamoDB in the Amazon DynamoDB Developer Guide.



218
219
220
# File 'dynamo_db/cfn_table_props.rb', line 218

def time_to_live_specification
  @time_to_live_specification
end

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

Represents the warm throughput (in read units per second and write units per second) for creating a table.



223
224
225
# File 'dynamo_db/cfn_table_props.rb', line 223

def warm_throughput
  @warm_throughput
end

Class Method Details

.jsii_propertiesObject



225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
# File 'dynamo_db/cfn_table_props.rb', line 225

def self.jsii_properties
  {
    :key_schema => "keySchema",
    :attribute_definitions => "attributeDefinitions",
    :billing_mode => "billingMode",
    :contributor_insights_specification => "contributorInsightsSpecification",
    :deletion_protection_enabled => "deletionProtectionEnabled",
    :global_secondary_indexes => "globalSecondaryIndexes",
    :import_source_specification => "importSourceSpecification",
    :kinesis_stream_specification => "kinesisStreamSpecification",
    :local_secondary_indexes => "localSecondaryIndexes",
    :on_demand_throughput => "onDemandThroughput",
    :point_in_time_recovery_specification => "pointInTimeRecoverySpecification",
    :provisioned_throughput => "provisionedThroughput",
    :resource_policy => "resourcePolicy",
    :sse_specification => "sseSpecification",
    :stream_specification => "streamSpecification",
    :table_class => "tableClass",
    :table_name => "tableName",
    :tags => "tags",
    :time_to_live_specification => "timeToLiveSpecification",
    :warm_throughput => "warmThroughput",
  }
end

Instance Method Details

#to_jsiiObject



250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
# File 'dynamo_db/cfn_table_props.rb', line 250

def to_jsii
  result = {}
  result.merge!({
    "keySchema" => @key_schema,
    "attributeDefinitions" => @attribute_definitions,
    "billingMode" => @billing_mode,
    "contributorInsightsSpecification" => @contributor_insights_specification,
    "deletionProtectionEnabled" => @deletion_protection_enabled,
    "globalSecondaryIndexes" => @global_secondary_indexes,
    "importSourceSpecification" => @import_source_specification,
    "kinesisStreamSpecification" => @kinesis_stream_specification,
    "localSecondaryIndexes" => @local_secondary_indexes,
    "onDemandThroughput" => @on_demand_throughput,
    "pointInTimeRecoverySpecification" => @point_in_time_recovery_specification,
    "provisionedThroughput" => @provisioned_throughput,
    "resourcePolicy" => @resource_policy,
    "sseSpecification" => @sse_specification,
    "streamSpecification" => @stream_specification,
    "tableClass" => @table_class,
    "tableName" => @table_name,
    "tags" => @tags,
    "timeToLiveSpecification" => @time_to_live_specification,
    "warmThroughput" => @warm_throughput,
  })
  result.compact
end