Class TableState.Builder

  • Enclosing class:
    TableState

    public static final class TableState.Builder
    extends java.lang.Object
    • Constructor Detail

      • Builder

        public Builder()
      • Builder

        public Builder​(TableState defaults)
    • Method Detail

      • arn

        public TableState.Builder arn​(@Nullable
                                      com.pulumi.core.Output<java.lang.String> arn)
        Parameters:
        arn - ARN of the table * `replica.*.arn` - ARN of the replica * `replica.*.stream_arn` - ARN of the replica Table Stream. Only available when `streamEnabled = true`. * `replica.*.stream_label` - Timestamp, in ISO 8601 format, for the replica stream. Note that this timestamp is not a unique identifier for the stream on its own. However, the combination of AWS customer ID, table name and this field is guaranteed to be unique. It can be used for creating CloudWatch Alarms. Only available when `streamEnabled = true`.
        Returns:
        builder
      • arn

        public TableState.Builder arn​(java.lang.String arn)
        Parameters:
        arn - ARN of the table * `replica.*.arn` - ARN of the replica * `replica.*.stream_arn` - ARN of the replica Table Stream. Only available when `streamEnabled = true`. * `replica.*.stream_label` - Timestamp, in ISO 8601 format, for the replica stream. Note that this timestamp is not a unique identifier for the stream on its own. However, the combination of AWS customer ID, table name and this field is guaranteed to be unique. It can be used for creating CloudWatch Alarms. Only available when `streamEnabled = true`.
        Returns:
        builder
      • attributes

        public TableState.Builder attributes​(@Nullable
                                             com.pulumi.core.Output<java.util.List<TableAttributeArgs>> attributes)
        Parameters:
        attributes - Set of nested attribute definitions. Only required for `hashKey` and `rangeKey` attributes. See below.
        Returns:
        builder
      • attributes

        public TableState.Builder attributes​(java.util.List<TableAttributeArgs> attributes)
        Parameters:
        attributes - Set of nested attribute definitions. Only required for `hashKey` and `rangeKey` attributes. See below.
        Returns:
        builder
      • attributes

        public TableState.Builder attributes​(TableAttributeArgs... attributes)
        Parameters:
        attributes - Set of nested attribute definitions. Only required for `hashKey` and `rangeKey` attributes. See below.
        Returns:
        builder
      • billingMode

        public TableState.Builder billingMode​(@Nullable
                                              com.pulumi.core.Output<java.lang.String> billingMode)
        Parameters:
        billingMode - Controls how you are charged for read and write throughput and how you manage capacity. The valid values are `PROVISIONED` and `PAY_PER_REQUEST`. Defaults to `PROVISIONED`.
        Returns:
        builder
      • billingMode

        public TableState.Builder billingMode​(java.lang.String billingMode)
        Parameters:
        billingMode - Controls how you are charged for read and write throughput and how you manage capacity. The valid values are `PROVISIONED` and `PAY_PER_REQUEST`. Defaults to `PROVISIONED`.
        Returns:
        builder
      • deletionProtectionEnabled

        public TableState.Builder deletionProtectionEnabled​(@Nullable
                                                            com.pulumi.core.Output<java.lang.Boolean> deletionProtectionEnabled)
        Parameters:
        deletionProtectionEnabled - Enables deletion protection for table. Defaults to `false`.
        Returns:
        builder
      • deletionProtectionEnabled

        public TableState.Builder deletionProtectionEnabled​(java.lang.Boolean deletionProtectionEnabled)
        Parameters:
        deletionProtectionEnabled - Enables deletion protection for table. Defaults to `false`.
        Returns:
        builder
      • globalSecondaryIndexes

        public TableState.Builder globalSecondaryIndexes​(@Nullable
                                                         com.pulumi.core.Output<java.util.List<TableGlobalSecondaryIndexArgs>> globalSecondaryIndexes)
        Parameters:
        globalSecondaryIndexes - Describe a GSI for the table; subject to the normal limits on the number of GSIs, projected attributes, etc. See below.
        Returns:
        builder
      • globalSecondaryIndexes

        public TableState.Builder globalSecondaryIndexes​(java.util.List<TableGlobalSecondaryIndexArgs> globalSecondaryIndexes)
        Parameters:
        globalSecondaryIndexes - Describe a GSI for the table; subject to the normal limits on the number of GSIs, projected attributes, etc. See below.
        Returns:
        builder
      • globalSecondaryIndexes

        public TableState.Builder globalSecondaryIndexes​(TableGlobalSecondaryIndexArgs... globalSecondaryIndexes)
        Parameters:
        globalSecondaryIndexes - Describe a GSI for the table; subject to the normal limits on the number of GSIs, projected attributes, etc. See below.
        Returns:
        builder
      • globalTableWitness

        public TableState.Builder globalTableWitness​(@Nullable
                                                     com.pulumi.core.Output<TableGlobalTableWitnessArgs> globalTableWitness)
        Parameters:
        globalTableWitness - Witness Region in a Multi-Region Strong Consistency deployment. **Note** This must be used alongside a single `replica` with `consistencyMode` set to `STRONG`. Other combinations will fail to provision. See below.
        Returns:
        builder
      • globalTableWitness

        public TableState.Builder globalTableWitness​(TableGlobalTableWitnessArgs globalTableWitness)
        Parameters:
        globalTableWitness - Witness Region in a Multi-Region Strong Consistency deployment. **Note** This must be used alongside a single `replica` with `consistencyMode` set to `STRONG`. Other combinations will fail to provision. See below.
        Returns:
        builder
      • hashKey

        public TableState.Builder hashKey​(@Nullable
                                          com.pulumi.core.Output<java.lang.String> hashKey)
        Parameters:
        hashKey - Attribute to use as the hash (partition) key. Must also be defined as an `attribute`. See below.
        Returns:
        builder
      • hashKey

        public TableState.Builder hashKey​(java.lang.String hashKey)
        Parameters:
        hashKey - Attribute to use as the hash (partition) key. Must also be defined as an `attribute`. See below.
        Returns:
        builder
      • importTable

        public TableState.Builder importTable​(@Nullable
                                              com.pulumi.core.Output<TableImportTableArgs> importTable)
        Parameters:
        importTable - Import Amazon S3 data into a new table. See below.
        Returns:
        builder
      • localSecondaryIndexes

        public TableState.Builder localSecondaryIndexes​(@Nullable
                                                        com.pulumi.core.Output<java.util.List<TableLocalSecondaryIndexArgs>> localSecondaryIndexes)
        Parameters:
        localSecondaryIndexes - Describe an LSI on the table; these can only be allocated _at creation_ so you cannot change this definition after you have created the resource. See below.
        Returns:
        builder
      • localSecondaryIndexes

        public TableState.Builder localSecondaryIndexes​(java.util.List<TableLocalSecondaryIndexArgs> localSecondaryIndexes)
        Parameters:
        localSecondaryIndexes - Describe an LSI on the table; these can only be allocated _at creation_ so you cannot change this definition after you have created the resource. See below.
        Returns:
        builder
      • localSecondaryIndexes

        public TableState.Builder localSecondaryIndexes​(TableLocalSecondaryIndexArgs... localSecondaryIndexes)
        Parameters:
        localSecondaryIndexes - Describe an LSI on the table; these can only be allocated _at creation_ so you cannot change this definition after you have created the resource. See below.
        Returns:
        builder
      • name

        public TableState.Builder name​(@Nullable
                                       com.pulumi.core.Output<java.lang.String> name)
        Parameters:
        name - Unique within a region name of the table. The following arguments are optional:
        Returns:
        builder
      • name

        public TableState.Builder name​(java.lang.String name)
        Parameters:
        name - Unique within a region name of the table. The following arguments are optional:
        Returns:
        builder
      • onDemandThroughput

        public TableState.Builder onDemandThroughput​(@Nullable
                                                     com.pulumi.core.Output<TableOnDemandThroughputArgs> onDemandThroughput)
        Parameters:
        onDemandThroughput - Sets the maximum number of read and write units for the specified on-demand table. See below.
        Returns:
        builder
      • onDemandThroughput

        public TableState.Builder onDemandThroughput​(TableOnDemandThroughputArgs onDemandThroughput)
        Parameters:
        onDemandThroughput - Sets the maximum number of read and write units for the specified on-demand table. See below.
        Returns:
        builder
      • pointInTimeRecovery

        public TableState.Builder pointInTimeRecovery​(@Nullable
                                                      com.pulumi.core.Output<TablePointInTimeRecoveryArgs> pointInTimeRecovery)
        Parameters:
        pointInTimeRecovery - Enable point-in-time recovery options. See below.
        Returns:
        builder
      • rangeKey

        public TableState.Builder rangeKey​(@Nullable
                                           com.pulumi.core.Output<java.lang.String> rangeKey)
        Parameters:
        rangeKey - Attribute to use as the range (sort) key. Must also be defined as an `attribute`, see below.
        Returns:
        builder
      • rangeKey

        public TableState.Builder rangeKey​(java.lang.String rangeKey)
        Parameters:
        rangeKey - Attribute to use as the range (sort) key. Must also be defined as an `attribute`, see below.
        Returns:
        builder
      • readCapacity

        public TableState.Builder readCapacity​(@Nullable
                                               com.pulumi.core.Output<java.lang.Integer> readCapacity)
        Parameters:
        readCapacity - Number of read units for this table. If the `billingMode` is `PROVISIONED`, this field is required.
        Returns:
        builder
      • readCapacity

        public TableState.Builder readCapacity​(java.lang.Integer readCapacity)
        Parameters:
        readCapacity - Number of read units for this table. If the `billingMode` is `PROVISIONED`, this field is required.
        Returns:
        builder
      • region

        public TableState.Builder region​(@Nullable
                                         com.pulumi.core.Output<java.lang.String> region)
        Parameters:
        region - Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
        Returns:
        builder
      • region

        public TableState.Builder region​(java.lang.String region)
        Parameters:
        region - Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
        Returns:
        builder
      • replicas

        public TableState.Builder replicas​(@Nullable
                                           com.pulumi.core.Output<java.util.List<TableReplicaArgs>> replicas)
        Parameters:
        replicas - Configuration block(s) with [DynamoDB Global Tables V2 (version 2019.11.21)](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html) replication configurations. See below.
        Returns:
        builder
      • replicas

        public TableState.Builder replicas​(java.util.List<TableReplicaArgs> replicas)
        Parameters:
        replicas - Configuration block(s) with [DynamoDB Global Tables V2 (version 2019.11.21)](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html) replication configurations. See below.
        Returns:
        builder
      • replicas

        public TableState.Builder replicas​(TableReplicaArgs... replicas)
        Parameters:
        replicas - Configuration block(s) with [DynamoDB Global Tables V2 (version 2019.11.21)](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html) replication configurations. See below.
        Returns:
        builder
      • restoreBackupArn

        public TableState.Builder restoreBackupArn​(@Nullable
                                                   com.pulumi.core.Output<java.lang.String> restoreBackupArn)
        Parameters:
        restoreBackupArn - ARN of backup to restore.
        Returns:
        builder
      • restoreBackupArn

        public TableState.Builder restoreBackupArn​(java.lang.String restoreBackupArn)
        Parameters:
        restoreBackupArn - ARN of backup to restore.
        Returns:
        builder
      • restoreDateTime

        public TableState.Builder restoreDateTime​(@Nullable
                                                  com.pulumi.core.Output<java.lang.String> restoreDateTime)
        Parameters:
        restoreDateTime - Time of the point-in-time recovery point to restore.
        Returns:
        builder
      • restoreDateTime

        public TableState.Builder restoreDateTime​(java.lang.String restoreDateTime)
        Parameters:
        restoreDateTime - Time of the point-in-time recovery point to restore.
        Returns:
        builder
      • restoreSourceName

        public TableState.Builder restoreSourceName​(@Nullable
                                                    com.pulumi.core.Output<java.lang.String> restoreSourceName)
        Parameters:
        restoreSourceName - Name of the table to restore. Must match the name of an existing table.
        Returns:
        builder
      • restoreSourceName

        public TableState.Builder restoreSourceName​(java.lang.String restoreSourceName)
        Parameters:
        restoreSourceName - Name of the table to restore. Must match the name of an existing table.
        Returns:
        builder
      • restoreSourceTableArn

        public TableState.Builder restoreSourceTableArn​(@Nullable
                                                        com.pulumi.core.Output<java.lang.String> restoreSourceTableArn)
        Parameters:
        restoreSourceTableArn - ARN of the source table to restore. Must be supplied for cross-region restores.
        Returns:
        builder
      • restoreSourceTableArn

        public TableState.Builder restoreSourceTableArn​(java.lang.String restoreSourceTableArn)
        Parameters:
        restoreSourceTableArn - ARN of the source table to restore. Must be supplied for cross-region restores.
        Returns:
        builder
      • restoreToLatestTime

        public TableState.Builder restoreToLatestTime​(@Nullable
                                                      com.pulumi.core.Output<java.lang.Boolean> restoreToLatestTime)
        Parameters:
        restoreToLatestTime - If set, restores table to the most recent point-in-time recovery point.
        Returns:
        builder
      • restoreToLatestTime

        public TableState.Builder restoreToLatestTime​(java.lang.Boolean restoreToLatestTime)
        Parameters:
        restoreToLatestTime - If set, restores table to the most recent point-in-time recovery point.
        Returns:
        builder
      • serverSideEncryption

        public TableState.Builder serverSideEncryption​(@Nullable
                                                       com.pulumi.core.Output<TableServerSideEncryptionArgs> serverSideEncryption)
        Parameters:
        serverSideEncryption - Encryption at rest options. AWS DynamoDB tables are automatically encrypted at rest with an AWS-owned Customer Master Key if this argument isn't specified. Must be supplied for cross-region restores. See below.
        Returns:
        builder
      • serverSideEncryption

        public TableState.Builder serverSideEncryption​(TableServerSideEncryptionArgs serverSideEncryption)
        Parameters:
        serverSideEncryption - Encryption at rest options. AWS DynamoDB tables are automatically encrypted at rest with an AWS-owned Customer Master Key if this argument isn't specified. Must be supplied for cross-region restores. See below.
        Returns:
        builder
      • streamArn

        public TableState.Builder streamArn​(@Nullable
                                            com.pulumi.core.Output<java.lang.String> streamArn)
        Parameters:
        streamArn - ARN of the Table Stream. Only available when `streamEnabled = true`
        Returns:
        builder
      • streamArn

        public TableState.Builder streamArn​(java.lang.String streamArn)
        Parameters:
        streamArn - ARN of the Table Stream. Only available when `streamEnabled = true`
        Returns:
        builder
      • streamEnabled

        public TableState.Builder streamEnabled​(@Nullable
                                                com.pulumi.core.Output<java.lang.Boolean> streamEnabled)
        Parameters:
        streamEnabled - Whether Streams are enabled.
        Returns:
        builder
      • streamEnabled

        public TableState.Builder streamEnabled​(java.lang.Boolean streamEnabled)
        Parameters:
        streamEnabled - Whether Streams are enabled.
        Returns:
        builder
      • streamLabel

        public TableState.Builder streamLabel​(@Nullable
                                              com.pulumi.core.Output<java.lang.String> streamLabel)
        Parameters:
        streamLabel - Timestamp, in ISO 8601 format, for this stream. Note that this timestamp is not a unique identifier for the stream on its own. However, the combination of AWS customer ID, table name and this field is guaranteed to be unique. It can be used for creating CloudWatch Alarms. Only available when `streamEnabled = true`.
        Returns:
        builder
      • streamLabel

        public TableState.Builder streamLabel​(java.lang.String streamLabel)
        Parameters:
        streamLabel - Timestamp, in ISO 8601 format, for this stream. Note that this timestamp is not a unique identifier for the stream on its own. However, the combination of AWS customer ID, table name and this field is guaranteed to be unique. It can be used for creating CloudWatch Alarms. Only available when `streamEnabled = true`.
        Returns:
        builder
      • streamViewType

        public TableState.Builder streamViewType​(@Nullable
                                                 com.pulumi.core.Output<java.lang.String> streamViewType)
        Parameters:
        streamViewType - When an item in the table is modified, StreamViewType determines what information is written to the table's stream. Valid values are `KEYS_ONLY`, `NEW_IMAGE`, `OLD_IMAGE`, `NEW_AND_OLD_IMAGES`. Only valid when `streamEnabled` is true.
        Returns:
        builder
      • streamViewType

        public TableState.Builder streamViewType​(java.lang.String streamViewType)
        Parameters:
        streamViewType - When an item in the table is modified, StreamViewType determines what information is written to the table's stream. Valid values are `KEYS_ONLY`, `NEW_IMAGE`, `OLD_IMAGE`, `NEW_AND_OLD_IMAGES`. Only valid when `streamEnabled` is true.
        Returns:
        builder
      • tableClass

        public TableState.Builder tableClass​(@Nullable
                                             com.pulumi.core.Output<java.lang.String> tableClass)
        Parameters:
        tableClass - Storage class of the table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. Default value is `STANDARD`.
        Returns:
        builder
      • tableClass

        public TableState.Builder tableClass​(java.lang.String tableClass)
        Parameters:
        tableClass - Storage class of the table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. Default value is `STANDARD`.
        Returns:
        builder
      • tags

        public TableState.Builder tags​(@Nullable
                                       com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tags)
        Parameters:
        tags - A map of tags to populate on the created table. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
        Returns:
        builder
      • tags

        public TableState.Builder tags​(java.util.Map<java.lang.String,​java.lang.String> tags)
        Parameters:
        tags - A map of tags to populate on the created table. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
        Returns:
        builder
      • tagsAll

        public TableState.Builder tagsAll​(@Nullable
                                          com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tagsAll)
        Parameters:
        tagsAll - Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
        Returns:
        builder
      • tagsAll

        public TableState.Builder tagsAll​(java.util.Map<java.lang.String,​java.lang.String> tagsAll)
        Parameters:
        tagsAll - Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
        Returns:
        builder
      • ttl

        public TableState.Builder ttl​(@Nullable
                                      com.pulumi.core.Output<TableTtlArgs> ttl)
        Parameters:
        ttl - Configuration block for TTL. See below.
        Returns:
        builder
      • warmThroughput

        public TableState.Builder warmThroughput​(@Nullable
                                                 com.pulumi.core.Output<TableWarmThroughputArgs> warmThroughput)
        Parameters:
        warmThroughput - Sets the number of warm read and write units for the specified table. See below.
        Returns:
        builder
      • warmThroughput

        public TableState.Builder warmThroughput​(TableWarmThroughputArgs warmThroughput)
        Parameters:
        warmThroughput - Sets the number of warm read and write units for the specified table. See below.
        Returns:
        builder
      • writeCapacity

        public TableState.Builder writeCapacity​(@Nullable
                                                com.pulumi.core.Output<java.lang.Integer> writeCapacity)
        Parameters:
        writeCapacity - Number of write units for this table. If the `billingMode` is `PROVISIONED`, this field is required.
        Returns:
        builder
      • writeCapacity

        public TableState.Builder writeCapacity​(java.lang.Integer writeCapacity)
        Parameters:
        writeCapacity - Number of write units for this table. If the `billingMode` is `PROVISIONED`, this field is required.
        Returns:
        builder