Class: AWSCDK::DynamoDB::CfnGlobalTable::ReplicaGlobalSecondaryIndexSpecificationProperty

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

Overview

Represents the properties of a global secondary index that can be set on a per-replica basis.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(index_name:, contributor_insights_specification: nil, read_on_demand_throughput_settings: nil, read_provisioned_throughput_settings: nil) ⇒ ReplicaGlobalSecondaryIndexSpecificationProperty

Returns a new instance of ReplicaGlobalSecondaryIndexSpecificationProperty.

Parameters:



1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
# File 'dynamo_db/cfn_global_table.rb', line 1494

def initialize(index_name:, contributor_insights_specification: nil, read_on_demand_throughput_settings: nil, read_provisioned_throughput_settings: nil)
  @index_name = index_name
  Jsii::Type.check_type(@index_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "indexName")
  @contributor_insights_specification = contributor_insights_specification.is_a?(Hash) ? ::AWSCDK::DynamoDB::CfnGlobalTable::ContributorInsightsSpecificationProperty.new(**contributor_insights_specification.transform_keys(&:to_sym)) : contributor_insights_specification
  Jsii::Type.check_type(@contributor_insights_specification, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19keW5hbW9kYi5DZm5HbG9iYWxUYWJsZS5Db250cmlidXRvckluc2lnaHRzU3BlY2lmaWNhdGlvblByb3BlcnR5In1dfX0=")), "contributorInsightsSpecification") unless @contributor_insights_specification.nil?
  @read_on_demand_throughput_settings = read_on_demand_throughput_settings.is_a?(Hash) ? ::AWSCDK::DynamoDB::CfnGlobalTable::ReadOnDemandThroughputSettingsProperty.new(**read_on_demand_throughput_settings.transform_keys(&:to_sym)) : read_on_demand_throughput_settings
  Jsii::Type.check_type(@read_on_demand_throughput_settings, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19keW5hbW9kYi5DZm5HbG9iYWxUYWJsZS5SZWFkT25EZW1hbmRUaHJvdWdocHV0U2V0dGluZ3NQcm9wZXJ0eSJ9XX19")), "readOnDemandThroughputSettings") unless @read_on_demand_throughput_settings.nil?
  @read_provisioned_throughput_settings = read_provisioned_throughput_settings.is_a?(Hash) ? ::AWSCDK::DynamoDB::CfnGlobalTable::ReadProvisionedThroughputSettingsProperty.new(**read_provisioned_throughput_settings.transform_keys(&:to_sym)) : read_provisioned_throughput_settings
  Jsii::Type.check_type(@read_provisioned_throughput_settings, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19keW5hbW9kYi5DZm5HbG9iYWxUYWJsZS5SZWFkUHJvdmlzaW9uZWRUaHJvdWdocHV0U2V0dGluZ3NQcm9wZXJ0eSJ9XX19")), "readProvisionedThroughputSettings") unless @read_provisioned_throughput_settings.nil?
end

Instance Attribute Details

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

Updates the status for contributor insights for a specific table or index.

CloudWatch Contributor Insights for DynamoDB graphs display the partition key and (if applicable) sort key of frequently accessed items and frequently throttled items in plaintext. If you require the use of AWS Key Management Service (KMS) to encrypt this table’s partition key and sort key data with an AWS managed key or customer managed key, you should not enable CloudWatch Contributor Insights for DynamoDB for this table.



1518
1519
1520
# File 'dynamo_db/cfn_global_table.rb', line 1518

def contributor_insights_specification
  @contributor_insights_specification
end

#index_nameString (readonly)

The name of the global secondary index.

The name must be unique among all other indexes on this table.



1511
1512
1513
# File 'dynamo_db/cfn_global_table.rb', line 1511

def index_name
  @index_name
end

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

Sets the read request settings for a replica global secondary index.

You can only specify this setting if your resource uses the PAY_PER_REQUEST BillingMode .



1525
1526
1527
# File 'dynamo_db/cfn_global_table.rb', line 1525

def read_on_demand_throughput_settings
  @read_on_demand_throughput_settings
end

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

Allows you to specify the read capacity settings for a replica global secondary index when the BillingMode is set to PROVISIONED .



1530
1531
1532
# File 'dynamo_db/cfn_global_table.rb', line 1530

def read_provisioned_throughput_settings
  @read_provisioned_throughput_settings
end

Class Method Details

.jsii_propertiesObject



1532
1533
1534
1535
1536
1537
1538
1539
# File 'dynamo_db/cfn_global_table.rb', line 1532

def self.jsii_properties
  {
    :index_name => "indexName",
    :contributor_insights_specification => "contributorInsightsSpecification",
    :read_on_demand_throughput_settings => "readOnDemandThroughputSettings",
    :read_provisioned_throughput_settings => "readProvisionedThroughputSettings",
  }
end

Instance Method Details

#to_jsiiObject



1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
# File 'dynamo_db/cfn_global_table.rb', line 1541

def to_jsii
  result = {}
  result.merge!({
    "indexName" => @index_name,
    "contributorInsightsSpecification" => @contributor_insights_specification,
    "readOnDemandThroughputSettings" => @read_on_demand_throughput_settings,
    "readProvisionedThroughputSettings" => @read_provisioned_throughput_settings,
  })
  result.compact
end