Class TableOptions.Jsii$Proxy

java.lang.Object
software.amazon.jsii.JsiiObject
software.amazon.awscdk.services.dynamodb.TableOptions.Jsii$Proxy
All Implemented Interfaces:
SchemaOptions, TableOptions, software.amazon.jsii.JsiiSerializable
Enclosing interface:
TableOptions

@Stability(Stable) @Internal public static final class TableOptions.Jsii$Proxy extends software.amazon.jsii.JsiiObject implements TableOptions
An implementation for TableOptions
  • Constructor Details

    • Jsii$Proxy

      protected Jsii$Proxy(software.amazon.jsii.JsiiObjectRef objRef)
      Constructor that initializes the object based on values retrieved from the JsiiObject.
      Parameters:
      objRef - Reference to the JSII managed object.
    • Jsii$Proxy

      protected Jsii$Proxy(TableOptions.Builder builder)
      Constructor that initializes the object based on literal property values passed by the TableOptions.Builder.
  • Method Details

    • getBillingMode

      public final BillingMode getBillingMode()
      Description copied from interface: TableOptions
      Specify how you are charged for read and write throughput and how you manage capacity.

      Default: PROVISIONED if `replicationRegions` is not specified, PAY_PER_REQUEST otherwise

      Specified by:
      getBillingMode in interface TableOptions
    • getContributorInsightsEnabled

      public final Boolean getContributorInsightsEnabled()
      Description copied from interface: TableOptions
      Whether CloudWatch contributor insights is enabled.

      Default: false

      Specified by:
      getContributorInsightsEnabled in interface TableOptions
    • getDeletionProtection

      public final Boolean getDeletionProtection()
      Description copied from interface: TableOptions
      Enables deletion protection for the table.

      Default: false

      Specified by:
      getDeletionProtection in interface TableOptions
    • getEncryption

      public final TableEncryption getEncryption()
      Description copied from interface: TableOptions
      Whether server-side encryption with an AWS managed customer master key is enabled.

      This property cannot be set if serverSideEncryption is set.

      NOTE: if you set this to CUSTOMER_MANAGED and encryptionKey is not specified, the key that the Tablet generates for you will be created with default permissions. If you are using CDKv2, these permissions will be sufficient to enable the key for use with DynamoDB tables. If you are using CDKv1, make sure the feature flag @aws-cdk/aws-kms:defaultKeyPolicies is set to true in your cdk.json.

      Default: - The table is encrypted with an encryption key managed by DynamoDB, and you are not charged any fee for using it.

      Specified by:
      getEncryption in interface TableOptions
    • getEncryptionKey

      public final IKey getEncryptionKey()
      Description copied from interface: TableOptions
      External KMS key to use for table encryption.

      This property can only be set if encryption is set to TableEncryption.CUSTOMER_MANAGED.

      Default: - If `encryption` is set to `TableEncryption.CUSTOMER_MANAGED` and this property is undefined, a new KMS key will be created and associated with this table. If `encryption` and this property are both undefined, then the table is encrypted with an encryption key managed by DynamoDB, and you are not charged any fee for using it.

      Specified by:
      getEncryptionKey in interface TableOptions
    • getImportSource

      public final ImportSourceSpecification getImportSource()
      Description copied from interface: TableOptions
      The properties of data being imported from the S3 bucket source to the table.

      Default: - no data import from the S3 bucket

      Specified by:
      getImportSource in interface TableOptions
    • getMaxReadRequestUnits

      public final Number getMaxReadRequestUnits()
      Description copied from interface: TableOptions
      The maximum read request units for the table.

      Careful if you add Global Secondary Indexes, as those will share the table's maximum on-demand throughput.

      Can only be provided if billingMode is PAY_PER_REQUEST.

      Default: - on-demand throughput is disabled

      Specified by:
      getMaxReadRequestUnits in interface TableOptions
    • getMaxWriteRequestUnits

      public final Number getMaxWriteRequestUnits()
      Description copied from interface: TableOptions
      The write request units for the table.

      Careful if you add Global Secondary Indexes, as those will share the table's maximum on-demand throughput.

      Can only be provided if billingMode is PAY_PER_REQUEST.

      Default: - on-demand throughput is disabled

      Specified by:
      getMaxWriteRequestUnits in interface TableOptions
    • getPointInTimeRecovery

      public final Boolean getPointInTimeRecovery()
      Description copied from interface: TableOptions
      Whether point-in-time recovery is enabled.

      Default: - point-in-time recovery is disabled

      Specified by:
      getPointInTimeRecovery in interface TableOptions
    • getReadCapacity

      public final Number getReadCapacity()
      Description copied from interface: TableOptions
      The read capacity for the table.

      Careful if you add Global Secondary Indexes, as those will share the table's provisioned throughput.

      Can only be provided if billingMode is Provisioned.

      Default: 5

      Specified by:
      getReadCapacity in interface TableOptions
    • getRemovalPolicy

      public final RemovalPolicy getRemovalPolicy()
      Description copied from interface: TableOptions
      The removal policy to apply to the DynamoDB Table.

      Default: RemovalPolicy.RETAIN

      Specified by:
      getRemovalPolicy in interface TableOptions
    • getReplicationRegions

      public final List<String> getReplicationRegions()
      Description copied from interface: TableOptions
      Regions where replica tables will be created.

      Default: - no replica tables are created

      Specified by:
      getReplicationRegions in interface TableOptions
    • getReplicationTimeout

      public final Duration getReplicationTimeout()
      Description copied from interface: TableOptions
      The timeout for a table replication operation in a single region.

      Default: Duration.minutes(30)

      Specified by:
      getReplicationTimeout in interface TableOptions
    • getResourcePolicy

      public final PolicyDocument getResourcePolicy()
      Description copied from interface: TableOptions
      Resource policy to assign to table.

      Default: - No resource policy statement

      Specified by:
      getResourcePolicy in interface TableOptions
      See Also:
    • getStream

      public final StreamViewType getStream()
      Description copied from interface: TableOptions
      When an item in the table is modified, StreamViewType determines what information is written to the stream for this table.

      Default: - streams are disabled unless `replicationRegions` is specified

      Specified by:
      getStream in interface TableOptions
    • getTableClass

      public final TableClass getTableClass()
      Description copied from interface: TableOptions
      Specify the table class.

      Default: STANDARD

      Specified by:
      getTableClass in interface TableOptions
    • getTimeToLiveAttribute

      public final String getTimeToLiveAttribute()
      Description copied from interface: TableOptions
      The name of TTL attribute.

      Default: - TTL is disabled

      Specified by:
      getTimeToLiveAttribute in interface TableOptions
    • getWaitForReplicationToFinish

      public final Boolean getWaitForReplicationToFinish()
      Description copied from interface: TableOptions
      [WARNING: Use this flag with caution, misusing this flag may cause deleting existing replicas, refer to the detailed documentation for more information] Indicates whether CloudFormation stack waits for replication to finish.

      If set to false, the CloudFormation resource will mark the resource as created and replication will be completed asynchronously. This property is ignored if replicationRegions property is not set.

      WARNING: DO NOT UNSET this property if adding/removing multiple replicationRegions in one deployment, as CloudFormation only supports one region replication at a time. CDK overcomes this limitation by waiting for replication to finish before starting new replicationRegion.

      If the custom resource which handles replication has a physical resource ID with the format region instead of tablename-region (this would happen if the custom resource hasn't received an event since v1.91.0), DO NOT SET this property to false without making a change to the table name. This will cause the existing replicas to be deleted.

      Default: true

      Specified by:
      getWaitForReplicationToFinish in interface TableOptions
      See Also:
    • getWriteCapacity

      public final Number getWriteCapacity()
      Description copied from interface: TableOptions
      The write capacity for the table.

      Careful if you add Global Secondary Indexes, as those will share the table's provisioned throughput.

      Can only be provided if billingMode is Provisioned.

      Default: 5

      Specified by:
      getWriteCapacity in interface TableOptions
    • getPartitionKey

      public final Attribute getPartitionKey()
      Description copied from interface: SchemaOptions
      Partition key attribute definition.
      Specified by:
      getPartitionKey in interface SchemaOptions
    • getSortKey

      public final Attribute getSortKey()
      Description copied from interface: SchemaOptions
      Sort key attribute definition.

      Default: no sort key

      Specified by:
      getSortKey in interface SchemaOptions
    • $jsii$toJson

      @Internal public com.fasterxml.jackson.databind.JsonNode $jsii$toJson()
      Specified by:
      $jsii$toJson in interface software.amazon.jsii.JsiiSerializable
    • equals

      public final boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object