Class TableV2MultiAccountReplica.Builder

java.lang.Object
software.amazon.awscdk.services.dynamodb.TableV2MultiAccountReplica.Builder
All Implemented Interfaces:
software.amazon.jsii.Builder<TableV2MultiAccountReplica>
Enclosing class:
TableV2MultiAccountReplica

@Stability(Stable) public static final class TableV2MultiAccountReplica.Builder extends Object implements software.amazon.jsii.Builder<TableV2MultiAccountReplica>
A fluent builder for TableV2MultiAccountReplica.
  • Method Details

    • create

      @Stability(Stable) public static TableV2MultiAccountReplica.Builder create(software.constructs.Construct scope, String id)
      Parameters:
      scope - This parameter is required.
      id - This parameter is required.
      Returns:
      a new instance of TableV2MultiAccountReplica.Builder.
    • contributorInsights

      @Stability(Deprecated) @Deprecated public TableV2MultiAccountReplica.Builder contributorInsights(Boolean contributorInsights)
      Deprecated.
      use contributorInsightsSpecification instead
      (deprecated) Whether CloudWatch contributor insights is enabled.

      Default: false

      Parameters:
      contributorInsights - Whether CloudWatch contributor insights is enabled. This parameter is required.
      Returns:
      this
    • contributorInsightsSpecification

      @Stability(Stable) public TableV2MultiAccountReplica.Builder contributorInsightsSpecification(ContributorInsightsSpecification contributorInsightsSpecification)
      Whether CloudWatch contributor insights is enabled and what mode is selected.

      Default: - contributor insights is not enabled

      Parameters:
      contributorInsightsSpecification - Whether CloudWatch contributor insights is enabled and what mode is selected. This parameter is required.
      Returns:
      this
    • deletionProtection

      @Stability(Stable) public TableV2MultiAccountReplica.Builder deletionProtection(Boolean deletionProtection)
      Whether deletion protection is enabled.

      Default: false

      Parameters:
      deletionProtection - Whether deletion protection is enabled. This parameter is required.
      Returns:
      this
    • kinesisStream

      @Stability(Stable) public TableV2MultiAccountReplica.Builder kinesisStream(IStream kinesisStream)
      Kinesis Data Stream to capture item level changes.

      Default: - no Kinesis Data Stream

      Parameters:
      kinesisStream - Kinesis Data Stream to capture item level changes. This parameter is required.
      Returns:
      this
    • pointInTimeRecovery

      @Stability(Deprecated) @Deprecated public TableV2MultiAccountReplica.Builder pointInTimeRecovery(Boolean pointInTimeRecovery)
      Deprecated.
      use pointInTimeRecoverySpecification instead
      (deprecated) Whether point-in-time recovery is enabled.

      Default: false - point in time recovery is not enabled.

      Parameters:
      pointInTimeRecovery - Whether point-in-time recovery is enabled. This parameter is required.
      Returns:
      this
    • pointInTimeRecoverySpecification

      @Stability(Stable) public TableV2MultiAccountReplica.Builder pointInTimeRecoverySpecification(PointInTimeRecoverySpecification pointInTimeRecoverySpecification)
      Whether point-in-time recovery is enabled and recoveryPeriodInDays is set.

      Default: - point in time recovery is not enabled.

      Parameters:
      pointInTimeRecoverySpecification - Whether point-in-time recovery is enabled and recoveryPeriodInDays is set. This parameter is required.
      Returns:
      this
    • resourcePolicy

      @Stability(Stable) public TableV2MultiAccountReplica.Builder resourcePolicy(PolicyDocument resourcePolicy)
      Resource policy to assign to DynamoDB Table.

      Default: - No resource policy statements are added to the created table.

      Parameters:
      resourcePolicy - Resource policy to assign to DynamoDB Table. This parameter is required.
      Returns:
      this
      See Also:
    • tableClass

      @Stability(Stable) public TableV2MultiAccountReplica.Builder tableClass(TableClass tableClass)
      The table class.

      Default: TableClass.STANDARD

      Parameters:
      tableClass - The table class. This parameter is required.
      Returns:
      this
    • tags

      @Stability(Stable) public TableV2MultiAccountReplica.Builder tags(List<? extends CfnTag> tags)
      Tags to be applied to the primary table (default replica table).

      Default: - no tags

      Parameters:
      tags - Tags to be applied to the primary table (default replica table). This parameter is required.
      Returns:
      this
    • encryption

      @Stability(Stable) public TableV2MultiAccountReplica.Builder encryption(TableEncryptionV2 encryption)
      The server-side encryption configuration for the replica table.

      Note: Each replica manages its own encryption independently. This is not synchronized across replicas.

      Default: TableEncryptionV2.dynamoOwnedKey()

      Parameters:
      encryption - The server-side encryption configuration for the replica table. This parameter is required.
      Returns:
      this
    • globalTableSettingsReplicationMode

      @Stability(Stable) public TableV2MultiAccountReplica.Builder globalTableSettingsReplicationMode(GlobalTableSettingsReplicationMode 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).

      Default: GlobalTableSettingsReplicationMode.ALL

      Parameters:
      globalTableSettingsReplicationMode - Controls whether table settings are synchronized across replicas. This parameter is required.
      Returns:
      this
    • grantIndexPermissions

      @Stability(Stable) public TableV2MultiAccountReplica.Builder grantIndexPermissions(Boolean grantIndexPermissions)
      Whether or not to grant permissions for all indexes of the table.

      Note: If false, permissions will only be granted to indexes when globalIndexes is specified.

      Default: false

      Parameters:
      grantIndexPermissions - Whether or not to grant permissions for all indexes of the table. This parameter is required.
      Returns:
      this
    • removalPolicy

      @Stability(Stable) public TableV2MultiAccountReplica.Builder removalPolicy(RemovalPolicy removalPolicy)
      The removal policy applied to the table.

      Default: RemovalPolicy.RETAIN

      Parameters:
      removalPolicy - The removal policy applied to the table. This parameter is required.
      Returns:
      this
    • replicaSourceTable

      @Stability(Stable) public TableV2MultiAccountReplica.Builder replicaSourceTable(ITableV2 replicaSourceTable)
      The source table to replicate from.

      [disable-awslint:prefer-ref-interface]

      Default: - must be provided

      Parameters:
      replicaSourceTable - The source table to replicate from. This parameter is required.
      Returns:
      this
    • tableName

      @Stability(Stable) public TableV2MultiAccountReplica.Builder tableName(String tableName)
      Enforces a particular physical table name.

      Default: - generated by CloudFormation

      Parameters:
      tableName - Enforces a particular physical table name. This parameter is required.
      Returns:
      this
    • build

      @Stability(Stable) public TableV2MultiAccountReplica build()
      Specified by:
      build in interface software.amazon.jsii.Builder<TableV2MultiAccountReplica>
      Returns:
      a newly built instance of TableV2MultiAccountReplica.