Class TableV2MultiAccountReplicaProps.Builder
java.lang.Object
software.amazon.awscdk.services.dynamodb.TableV2MultiAccountReplicaProps.Builder
- All Implemented Interfaces:
software.amazon.jsii.Builder<TableV2MultiAccountReplicaProps>
- Enclosing interface:
TableV2MultiAccountReplicaProps
@Stability(Stable)
public static final class TableV2MultiAccountReplicaProps.Builder
extends Object
implements software.amazon.jsii.Builder<TableV2MultiAccountReplicaProps>
A builder for
TableV2MultiAccountReplicaProps-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbuild()Builds the configured instance.contributorInsights(Boolean contributorInsights) Deprecated.use `contributorInsightsSpecification` insteadcontributorInsightsSpecification(ContributorInsightsSpecification contributorInsightsSpecification) Sets the value ofTableOptionsV2.getContributorInsightsSpecification()deletionProtection(Boolean deletionProtection) Sets the value ofTableOptionsV2.getDeletionProtection()encryption(TableEncryptionV2 encryption) Sets the value ofTableV2MultiAccountReplicaProps.getEncryption()globalTableSettingsReplicationMode(GlobalTableSettingsReplicationMode globalTableSettingsReplicationMode) Sets the value ofTableV2MultiAccountReplicaProps.getGlobalTableSettingsReplicationMode()grantIndexPermissions(Boolean grantIndexPermissions) Sets the value ofTableV2MultiAccountReplicaProps.getGrantIndexPermissions()kinesisStream(IStream kinesisStream) Sets the value ofTableOptionsV2.getKinesisStream()pointInTimeRecovery(Boolean pointInTimeRecovery) Deprecated.use `pointInTimeRecoverySpecification` insteadpointInTimeRecoverySpecification(PointInTimeRecoverySpecification pointInTimeRecoverySpecification) Sets the value ofTableOptionsV2.getPointInTimeRecoverySpecification()removalPolicy(RemovalPolicy removalPolicy) Sets the value ofTableV2MultiAccountReplicaProps.getRemovalPolicy()replicaSourceTable(ITableV2 replicaSourceTable) Sets the value ofTableV2MultiAccountReplicaProps.getReplicaSourceTable()resourcePolicy(PolicyDocument resourcePolicy) Sets the value ofTableOptionsV2.getResourcePolicy()tableClass(TableClass tableClass) Sets the value ofTableOptionsV2.getTableClass()Sets the value ofTableV2MultiAccountReplicaProps.getTableName()Sets the value ofTableOptionsV2.getTags()
-
Constructor Details
-
Builder
public Builder()
-
-
Method Details
-
encryption
@Stability(Stable) public TableV2MultiAccountReplicaProps.Builder encryption(TableEncryptionV2 encryption) Sets the value ofTableV2MultiAccountReplicaProps.getEncryption()- Parameters:
encryption- The server-side encryption configuration for the replica table. Note: Each replica manages its own encryption independently. This is not synchronized across replicas.- Returns:
this
-
globalTableSettingsReplicationMode
@Stability(Stable) public TableV2MultiAccountReplicaProps.Builder globalTableSettingsReplicationMode(GlobalTableSettingsReplicationMode globalTableSettingsReplicationMode) Sets the value ofTableV2MultiAccountReplicaProps.getGlobalTableSettingsReplicationMode()- Parameters:
globalTableSettingsReplicationMode- Controls whether table settings are synchronized across replicas. When set to ALL, synchronizable settings (billing mode, throughput, TTL, streams view type, GSIs) are automatically replicated across all replicas. When set to NONE, each replica manages its own settings independently (billing mode must be PAY_PER_REQUEST).Note: Some settings are always synchronized (key schema, LSIs) regardless of this setting, and some are never synchronized (table class, SSE, deletion protection, PITR, tags, resource policy).
- Returns:
this
-
grantIndexPermissions
@Stability(Stable) public TableV2MultiAccountReplicaProps.Builder grantIndexPermissions(Boolean grantIndexPermissions) Sets the value ofTableV2MultiAccountReplicaProps.getGrantIndexPermissions()- Parameters:
grantIndexPermissions- Whether or not to grant permissions for all indexes of the table. Note: If false, permissions will only be granted to indexes whenglobalIndexesis specified.- Returns:
this
-
removalPolicy
@Stability(Stable) public TableV2MultiAccountReplicaProps.Builder removalPolicy(RemovalPolicy removalPolicy) Sets the value ofTableV2MultiAccountReplicaProps.getRemovalPolicy()- Parameters:
removalPolicy- The removal policy applied to the table.- Returns:
this
-
replicaSourceTable
@Stability(Stable) public TableV2MultiAccountReplicaProps.Builder replicaSourceTable(ITableV2 replicaSourceTable) Sets the value ofTableV2MultiAccountReplicaProps.getReplicaSourceTable()- Parameters:
replicaSourceTable- The source table to replicate from. [disable-awslint:prefer-ref-interface]- Returns:
this
-
tableName
Sets the value ofTableV2MultiAccountReplicaProps.getTableName()- Parameters:
tableName- Enforces a particular physical table name.- Returns:
this
-
contributorInsights
@Stability(Deprecated) @Deprecated public TableV2MultiAccountReplicaProps.Builder contributorInsights(Boolean contributorInsights) Deprecated.use `contributorInsightsSpecification` insteadSets the value ofTableOptionsV2.getContributorInsights()- Parameters:
contributorInsights- Whether CloudWatch contributor insights is enabled.- Returns:
this
-
contributorInsightsSpecification
@Stability(Stable) public TableV2MultiAccountReplicaProps.Builder contributorInsightsSpecification(ContributorInsightsSpecification contributorInsightsSpecification) Sets the value ofTableOptionsV2.getContributorInsightsSpecification()- Parameters:
contributorInsightsSpecification- Whether CloudWatch contributor insights is enabled and what mode is selected.- Returns:
this
-
deletionProtection
@Stability(Stable) public TableV2MultiAccountReplicaProps.Builder deletionProtection(Boolean deletionProtection) Sets the value ofTableOptionsV2.getDeletionProtection()- Parameters:
deletionProtection- Whether deletion protection is enabled.- Returns:
this
-
kinesisStream
@Stability(Stable) public TableV2MultiAccountReplicaProps.Builder kinesisStream(IStream kinesisStream) Sets the value ofTableOptionsV2.getKinesisStream()- Parameters:
kinesisStream- Kinesis Data Stream to capture item level changes.- Returns:
this
-
pointInTimeRecovery
@Stability(Deprecated) @Deprecated public TableV2MultiAccountReplicaProps.Builder pointInTimeRecovery(Boolean pointInTimeRecovery) Deprecated.use `pointInTimeRecoverySpecification` insteadSets the value ofTableOptionsV2.getPointInTimeRecovery()- Parameters:
pointInTimeRecovery- Whether point-in-time recovery is enabled.- Returns:
this
-
pointInTimeRecoverySpecification
@Stability(Stable) public TableV2MultiAccountReplicaProps.Builder pointInTimeRecoverySpecification(PointInTimeRecoverySpecification pointInTimeRecoverySpecification) Sets the value ofTableOptionsV2.getPointInTimeRecoverySpecification()- Parameters:
pointInTimeRecoverySpecification- Whether point-in-time recovery is enabled and recoveryPeriodInDays is set.- Returns:
this
-
resourcePolicy
@Stability(Stable) public TableV2MultiAccountReplicaProps.Builder resourcePolicy(PolicyDocument resourcePolicy) Sets the value ofTableOptionsV2.getResourcePolicy()- Parameters:
resourcePolicy- Resource policy to assign to DynamoDB Table.- Returns:
this
-
tableClass
Sets the value ofTableOptionsV2.getTableClass()- Parameters:
tableClass- The table class.- Returns:
this
-
tags
Sets the value ofTableOptionsV2.getTags()- Parameters:
tags- Tags to be applied to the primary table (default replica table).- Returns:
this
-
build
Builds the configured instance.- Specified by:
buildin interfacesoftware.amazon.jsii.Builder<TableV2MultiAccountReplicaProps>- Returns:
- a new instance of
TableV2MultiAccountReplicaProps - Throws:
NullPointerException- if any required attribute was not provided
-