Class TableArgs.Builder

  • Enclosing class:
    TableArgs

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

      • Builder

        public Builder()
      • Builder

        public Builder​(TableArgs defaults)
    • Method Detail

      • attributes

        public TableArgs.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 TableArgs.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 TableArgs.Builder attributes​(TableAttributeArgs... attributes)
        Parameters:
        attributes - Set of nested attribute definitions. Only required for `hashKey` and `rangeKey` attributes. See below.
        Returns:
        builder
      • billingMode

        public TableArgs.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 TableArgs.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 TableArgs.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 TableArgs.Builder deletionProtectionEnabled​(java.lang.Boolean deletionProtectionEnabled)
        Parameters:
        deletionProtectionEnabled - Enables deletion protection for table. Defaults to `false`.
        Returns:
        builder
      • globalSecondaryIndexes

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

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

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

        public TableArgs.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 TableArgs.Builder restoreDateTime​(java.lang.String restoreDateTime)
        Parameters:
        restoreDateTime - Time of the point-in-time recovery point to restore.
        Returns:
        builder
      • restoreSourceName

        public TableArgs.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 TableArgs.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 TableArgs.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 TableArgs.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 TableArgs.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 TableArgs.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 TableArgs.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 TableArgs.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
      • streamEnabled

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

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

        public TableArgs.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 TableArgs.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 TableArgs.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 TableArgs.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 TableArgs.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 TableArgs.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
      • ttl

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

        public TableArgs.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 TableArgs.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 TableArgs.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 TableArgs.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