1. Packages
  2. AWS Classic
  3. API Docs
  4. dynamodb
  5. Table

Try AWS Native preview for resources not in the classic version.

AWS Classic v6.2.0 published on Monday, Sep 18, 2023 by Pulumi

aws.dynamodb.Table

Explore with Pulumi AI

aws logo

Try AWS Native preview for resources not in the classic version.

AWS Classic v6.2.0 published on Monday, Sep 18, 2023 by Pulumi

    Provides a DynamoDB table resource.

    Note: It is recommended to use ignoreChanges for read_capacity and/or write_capacity if there’s autoscaling policy attached to the table.

    Note: When using aws.dynamodb.TableReplica with this resource, use lifecycle ignore_changes for replica, e.g., lifecycle { ignore_changes = [replica] }.

    DynamoDB Table attributes

    Only define attributes on the table object that are going to be used as:

    • Table hash key or range key
    • LSI or GSI hash key or range key

    The DynamoDB API expects attribute structure (name and type) to be passed along when creating or updating GSI/LSIs or creating the initial table. In these cases it expects the Hash / Range keys to be provided. Because these get re-used in numerous places (i.e the table’s range key could be a part of one or more GSIs), they are stored on the table object to prevent duplication and increase consistency. If you add attributes here that are not used in these scenarios it can cause an infinite loop in planning.

    Example Usage

    Basic Example

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var basic_dynamodb_table = new Aws.DynamoDB.Table("basic-dynamodb-table", new()
        {
            Attributes = new[]
            {
                new Aws.DynamoDB.Inputs.TableAttributeArgs
                {
                    Name = "UserId",
                    Type = "S",
                },
                new Aws.DynamoDB.Inputs.TableAttributeArgs
                {
                    Name = "GameTitle",
                    Type = "S",
                },
                new Aws.DynamoDB.Inputs.TableAttributeArgs
                {
                    Name = "TopScore",
                    Type = "N",
                },
            },
            BillingMode = "PROVISIONED",
            GlobalSecondaryIndexes = new[]
            {
                new Aws.DynamoDB.Inputs.TableGlobalSecondaryIndexArgs
                {
                    HashKey = "GameTitle",
                    Name = "GameTitleIndex",
                    NonKeyAttributes = new[]
                    {
                        "UserId",
                    },
                    ProjectionType = "INCLUDE",
                    RangeKey = "TopScore",
                    ReadCapacity = 10,
                    WriteCapacity = 10,
                },
            },
            HashKey = "UserId",
            RangeKey = "GameTitle",
            ReadCapacity = 20,
            Tags = 
            {
                { "Environment", "production" },
                { "Name", "dynamodb-table-1" },
            },
            Ttl = new Aws.DynamoDB.Inputs.TableTtlArgs
            {
                AttributeName = "TimeToExist",
                Enabled = false,
            },
            WriteCapacity = 20,
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := dynamodb.NewTable(ctx, "basic-dynamodb-table", &dynamodb.TableArgs{
    			Attributes: dynamodb.TableAttributeArray{
    				&dynamodb.TableAttributeArgs{
    					Name: pulumi.String("UserId"),
    					Type: pulumi.String("S"),
    				},
    				&dynamodb.TableAttributeArgs{
    					Name: pulumi.String("GameTitle"),
    					Type: pulumi.String("S"),
    				},
    				&dynamodb.TableAttributeArgs{
    					Name: pulumi.String("TopScore"),
    					Type: pulumi.String("N"),
    				},
    			},
    			BillingMode: pulumi.String("PROVISIONED"),
    			GlobalSecondaryIndexes: dynamodb.TableGlobalSecondaryIndexArray{
    				&dynamodb.TableGlobalSecondaryIndexArgs{
    					HashKey: pulumi.String("GameTitle"),
    					Name:    pulumi.String("GameTitleIndex"),
    					NonKeyAttributes: pulumi.StringArray{
    						pulumi.String("UserId"),
    					},
    					ProjectionType: pulumi.String("INCLUDE"),
    					RangeKey:       pulumi.String("TopScore"),
    					ReadCapacity:   pulumi.Int(10),
    					WriteCapacity:  pulumi.Int(10),
    				},
    			},
    			HashKey:      pulumi.String("UserId"),
    			RangeKey:     pulumi.String("GameTitle"),
    			ReadCapacity: pulumi.Int(20),
    			Tags: pulumi.StringMap{
    				"Environment": pulumi.String("production"),
    				"Name":        pulumi.String("dynamodb-table-1"),
    			},
    			Ttl: &dynamodb.TableTtlArgs{
    				AttributeName: pulumi.String("TimeToExist"),
    				Enabled:       pulumi.Bool(false),
    			},
    			WriteCapacity: pulumi.Int(20),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.dynamodb.Table;
    import com.pulumi.aws.dynamodb.TableArgs;
    import com.pulumi.aws.dynamodb.inputs.TableAttributeArgs;
    import com.pulumi.aws.dynamodb.inputs.TableGlobalSecondaryIndexArgs;
    import com.pulumi.aws.dynamodb.inputs.TableTtlArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var basic_dynamodb_table = new Table("basic-dynamodb-table", TableArgs.builder()        
                .attributes(            
                    TableAttributeArgs.builder()
                        .name("UserId")
                        .type("S")
                        .build(),
                    TableAttributeArgs.builder()
                        .name("GameTitle")
                        .type("S")
                        .build(),
                    TableAttributeArgs.builder()
                        .name("TopScore")
                        .type("N")
                        .build())
                .billingMode("PROVISIONED")
                .globalSecondaryIndexes(TableGlobalSecondaryIndexArgs.builder()
                    .hashKey("GameTitle")
                    .name("GameTitleIndex")
                    .nonKeyAttributes("UserId")
                    .projectionType("INCLUDE")
                    .rangeKey("TopScore")
                    .readCapacity(10)
                    .writeCapacity(10)
                    .build())
                .hashKey("UserId")
                .rangeKey("GameTitle")
                .readCapacity(20)
                .tags(Map.ofEntries(
                    Map.entry("Environment", "production"),
                    Map.entry("Name", "dynamodb-table-1")
                ))
                .ttl(TableTtlArgs.builder()
                    .attributeName("TimeToExist")
                    .enabled(false)
                    .build())
                .writeCapacity(20)
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_aws as aws
    
    basic_dynamodb_table = aws.dynamodb.Table("basic-dynamodb-table",
        attributes=[
            aws.dynamodb.TableAttributeArgs(
                name="UserId",
                type="S",
            ),
            aws.dynamodb.TableAttributeArgs(
                name="GameTitle",
                type="S",
            ),
            aws.dynamodb.TableAttributeArgs(
                name="TopScore",
                type="N",
            ),
        ],
        billing_mode="PROVISIONED",
        global_secondary_indexes=[aws.dynamodb.TableGlobalSecondaryIndexArgs(
            hash_key="GameTitle",
            name="GameTitleIndex",
            non_key_attributes=["UserId"],
            projection_type="INCLUDE",
            range_key="TopScore",
            read_capacity=10,
            write_capacity=10,
        )],
        hash_key="UserId",
        range_key="GameTitle",
        read_capacity=20,
        tags={
            "Environment": "production",
            "Name": "dynamodb-table-1",
        },
        ttl=aws.dynamodb.TableTtlArgs(
            attribute_name="TimeToExist",
            enabled=False,
        ),
        write_capacity=20)
    
    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const basic_dynamodb_table = new aws.dynamodb.Table("basic-dynamodb-table", {
        attributes: [
            {
                name: "UserId",
                type: "S",
            },
            {
                name: "GameTitle",
                type: "S",
            },
            {
                name: "TopScore",
                type: "N",
            },
        ],
        billingMode: "PROVISIONED",
        globalSecondaryIndexes: [{
            hashKey: "GameTitle",
            name: "GameTitleIndex",
            nonKeyAttributes: ["UserId"],
            projectionType: "INCLUDE",
            rangeKey: "TopScore",
            readCapacity: 10,
            writeCapacity: 10,
        }],
        hashKey: "UserId",
        rangeKey: "GameTitle",
        readCapacity: 20,
        tags: {
            Environment: "production",
            Name: "dynamodb-table-1",
        },
        ttl: {
            attributeName: "TimeToExist",
            enabled: false,
        },
        writeCapacity: 20,
    });
    
    resources:
      basic-dynamodb-table:
        type: aws:dynamodb:Table
        properties:
          attributes:
            - name: UserId
              type: S
            - name: GameTitle
              type: S
            - name: TopScore
              type: N
          billingMode: PROVISIONED
          globalSecondaryIndexes:
            - hashKey: GameTitle
              name: GameTitleIndex
              nonKeyAttributes:
                - UserId
              projectionType: INCLUDE
              rangeKey: TopScore
              readCapacity: 10
              writeCapacity: 10
          hashKey: UserId
          rangeKey: GameTitle
          readCapacity: 20
          tags:
            Environment: production
            Name: dynamodb-table-1
          ttl:
            attributeName: TimeToExist
            enabled: false
          writeCapacity: 20
    

    Global Tables

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Aws.DynamoDB.Table("example", new()
        {
            Attributes = new[]
            {
                new Aws.DynamoDB.Inputs.TableAttributeArgs
                {
                    Name = "TestTableHashKey",
                    Type = "S",
                },
            },
            BillingMode = "PAY_PER_REQUEST",
            HashKey = "TestTableHashKey",
            Replicas = new[]
            {
                new Aws.DynamoDB.Inputs.TableReplicaArgs
                {
                    RegionName = "us-east-2",
                },
                new Aws.DynamoDB.Inputs.TableReplicaArgs
                {
                    RegionName = "us-west-2",
                },
            },
            StreamEnabled = true,
            StreamViewType = "NEW_AND_OLD_IMAGES",
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := dynamodb.NewTable(ctx, "example", &dynamodb.TableArgs{
    			Attributes: dynamodb.TableAttributeArray{
    				&dynamodb.TableAttributeArgs{
    					Name: pulumi.String("TestTableHashKey"),
    					Type: pulumi.String("S"),
    				},
    			},
    			BillingMode: pulumi.String("PAY_PER_REQUEST"),
    			HashKey:     pulumi.String("TestTableHashKey"),
    			Replicas: dynamodb.TableReplicaTypeArray{
    				&dynamodb.TableReplicaTypeArgs{
    					RegionName: pulumi.String("us-east-2"),
    				},
    				&dynamodb.TableReplicaTypeArgs{
    					RegionName: pulumi.String("us-west-2"),
    				},
    			},
    			StreamEnabled:  pulumi.Bool(true),
    			StreamViewType: pulumi.String("NEW_AND_OLD_IMAGES"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.dynamodb.Table;
    import com.pulumi.aws.dynamodb.TableArgs;
    import com.pulumi.aws.dynamodb.inputs.TableAttributeArgs;
    import com.pulumi.aws.dynamodb.inputs.TableReplicaArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new Table("example", TableArgs.builder()        
                .attributes(TableAttributeArgs.builder()
                    .name("TestTableHashKey")
                    .type("S")
                    .build())
                .billingMode("PAY_PER_REQUEST")
                .hashKey("TestTableHashKey")
                .replicas(            
                    TableReplicaArgs.builder()
                        .regionName("us-east-2")
                        .build(),
                    TableReplicaArgs.builder()
                        .regionName("us-west-2")
                        .build())
                .streamEnabled(true)
                .streamViewType("NEW_AND_OLD_IMAGES")
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_aws as aws
    
    example = aws.dynamodb.Table("example",
        attributes=[aws.dynamodb.TableAttributeArgs(
            name="TestTableHashKey",
            type="S",
        )],
        billing_mode="PAY_PER_REQUEST",
        hash_key="TestTableHashKey",
        replicas=[
            aws.dynamodb.TableReplicaArgs(
                region_name="us-east-2",
            ),
            aws.dynamodb.TableReplicaArgs(
                region_name="us-west-2",
            ),
        ],
        stream_enabled=True,
        stream_view_type="NEW_AND_OLD_IMAGES")
    
    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const example = new aws.dynamodb.Table("example", {
        attributes: [{
            name: "TestTableHashKey",
            type: "S",
        }],
        billingMode: "PAY_PER_REQUEST",
        hashKey: "TestTableHashKey",
        replicas: [
            {
                regionName: "us-east-2",
            },
            {
                regionName: "us-west-2",
            },
        ],
        streamEnabled: true,
        streamViewType: "NEW_AND_OLD_IMAGES",
    });
    
    resources:
      example:
        type: aws:dynamodb:Table
        properties:
          attributes:
            - name: TestTableHashKey
              type: S
          billingMode: PAY_PER_REQUEST
          hashKey: TestTableHashKey
          replicas:
            - regionName: us-east-2
            - regionName: us-west-2
          streamEnabled: true
          streamViewType: NEW_AND_OLD_IMAGES
    

    Create Table Resource

    new Table(name: string, args?: TableArgs, opts?: CustomResourceOptions);
    @overload
    def Table(resource_name: str,
              opts: Optional[ResourceOptions] = None,
              attributes: Optional[Sequence[TableAttributeArgs]] = None,
              billing_mode: Optional[str] = None,
              deletion_protection_enabled: Optional[bool] = None,
              global_secondary_indexes: Optional[Sequence[TableGlobalSecondaryIndexArgs]] = None,
              hash_key: Optional[str] = None,
              local_secondary_indexes: Optional[Sequence[TableLocalSecondaryIndexArgs]] = None,
              name: Optional[str] = None,
              point_in_time_recovery: Optional[TablePointInTimeRecoveryArgs] = None,
              range_key: Optional[str] = None,
              read_capacity: Optional[int] = None,
              replicas: Optional[Sequence[TableReplicaArgs]] = None,
              restore_date_time: Optional[str] = None,
              restore_source_name: Optional[str] = None,
              restore_to_latest_time: Optional[bool] = None,
              server_side_encryption: Optional[TableServerSideEncryptionArgs] = None,
              stream_enabled: Optional[bool] = None,
              stream_view_type: Optional[str] = None,
              table_class: Optional[str] = None,
              tags: Optional[Mapping[str, str]] = None,
              ttl: Optional[TableTtlArgs] = None,
              write_capacity: Optional[int] = None)
    @overload
    def Table(resource_name: str,
              args: Optional[TableArgs] = None,
              opts: Optional[ResourceOptions] = None)
    func NewTable(ctx *Context, name string, args *TableArgs, opts ...ResourceOption) (*Table, error)
    public Table(string name, TableArgs? args = null, CustomResourceOptions? opts = null)
    public Table(String name, TableArgs args)
    public Table(String name, TableArgs args, CustomResourceOptions options)
    
    type: aws:dynamodb:Table
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    name string
    The unique name of the resource.
    args TableArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args TableArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args TableArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args TableArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args TableArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Table Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The Table resource accepts the following input properties:

    Attributes List<Pulumi.Aws.DynamoDB.Inputs.TableAttribute>

    Set of nested attribute definitions. Only required for hash_key and range_key attributes. See below.

    BillingMode string

    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.

    DeletionProtectionEnabled bool

    Enables deletion protection for table. Defaults to false.

    GlobalSecondaryIndexes List<Pulumi.Aws.DynamoDB.Inputs.TableGlobalSecondaryIndex>

    Describe a GSI for the table; subject to the normal limits on the number of GSIs, projected attributes, etc. See below.

    HashKey string

    Attribute to use as the hash (partition) key. Must also be defined as an attribute. See below.

    LocalSecondaryIndexes List<Pulumi.Aws.DynamoDB.Inputs.TableLocalSecondaryIndex>

    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.

    Name string

    Unique within a region name of the table.

    Optional arguments:

    PointInTimeRecovery Pulumi.Aws.DynamoDB.Inputs.TablePointInTimeRecovery

    Enable point-in-time recovery options. See below.

    RangeKey string

    Attribute to use as the range (sort) key. Must also be defined as an attribute, see below.

    ReadCapacity int

    Number of read units for this table. If the billing_mode is PROVISIONED, this field is required.

    Replicas List<Pulumi.Aws.DynamoDB.Inputs.TableReplica>

    Configuration block(s) with DynamoDB Global Tables V2 (version 2019.11.21) replication configurations. See below.

    RestoreDateTime string

    Time of the point-in-time recovery point to restore.

    RestoreSourceName string

    Name of the table to restore. Must match the name of an existing table.

    RestoreToLatestTime bool

    If set, restores table to the most recent point-in-time recovery point.

    ServerSideEncryption Pulumi.Aws.DynamoDB.Inputs.TableServerSideEncryption

    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. See below.

    StreamEnabled bool

    Whether Streams are enabled.

    StreamViewType string

    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.

    TableClass string

    Storage class of the table. Valid values are STANDARD and STANDARD_INFREQUENT_ACCESS. Default value is STANDARD.

    Tags Dictionary<string, string>

    A map of tags to populate on the created table. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    Ttl Pulumi.Aws.DynamoDB.Inputs.TableTtl

    Configuration block for TTL. See below.

    WriteCapacity int

    Number of write units for this table. If the billing_mode is PROVISIONED, this field is required.

    Attributes []TableAttributeArgs

    Set of nested attribute definitions. Only required for hash_key and range_key attributes. See below.

    BillingMode string

    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.

    DeletionProtectionEnabled bool

    Enables deletion protection for table. Defaults to false.

    GlobalSecondaryIndexes []TableGlobalSecondaryIndexArgs

    Describe a GSI for the table; subject to the normal limits on the number of GSIs, projected attributes, etc. See below.

    HashKey string

    Attribute to use as the hash (partition) key. Must also be defined as an attribute. See below.

    LocalSecondaryIndexes []TableLocalSecondaryIndexArgs

    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.

    Name string

    Unique within a region name of the table.

    Optional arguments:

    PointInTimeRecovery TablePointInTimeRecoveryArgs

    Enable point-in-time recovery options. See below.

    RangeKey string

    Attribute to use as the range (sort) key. Must also be defined as an attribute, see below.

    ReadCapacity int

    Number of read units for this table. If the billing_mode is PROVISIONED, this field is required.

    Replicas []TableReplicaTypeArgs

    Configuration block(s) with DynamoDB Global Tables V2 (version 2019.11.21) replication configurations. See below.

    RestoreDateTime string

    Time of the point-in-time recovery point to restore.

    RestoreSourceName string

    Name of the table to restore. Must match the name of an existing table.

    RestoreToLatestTime bool

    If set, restores table to the most recent point-in-time recovery point.

    ServerSideEncryption TableServerSideEncryptionArgs

    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. See below.

    StreamEnabled bool

    Whether Streams are enabled.

    StreamViewType string

    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.

    TableClass string

    Storage class of the table. Valid values are STANDARD and STANDARD_INFREQUENT_ACCESS. Default value is STANDARD.

    Tags map[string]string

    A map of tags to populate on the created table. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    Ttl TableTtlArgs

    Configuration block for TTL. See below.

    WriteCapacity int

    Number of write units for this table. If the billing_mode is PROVISIONED, this field is required.

    attributes List<TableAttribute>

    Set of nested attribute definitions. Only required for hash_key and range_key attributes. See below.

    billingMode String

    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.

    deletionProtectionEnabled Boolean

    Enables deletion protection for table. Defaults to false.

    globalSecondaryIndexes List<TableGlobalSecondaryIndex>

    Describe a GSI for the table; subject to the normal limits on the number of GSIs, projected attributes, etc. See below.

    hashKey String

    Attribute to use as the hash (partition) key. Must also be defined as an attribute. See below.

    localSecondaryIndexes List<TableLocalSecondaryIndex>

    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.

    name String

    Unique within a region name of the table.

    Optional arguments:

    pointInTimeRecovery TablePointInTimeRecovery

    Enable point-in-time recovery options. See below.

    rangeKey String

    Attribute to use as the range (sort) key. Must also be defined as an attribute, see below.

    readCapacity Integer

    Number of read units for this table. If the billing_mode is PROVISIONED, this field is required.

    replicas List<TableReplica>

    Configuration block(s) with DynamoDB Global Tables V2 (version 2019.11.21) replication configurations. See below.

    restoreDateTime String

    Time of the point-in-time recovery point to restore.

    restoreSourceName String

    Name of the table to restore. Must match the name of an existing table.

    restoreToLatestTime Boolean

    If set, restores table to the most recent point-in-time recovery point.

    serverSideEncryption TableServerSideEncryption

    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. See below.

    streamEnabled Boolean

    Whether Streams are enabled.

    streamViewType String

    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.

    tableClass String

    Storage class of the table. Valid values are STANDARD and STANDARD_INFREQUENT_ACCESS. Default value is STANDARD.

    tags Map<String,String>

    A map of tags to populate on the created table. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    ttl TableTtl

    Configuration block for TTL. See below.

    writeCapacity Integer

    Number of write units for this table. If the billing_mode is PROVISIONED, this field is required.

    attributes TableAttribute[]

    Set of nested attribute definitions. Only required for hash_key and range_key attributes. See below.

    billingMode string

    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.

    deletionProtectionEnabled boolean

    Enables deletion protection for table. Defaults to false.

    globalSecondaryIndexes TableGlobalSecondaryIndex[]

    Describe a GSI for the table; subject to the normal limits on the number of GSIs, projected attributes, etc. See below.

    hashKey string

    Attribute to use as the hash (partition) key. Must also be defined as an attribute. See below.

    localSecondaryIndexes TableLocalSecondaryIndex[]

    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.

    name string

    Unique within a region name of the table.

    Optional arguments:

    pointInTimeRecovery TablePointInTimeRecovery

    Enable point-in-time recovery options. See below.

    rangeKey string

    Attribute to use as the range (sort) key. Must also be defined as an attribute, see below.

    readCapacity number

    Number of read units for this table. If the billing_mode is PROVISIONED, this field is required.

    replicas TableReplica[]

    Configuration block(s) with DynamoDB Global Tables V2 (version 2019.11.21) replication configurations. See below.

    restoreDateTime string

    Time of the point-in-time recovery point to restore.

    restoreSourceName string

    Name of the table to restore. Must match the name of an existing table.

    restoreToLatestTime boolean

    If set, restores table to the most recent point-in-time recovery point.

    serverSideEncryption TableServerSideEncryption

    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. See below.

    streamEnabled boolean

    Whether Streams are enabled.

    streamViewType string

    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.

    tableClass string

    Storage class of the table. Valid values are STANDARD and STANDARD_INFREQUENT_ACCESS. Default value is STANDARD.

    tags {[key: string]: string}

    A map of tags to populate on the created table. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    ttl TableTtl

    Configuration block for TTL. See below.

    writeCapacity number

    Number of write units for this table. If the billing_mode is PROVISIONED, this field is required.

    attributes Sequence[TableAttributeArgs]

    Set of nested attribute definitions. Only required for hash_key and range_key attributes. See below.

    billing_mode str

    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.

    deletion_protection_enabled bool

    Enables deletion protection for table. Defaults to false.

    global_secondary_indexes Sequence[TableGlobalSecondaryIndexArgs]

    Describe a GSI for the table; subject to the normal limits on the number of GSIs, projected attributes, etc. See below.

    hash_key str

    Attribute to use as the hash (partition) key. Must also be defined as an attribute. See below.

    local_secondary_indexes Sequence[TableLocalSecondaryIndexArgs]

    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.

    name str

    Unique within a region name of the table.

    Optional arguments:

    point_in_time_recovery TablePointInTimeRecoveryArgs

    Enable point-in-time recovery options. See below.

    range_key str

    Attribute to use as the range (sort) key. Must also be defined as an attribute, see below.

    read_capacity int

    Number of read units for this table. If the billing_mode is PROVISIONED, this field is required.

    replicas Sequence[TableReplicaArgs]

    Configuration block(s) with DynamoDB Global Tables V2 (version 2019.11.21) replication configurations. See below.

    restore_date_time str

    Time of the point-in-time recovery point to restore.

    restore_source_name str

    Name of the table to restore. Must match the name of an existing table.

    restore_to_latest_time bool

    If set, restores table to the most recent point-in-time recovery point.

    server_side_encryption TableServerSideEncryptionArgs

    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. See below.

    stream_enabled bool

    Whether Streams are enabled.

    stream_view_type str

    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.

    table_class str

    Storage class of the table. Valid values are STANDARD and STANDARD_INFREQUENT_ACCESS. Default value is STANDARD.

    tags Mapping[str, str]

    A map of tags to populate on the created table. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    ttl TableTtlArgs

    Configuration block for TTL. See below.

    write_capacity int

    Number of write units for this table. If the billing_mode is PROVISIONED, this field is required.

    attributes List<Property Map>

    Set of nested attribute definitions. Only required for hash_key and range_key attributes. See below.

    billingMode String

    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.

    deletionProtectionEnabled Boolean

    Enables deletion protection for table. Defaults to false.

    globalSecondaryIndexes List<Property Map>

    Describe a GSI for the table; subject to the normal limits on the number of GSIs, projected attributes, etc. See below.

    hashKey String

    Attribute to use as the hash (partition) key. Must also be defined as an attribute. See below.

    localSecondaryIndexes List<Property Map>

    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.

    name String

    Unique within a region name of the table.

    Optional arguments:

    pointInTimeRecovery Property Map

    Enable point-in-time recovery options. See below.

    rangeKey String

    Attribute to use as the range (sort) key. Must also be defined as an attribute, see below.

    readCapacity Number

    Number of read units for this table. If the billing_mode is PROVISIONED, this field is required.

    replicas List<Property Map>

    Configuration block(s) with DynamoDB Global Tables V2 (version 2019.11.21) replication configurations. See below.

    restoreDateTime String

    Time of the point-in-time recovery point to restore.

    restoreSourceName String

    Name of the table to restore. Must match the name of an existing table.

    restoreToLatestTime Boolean

    If set, restores table to the most recent point-in-time recovery point.

    serverSideEncryption Property Map

    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. See below.

    streamEnabled Boolean

    Whether Streams are enabled.

    streamViewType String

    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.

    tableClass String

    Storage class of the table. Valid values are STANDARD and STANDARD_INFREQUENT_ACCESS. Default value is STANDARD.

    tags Map<String>

    A map of tags to populate on the created table. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    ttl Property Map

    Configuration block for TTL. See below.

    writeCapacity Number

    Number of write units for this table. If the billing_mode is PROVISIONED, this field is required.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Table resource produces the following output properties:

    Arn string

    ARN of the table

    Id string

    The provider-assigned unique ID for this managed resource.

    StreamArn string

    ARN of the Table Stream. Only available when stream_enabled = true

    StreamLabel string

    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 stream_enabled = true.

    TagsAll Dictionary<string, string>

    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Arn string

    ARN of the table

    Id string

    The provider-assigned unique ID for this managed resource.

    StreamArn string

    ARN of the Table Stream. Only available when stream_enabled = true

    StreamLabel string

    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 stream_enabled = true.

    TagsAll map[string]string

    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    arn String

    ARN of the table

    id String

    The provider-assigned unique ID for this managed resource.

    streamArn String

    ARN of the Table Stream. Only available when stream_enabled = true

    streamLabel String

    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 stream_enabled = true.

    tagsAll Map<String,String>

    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    arn string

    ARN of the table

    id string

    The provider-assigned unique ID for this managed resource.

    streamArn string

    ARN of the Table Stream. Only available when stream_enabled = true

    streamLabel string

    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 stream_enabled = true.

    tagsAll {[key: string]: string}

    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    arn str

    ARN of the table

    id str

    The provider-assigned unique ID for this managed resource.

    stream_arn str

    ARN of the Table Stream. Only available when stream_enabled = true

    stream_label str

    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 stream_enabled = true.

    tags_all Mapping[str, str]

    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    arn String

    ARN of the table

    id String

    The provider-assigned unique ID for this managed resource.

    streamArn String

    ARN of the Table Stream. Only available when stream_enabled = true

    streamLabel String

    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 stream_enabled = true.

    tagsAll Map<String>

    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Look up Existing Table Resource

    Get an existing Table resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: TableState, opts?: CustomResourceOptions): Table
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            arn: Optional[str] = None,
            attributes: Optional[Sequence[TableAttributeArgs]] = None,
            billing_mode: Optional[str] = None,
            deletion_protection_enabled: Optional[bool] = None,
            global_secondary_indexes: Optional[Sequence[TableGlobalSecondaryIndexArgs]] = None,
            hash_key: Optional[str] = None,
            local_secondary_indexes: Optional[Sequence[TableLocalSecondaryIndexArgs]] = None,
            name: Optional[str] = None,
            point_in_time_recovery: Optional[TablePointInTimeRecoveryArgs] = None,
            range_key: Optional[str] = None,
            read_capacity: Optional[int] = None,
            replicas: Optional[Sequence[TableReplicaArgs]] = None,
            restore_date_time: Optional[str] = None,
            restore_source_name: Optional[str] = None,
            restore_to_latest_time: Optional[bool] = None,
            server_side_encryption: Optional[TableServerSideEncryptionArgs] = None,
            stream_arn: Optional[str] = None,
            stream_enabled: Optional[bool] = None,
            stream_label: Optional[str] = None,
            stream_view_type: Optional[str] = None,
            table_class: Optional[str] = None,
            tags: Optional[Mapping[str, str]] = None,
            tags_all: Optional[Mapping[str, str]] = None,
            ttl: Optional[TableTtlArgs] = None,
            write_capacity: Optional[int] = None) -> Table
    func GetTable(ctx *Context, name string, id IDInput, state *TableState, opts ...ResourceOption) (*Table, error)
    public static Table Get(string name, Input<string> id, TableState? state, CustomResourceOptions? opts = null)
    public static Table get(String name, Output<String> id, TableState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Arn string

    ARN of the table

    Attributes List<Pulumi.Aws.DynamoDB.Inputs.TableAttribute>

    Set of nested attribute definitions. Only required for hash_key and range_key attributes. See below.

    BillingMode string

    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.

    DeletionProtectionEnabled bool

    Enables deletion protection for table. Defaults to false.

    GlobalSecondaryIndexes List<Pulumi.Aws.DynamoDB.Inputs.TableGlobalSecondaryIndex>

    Describe a GSI for the table; subject to the normal limits on the number of GSIs, projected attributes, etc. See below.

    HashKey string

    Attribute to use as the hash (partition) key. Must also be defined as an attribute. See below.

    LocalSecondaryIndexes List<Pulumi.Aws.DynamoDB.Inputs.TableLocalSecondaryIndex>

    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.

    Name string

    Unique within a region name of the table.

    Optional arguments:

    PointInTimeRecovery Pulumi.Aws.DynamoDB.Inputs.TablePointInTimeRecovery

    Enable point-in-time recovery options. See below.

    RangeKey string

    Attribute to use as the range (sort) key. Must also be defined as an attribute, see below.

    ReadCapacity int

    Number of read units for this table. If the billing_mode is PROVISIONED, this field is required.

    Replicas List<Pulumi.Aws.DynamoDB.Inputs.TableReplica>

    Configuration block(s) with DynamoDB Global Tables V2 (version 2019.11.21) replication configurations. See below.

    RestoreDateTime string

    Time of the point-in-time recovery point to restore.

    RestoreSourceName string

    Name of the table to restore. Must match the name of an existing table.

    RestoreToLatestTime bool

    If set, restores table to the most recent point-in-time recovery point.

    ServerSideEncryption Pulumi.Aws.DynamoDB.Inputs.TableServerSideEncryption

    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. See below.

    StreamArn string

    ARN of the Table Stream. Only available when stream_enabled = true

    StreamEnabled bool

    Whether Streams are enabled.

    StreamLabel string

    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 stream_enabled = true.

    StreamViewType string

    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.

    TableClass string

    Storage class of the table. Valid values are STANDARD and STANDARD_INFREQUENT_ACCESS. Default value is STANDARD.

    Tags Dictionary<string, string>

    A map of tags to populate on the created table. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    TagsAll Dictionary<string, string>

    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Ttl Pulumi.Aws.DynamoDB.Inputs.TableTtl

    Configuration block for TTL. See below.

    WriteCapacity int

    Number of write units for this table. If the billing_mode is PROVISIONED, this field is required.

    Arn string

    ARN of the table

    Attributes []TableAttributeArgs

    Set of nested attribute definitions. Only required for hash_key and range_key attributes. See below.

    BillingMode string

    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.

    DeletionProtectionEnabled bool

    Enables deletion protection for table. Defaults to false.

    GlobalSecondaryIndexes []TableGlobalSecondaryIndexArgs

    Describe a GSI for the table; subject to the normal limits on the number of GSIs, projected attributes, etc. See below.

    HashKey string

    Attribute to use as the hash (partition) key. Must also be defined as an attribute. See below.

    LocalSecondaryIndexes []TableLocalSecondaryIndexArgs

    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.

    Name string

    Unique within a region name of the table.

    Optional arguments:

    PointInTimeRecovery TablePointInTimeRecoveryArgs

    Enable point-in-time recovery options. See below.

    RangeKey string

    Attribute to use as the range (sort) key. Must also be defined as an attribute, see below.

    ReadCapacity int

    Number of read units for this table. If the billing_mode is PROVISIONED, this field is required.

    Replicas []TableReplicaTypeArgs

    Configuration block(s) with DynamoDB Global Tables V2 (version 2019.11.21) replication configurations. See below.

    RestoreDateTime string

    Time of the point-in-time recovery point to restore.

    RestoreSourceName string

    Name of the table to restore. Must match the name of an existing table.

    RestoreToLatestTime bool

    If set, restores table to the most recent point-in-time recovery point.

    ServerSideEncryption TableServerSideEncryptionArgs

    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. See below.

    StreamArn string

    ARN of the Table Stream. Only available when stream_enabled = true

    StreamEnabled bool

    Whether Streams are enabled.

    StreamLabel string

    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 stream_enabled = true.

    StreamViewType string

    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.

    TableClass string

    Storage class of the table. Valid values are STANDARD and STANDARD_INFREQUENT_ACCESS. Default value is STANDARD.

    Tags map[string]string

    A map of tags to populate on the created table. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    TagsAll map[string]string

    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Ttl TableTtlArgs

    Configuration block for TTL. See below.

    WriteCapacity int

    Number of write units for this table. If the billing_mode is PROVISIONED, this field is required.

    arn String

    ARN of the table

    attributes List<TableAttribute>

    Set of nested attribute definitions. Only required for hash_key and range_key attributes. See below.

    billingMode String

    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.

    deletionProtectionEnabled Boolean

    Enables deletion protection for table. Defaults to false.

    globalSecondaryIndexes List<TableGlobalSecondaryIndex>

    Describe a GSI for the table; subject to the normal limits on the number of GSIs, projected attributes, etc. See below.

    hashKey String

    Attribute to use as the hash (partition) key. Must also be defined as an attribute. See below.

    localSecondaryIndexes List<TableLocalSecondaryIndex>

    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.

    name String

    Unique within a region name of the table.

    Optional arguments:

    pointInTimeRecovery TablePointInTimeRecovery

    Enable point-in-time recovery options. See below.

    rangeKey String

    Attribute to use as the range (sort) key. Must also be defined as an attribute, see below.

    readCapacity Integer

    Number of read units for this table. If the billing_mode is PROVISIONED, this field is required.

    replicas List<TableReplica>

    Configuration block(s) with DynamoDB Global Tables V2 (version 2019.11.21) replication configurations. See below.

    restoreDateTime String

    Time of the point-in-time recovery point to restore.

    restoreSourceName String

    Name of the table to restore. Must match the name of an existing table.

    restoreToLatestTime Boolean

    If set, restores table to the most recent point-in-time recovery point.

    serverSideEncryption TableServerSideEncryption

    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. See below.

    streamArn String

    ARN of the Table Stream. Only available when stream_enabled = true

    streamEnabled Boolean

    Whether Streams are enabled.

    streamLabel String

    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 stream_enabled = true.

    streamViewType String

    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.

    tableClass String

    Storage class of the table. Valid values are STANDARD and STANDARD_INFREQUENT_ACCESS. Default value is STANDARD.

    tags Map<String,String>

    A map of tags to populate on the created table. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    tagsAll Map<String,String>

    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    ttl TableTtl

    Configuration block for TTL. See below.

    writeCapacity Integer

    Number of write units for this table. If the billing_mode is PROVISIONED, this field is required.

    arn string

    ARN of the table

    attributes TableAttribute[]

    Set of nested attribute definitions. Only required for hash_key and range_key attributes. See below.

    billingMode string

    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.

    deletionProtectionEnabled boolean

    Enables deletion protection for table. Defaults to false.

    globalSecondaryIndexes TableGlobalSecondaryIndex[]

    Describe a GSI for the table; subject to the normal limits on the number of GSIs, projected attributes, etc. See below.

    hashKey string

    Attribute to use as the hash (partition) key. Must also be defined as an attribute. See below.

    localSecondaryIndexes TableLocalSecondaryIndex[]

    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.

    name string

    Unique within a region name of the table.

    Optional arguments:

    pointInTimeRecovery TablePointInTimeRecovery

    Enable point-in-time recovery options. See below.

    rangeKey string

    Attribute to use as the range (sort) key. Must also be defined as an attribute, see below.

    readCapacity number

    Number of read units for this table. If the billing_mode is PROVISIONED, this field is required.

    replicas TableReplica[]

    Configuration block(s) with DynamoDB Global Tables V2 (version 2019.11.21) replication configurations. See below.

    restoreDateTime string

    Time of the point-in-time recovery point to restore.

    restoreSourceName string

    Name of the table to restore. Must match the name of an existing table.

    restoreToLatestTime boolean

    If set, restores table to the most recent point-in-time recovery point.

    serverSideEncryption TableServerSideEncryption

    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. See below.

    streamArn string

    ARN of the Table Stream. Only available when stream_enabled = true

    streamEnabled boolean

    Whether Streams are enabled.

    streamLabel string

    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 stream_enabled = true.

    streamViewType string

    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.

    tableClass string

    Storage class of the table. Valid values are STANDARD and STANDARD_INFREQUENT_ACCESS. Default value is STANDARD.

    tags {[key: string]: string}

    A map of tags to populate on the created table. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    tagsAll {[key: string]: string}

    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    ttl TableTtl

    Configuration block for TTL. See below.

    writeCapacity number

    Number of write units for this table. If the billing_mode is PROVISIONED, this field is required.

    arn str

    ARN of the table

    attributes Sequence[TableAttributeArgs]

    Set of nested attribute definitions. Only required for hash_key and range_key attributes. See below.

    billing_mode str

    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.

    deletion_protection_enabled bool

    Enables deletion protection for table. Defaults to false.

    global_secondary_indexes Sequence[TableGlobalSecondaryIndexArgs]

    Describe a GSI for the table; subject to the normal limits on the number of GSIs, projected attributes, etc. See below.

    hash_key str

    Attribute to use as the hash (partition) key. Must also be defined as an attribute. See below.

    local_secondary_indexes Sequence[TableLocalSecondaryIndexArgs]

    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.

    name str

    Unique within a region name of the table.

    Optional arguments:

    point_in_time_recovery TablePointInTimeRecoveryArgs

    Enable point-in-time recovery options. See below.

    range_key str

    Attribute to use as the range (sort) key. Must also be defined as an attribute, see below.

    read_capacity int

    Number of read units for this table. If the billing_mode is PROVISIONED, this field is required.

    replicas Sequence[TableReplicaArgs]

    Configuration block(s) with DynamoDB Global Tables V2 (version 2019.11.21) replication configurations. See below.

    restore_date_time str

    Time of the point-in-time recovery point to restore.

    restore_source_name str

    Name of the table to restore. Must match the name of an existing table.

    restore_to_latest_time bool

    If set, restores table to the most recent point-in-time recovery point.

    server_side_encryption TableServerSideEncryptionArgs

    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. See below.

    stream_arn str

    ARN of the Table Stream. Only available when stream_enabled = true

    stream_enabled bool

    Whether Streams are enabled.

    stream_label str

    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 stream_enabled = true.

    stream_view_type str

    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.

    table_class str

    Storage class of the table. Valid values are STANDARD and STANDARD_INFREQUENT_ACCESS. Default value is STANDARD.

    tags Mapping[str, str]

    A map of tags to populate on the created table. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    tags_all Mapping[str, str]

    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    ttl TableTtlArgs

    Configuration block for TTL. See below.

    write_capacity int

    Number of write units for this table. If the billing_mode is PROVISIONED, this field is required.

    arn String

    ARN of the table

    attributes List<Property Map>

    Set of nested attribute definitions. Only required for hash_key and range_key attributes. See below.

    billingMode String

    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.

    deletionProtectionEnabled Boolean

    Enables deletion protection for table. Defaults to false.

    globalSecondaryIndexes List<Property Map>

    Describe a GSI for the table; subject to the normal limits on the number of GSIs, projected attributes, etc. See below.

    hashKey String

    Attribute to use as the hash (partition) key. Must also be defined as an attribute. See below.

    localSecondaryIndexes List<Property Map>

    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.

    name String

    Unique within a region name of the table.

    Optional arguments:

    pointInTimeRecovery Property Map

    Enable point-in-time recovery options. See below.

    rangeKey String

    Attribute to use as the range (sort) key. Must also be defined as an attribute, see below.

    readCapacity Number

    Number of read units for this table. If the billing_mode is PROVISIONED, this field is required.

    replicas List<Property Map>

    Configuration block(s) with DynamoDB Global Tables V2 (version 2019.11.21) replication configurations. See below.

    restoreDateTime String

    Time of the point-in-time recovery point to restore.

    restoreSourceName String

    Name of the table to restore. Must match the name of an existing table.

    restoreToLatestTime Boolean

    If set, restores table to the most recent point-in-time recovery point.

    serverSideEncryption Property Map

    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. See below.

    streamArn String

    ARN of the Table Stream. Only available when stream_enabled = true

    streamEnabled Boolean

    Whether Streams are enabled.

    streamLabel String

    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 stream_enabled = true.

    streamViewType String

    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.

    tableClass String

    Storage class of the table. Valid values are STANDARD and STANDARD_INFREQUENT_ACCESS. Default value is STANDARD.

    tags Map<String>

    A map of tags to populate on the created table. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    tagsAll Map<String>

    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    ttl Property Map

    Configuration block for TTL. See below.

    writeCapacity Number

    Number of write units for this table. If the billing_mode is PROVISIONED, this field is required.

    Supporting Types

    TableAttribute, TableAttributeArgs

    Name string

    Name of the attribute

    Type string

    Attribute type. Valid values are S (string), N (number), B (binary).

    Name string

    Name of the attribute

    Type string

    Attribute type. Valid values are S (string), N (number), B (binary).

    name String

    Name of the attribute

    type String

    Attribute type. Valid values are S (string), N (number), B (binary).

    name string

    Name of the attribute

    type string

    Attribute type. Valid values are S (string), N (number), B (binary).

    name str

    Name of the attribute

    type str

    Attribute type. Valid values are S (string), N (number), B (binary).

    name String

    Name of the attribute

    type String

    Attribute type. Valid values are S (string), N (number), B (binary).

    TableGlobalSecondaryIndex, TableGlobalSecondaryIndexArgs

    HashKey string

    Name of the hash key in the index; must be defined as an attribute in the resource.

    Name string

    Name of the index.

    ProjectionType string

    One of ALL, INCLUDE or KEYS_ONLY where ALL projects every attribute into the index, KEYS_ONLY projects into the index only the table and index hash_key and sort_key attributes , INCLUDE projects into the index all of the attributes that are defined in non_key_attributes in addition to the attributes that thatKEYS_ONLY project.

    NonKeyAttributes List<string>

    Only required with INCLUDE as a projection type; a list of attributes to project into the index. These do not need to be defined as attributes on the table.

    RangeKey string

    Name of the range key; must be defined

    ReadCapacity int

    Number of read units for this index. Must be set if billing_mode is set to PROVISIONED.

    WriteCapacity int

    Number of write units for this index. Must be set if billing_mode is set to PROVISIONED.

    HashKey string

    Name of the hash key in the index; must be defined as an attribute in the resource.

    Name string

    Name of the index.

    ProjectionType string

    One of ALL, INCLUDE or KEYS_ONLY where ALL projects every attribute into the index, KEYS_ONLY projects into the index only the table and index hash_key and sort_key attributes , INCLUDE projects into the index all of the attributes that are defined in non_key_attributes in addition to the attributes that thatKEYS_ONLY project.

    NonKeyAttributes []string

    Only required with INCLUDE as a projection type; a list of attributes to project into the index. These do not need to be defined as attributes on the table.

    RangeKey string

    Name of the range key; must be defined

    ReadCapacity int

    Number of read units for this index. Must be set if billing_mode is set to PROVISIONED.

    WriteCapacity int

    Number of write units for this index. Must be set if billing_mode is set to PROVISIONED.

    hashKey String

    Name of the hash key in the index; must be defined as an attribute in the resource.

    name String

    Name of the index.

    projectionType String

    One of ALL, INCLUDE or KEYS_ONLY where ALL projects every attribute into the index, KEYS_ONLY projects into the index only the table and index hash_key and sort_key attributes , INCLUDE projects into the index all of the attributes that are defined in non_key_attributes in addition to the attributes that thatKEYS_ONLY project.

    nonKeyAttributes List<String>

    Only required with INCLUDE as a projection type; a list of attributes to project into the index. These do not need to be defined as attributes on the table.

    rangeKey String

    Name of the range key; must be defined

    readCapacity Integer

    Number of read units for this index. Must be set if billing_mode is set to PROVISIONED.

    writeCapacity Integer

    Number of write units for this index. Must be set if billing_mode is set to PROVISIONED.

    hashKey string

    Name of the hash key in the index; must be defined as an attribute in the resource.

    name string

    Name of the index.

    projectionType string

    One of ALL, INCLUDE or KEYS_ONLY where ALL projects every attribute into the index, KEYS_ONLY projects into the index only the table and index hash_key and sort_key attributes , INCLUDE projects into the index all of the attributes that are defined in non_key_attributes in addition to the attributes that thatKEYS_ONLY project.

    nonKeyAttributes string[]

    Only required with INCLUDE as a projection type; a list of attributes to project into the index. These do not need to be defined as attributes on the table.

    rangeKey string

    Name of the range key; must be defined

    readCapacity number

    Number of read units for this index. Must be set if billing_mode is set to PROVISIONED.

    writeCapacity number

    Number of write units for this index. Must be set if billing_mode is set to PROVISIONED.

    hash_key str

    Name of the hash key in the index; must be defined as an attribute in the resource.

    name str

    Name of the index.

    projection_type str

    One of ALL, INCLUDE or KEYS_ONLY where ALL projects every attribute into the index, KEYS_ONLY projects into the index only the table and index hash_key and sort_key attributes , INCLUDE projects into the index all of the attributes that are defined in non_key_attributes in addition to the attributes that thatKEYS_ONLY project.

    non_key_attributes Sequence[str]

    Only required with INCLUDE as a projection type; a list of attributes to project into the index. These do not need to be defined as attributes on the table.

    range_key str

    Name of the range key; must be defined

    read_capacity int

    Number of read units for this index. Must be set if billing_mode is set to PROVISIONED.

    write_capacity int

    Number of write units for this index. Must be set if billing_mode is set to PROVISIONED.

    hashKey String

    Name of the hash key in the index; must be defined as an attribute in the resource.

    name String

    Name of the index.

    projectionType String

    One of ALL, INCLUDE or KEYS_ONLY where ALL projects every attribute into the index, KEYS_ONLY projects into the index only the table and index hash_key and sort_key attributes , INCLUDE projects into the index all of the attributes that are defined in non_key_attributes in addition to the attributes that thatKEYS_ONLY project.

    nonKeyAttributes List<String>

    Only required with INCLUDE as a projection type; a list of attributes to project into the index. These do not need to be defined as attributes on the table.

    rangeKey String

    Name of the range key; must be defined

    readCapacity Number

    Number of read units for this index. Must be set if billing_mode is set to PROVISIONED.

    writeCapacity Number

    Number of write units for this index. Must be set if billing_mode is set to PROVISIONED.

    TableLocalSecondaryIndex, TableLocalSecondaryIndexArgs

    Name string

    Name of the index

    ProjectionType string

    One of ALL, INCLUDE or KEYS_ONLY where ALL projects every attribute into the index, KEYS_ONLY projects into the index only the table and index hash_key and sort_key attributes , INCLUDE projects into the index all of the attributes that are defined in non_key_attributes in addition to the attributes that thatKEYS_ONLY project.

    RangeKey string

    Name of the range key.

    NonKeyAttributes List<string>

    Only required with INCLUDE as a projection type; a list of attributes to project into the index. These do not need to be defined as attributes on the table.

    Name string

    Name of the index

    ProjectionType string

    One of ALL, INCLUDE or KEYS_ONLY where ALL projects every attribute into the index, KEYS_ONLY projects into the index only the table and index hash_key and sort_key attributes , INCLUDE projects into the index all of the attributes that are defined in non_key_attributes in addition to the attributes that thatKEYS_ONLY project.

    RangeKey string

    Name of the range key.

    NonKeyAttributes []string

    Only required with INCLUDE as a projection type; a list of attributes to project into the index. These do not need to be defined as attributes on the table.

    name String

    Name of the index

    projectionType String

    One of ALL, INCLUDE or KEYS_ONLY where ALL projects every attribute into the index, KEYS_ONLY projects into the index only the table and index hash_key and sort_key attributes , INCLUDE projects into the index all of the attributes that are defined in non_key_attributes in addition to the attributes that thatKEYS_ONLY project.

    rangeKey String

    Name of the range key.

    nonKeyAttributes List<String>

    Only required with INCLUDE as a projection type; a list of attributes to project into the index. These do not need to be defined as attributes on the table.

    name string

    Name of the index

    projectionType string

    One of ALL, INCLUDE or KEYS_ONLY where ALL projects every attribute into the index, KEYS_ONLY projects into the index only the table and index hash_key and sort_key attributes , INCLUDE projects into the index all of the attributes that are defined in non_key_attributes in addition to the attributes that thatKEYS_ONLY project.

    rangeKey string

    Name of the range key.

    nonKeyAttributes string[]

    Only required with INCLUDE as a projection type; a list of attributes to project into the index. These do not need to be defined as attributes on the table.

    name str

    Name of the index

    projection_type str

    One of ALL, INCLUDE or KEYS_ONLY where ALL projects every attribute into the index, KEYS_ONLY projects into the index only the table and index hash_key and sort_key attributes , INCLUDE projects into the index all of the attributes that are defined in non_key_attributes in addition to the attributes that thatKEYS_ONLY project.

    range_key str

    Name of the range key.

    non_key_attributes Sequence[str]

    Only required with INCLUDE as a projection type; a list of attributes to project into the index. These do not need to be defined as attributes on the table.

    name String

    Name of the index

    projectionType String

    One of ALL, INCLUDE or KEYS_ONLY where ALL projects every attribute into the index, KEYS_ONLY projects into the index only the table and index hash_key and sort_key attributes , INCLUDE projects into the index all of the attributes that are defined in non_key_attributes in addition to the attributes that thatKEYS_ONLY project.

    rangeKey String

    Name of the range key.

    nonKeyAttributes List<String>

    Only required with INCLUDE as a projection type; a list of attributes to project into the index. These do not need to be defined as attributes on the table.

    TablePointInTimeRecovery, TablePointInTimeRecoveryArgs

    Enabled bool

    Whether to enable point-in-time recovery. It can take 10 minutes to enable for new tables. If the point_in_time_recovery block is not provided, this defaults to false.

    Enabled bool

    Whether to enable point-in-time recovery. It can take 10 minutes to enable for new tables. If the point_in_time_recovery block is not provided, this defaults to false.

    enabled Boolean

    Whether to enable point-in-time recovery. It can take 10 minutes to enable for new tables. If the point_in_time_recovery block is not provided, this defaults to false.

    enabled boolean

    Whether to enable point-in-time recovery. It can take 10 minutes to enable for new tables. If the point_in_time_recovery block is not provided, this defaults to false.

    enabled bool

    Whether to enable point-in-time recovery. It can take 10 minutes to enable for new tables. If the point_in_time_recovery block is not provided, this defaults to false.

    enabled Boolean

    Whether to enable point-in-time recovery. It can take 10 minutes to enable for new tables. If the point_in_time_recovery block is not provided, this defaults to false.

    TableReplica, TableReplicaArgs

    RegionName string

    Region name of the replica.

    Arn string

    ARN of the table

    KmsKeyArn string

    ARN of the CMK that should be used for the AWS KMS encryption. This argument should only be used if the key is different from the default KMS-managed DynamoDB key, alias/aws/dynamodb. Note: This attribute will not be populated with the ARN of default keys.

    PointInTimeRecovery bool

    Whether to enable Point In Time Recovery for the replica. Default is false.

    PropagateTags bool

    Whether to propagate the global table's tags to a replica. Default is false. Changes to tags only move in one direction: from global (source) to replica. In other words, tag drift on a replica will not trigger an update. Tag or replica changes on the global table, whether from drift or configuration changes, are propagated to replicas. Changing from true to false on a subsequent apply means replica tags are left as they were, unmanaged, not deleted.

    StreamArn string

    ARN of the Table Stream. Only available when stream_enabled = true

    StreamLabel string

    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 stream_enabled = true.

    RegionName string

    Region name of the replica.

    Arn string

    ARN of the table

    KmsKeyArn string

    ARN of the CMK that should be used for the AWS KMS encryption. This argument should only be used if the key is different from the default KMS-managed DynamoDB key, alias/aws/dynamodb. Note: This attribute will not be populated with the ARN of default keys.

    PointInTimeRecovery bool

    Whether to enable Point In Time Recovery for the replica. Default is false.

    PropagateTags bool

    Whether to propagate the global table's tags to a replica. Default is false. Changes to tags only move in one direction: from global (source) to replica. In other words, tag drift on a replica will not trigger an update. Tag or replica changes on the global table, whether from drift or configuration changes, are propagated to replicas. Changing from true to false on a subsequent apply means replica tags are left as they were, unmanaged, not deleted.

    StreamArn string

    ARN of the Table Stream. Only available when stream_enabled = true

    StreamLabel string

    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 stream_enabled = true.

    regionName String

    Region name of the replica.

    arn String

    ARN of the table

    kmsKeyArn String

    ARN of the CMK that should be used for the AWS KMS encryption. This argument should only be used if the key is different from the default KMS-managed DynamoDB key, alias/aws/dynamodb. Note: This attribute will not be populated with the ARN of default keys.

    pointInTimeRecovery Boolean

    Whether to enable Point In Time Recovery for the replica. Default is false.

    propagateTags Boolean

    Whether to propagate the global table's tags to a replica. Default is false. Changes to tags only move in one direction: from global (source) to replica. In other words, tag drift on a replica will not trigger an update. Tag or replica changes on the global table, whether from drift or configuration changes, are propagated to replicas. Changing from true to false on a subsequent apply means replica tags are left as they were, unmanaged, not deleted.

    streamArn String

    ARN of the Table Stream. Only available when stream_enabled = true

    streamLabel String

    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 stream_enabled = true.

    regionName string

    Region name of the replica.

    arn string

    ARN of the table

    kmsKeyArn string

    ARN of the CMK that should be used for the AWS KMS encryption. This argument should only be used if the key is different from the default KMS-managed DynamoDB key, alias/aws/dynamodb. Note: This attribute will not be populated with the ARN of default keys.

    pointInTimeRecovery boolean

    Whether to enable Point In Time Recovery for the replica. Default is false.

    propagateTags boolean

    Whether to propagate the global table's tags to a replica. Default is false. Changes to tags only move in one direction: from global (source) to replica. In other words, tag drift on a replica will not trigger an update. Tag or replica changes on the global table, whether from drift or configuration changes, are propagated to replicas. Changing from true to false on a subsequent apply means replica tags are left as they were, unmanaged, not deleted.

    streamArn string

    ARN of the Table Stream. Only available when stream_enabled = true

    streamLabel string

    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 stream_enabled = true.

    region_name str

    Region name of the replica.

    arn str

    ARN of the table

    kms_key_arn str

    ARN of the CMK that should be used for the AWS KMS encryption. This argument should only be used if the key is different from the default KMS-managed DynamoDB key, alias/aws/dynamodb. Note: This attribute will not be populated with the ARN of default keys.

    point_in_time_recovery bool

    Whether to enable Point In Time Recovery for the replica. Default is false.

    propagate_tags bool

    Whether to propagate the global table's tags to a replica. Default is false. Changes to tags only move in one direction: from global (source) to replica. In other words, tag drift on a replica will not trigger an update. Tag or replica changes on the global table, whether from drift or configuration changes, are propagated to replicas. Changing from true to false on a subsequent apply means replica tags are left as they were, unmanaged, not deleted.

    stream_arn str

    ARN of the Table Stream. Only available when stream_enabled = true

    stream_label str

    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 stream_enabled = true.

    regionName String

    Region name of the replica.

    arn String

    ARN of the table

    kmsKeyArn String

    ARN of the CMK that should be used for the AWS KMS encryption. This argument should only be used if the key is different from the default KMS-managed DynamoDB key, alias/aws/dynamodb. Note: This attribute will not be populated with the ARN of default keys.

    pointInTimeRecovery Boolean

    Whether to enable Point In Time Recovery for the replica. Default is false.

    propagateTags Boolean

    Whether to propagate the global table's tags to a replica. Default is false. Changes to tags only move in one direction: from global (source) to replica. In other words, tag drift on a replica will not trigger an update. Tag or replica changes on the global table, whether from drift or configuration changes, are propagated to replicas. Changing from true to false on a subsequent apply means replica tags are left as they were, unmanaged, not deleted.

    streamArn String

    ARN of the Table Stream. Only available when stream_enabled = true

    streamLabel String

    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 stream_enabled = true.

    TableServerSideEncryption, TableServerSideEncryptionArgs

    Enabled bool

    Whether or not to enable encryption at rest using an AWS managed KMS customer master key (CMK). If enabled is false then server-side encryption is set to AWS-owned key (shown as DEFAULT in the AWS console). Potentially confusingly, if enabled is true and no kms_key_arn is specified then server-side encryption is set to the default KMS-managed key (shown as KMS in the AWS console). The AWS KMS documentation explains the difference between AWS-owned and KMS-managed keys.

    KmsKeyArn string

    ARN of the CMK that should be used for the AWS KMS encryption. This argument should only be used if the key is different from the default KMS-managed DynamoDB key, alias/aws/dynamodb. Note: This attribute will not be populated with the ARN of default keys.

    Enabled bool

    Whether or not to enable encryption at rest using an AWS managed KMS customer master key (CMK). If enabled is false then server-side encryption is set to AWS-owned key (shown as DEFAULT in the AWS console). Potentially confusingly, if enabled is true and no kms_key_arn is specified then server-side encryption is set to the default KMS-managed key (shown as KMS in the AWS console). The AWS KMS documentation explains the difference between AWS-owned and KMS-managed keys.

    KmsKeyArn string

    ARN of the CMK that should be used for the AWS KMS encryption. This argument should only be used if the key is different from the default KMS-managed DynamoDB key, alias/aws/dynamodb. Note: This attribute will not be populated with the ARN of default keys.

    enabled Boolean

    Whether or not to enable encryption at rest using an AWS managed KMS customer master key (CMK). If enabled is false then server-side encryption is set to AWS-owned key (shown as DEFAULT in the AWS console). Potentially confusingly, if enabled is true and no kms_key_arn is specified then server-side encryption is set to the default KMS-managed key (shown as KMS in the AWS console). The AWS KMS documentation explains the difference between AWS-owned and KMS-managed keys.

    kmsKeyArn String

    ARN of the CMK that should be used for the AWS KMS encryption. This argument should only be used if the key is different from the default KMS-managed DynamoDB key, alias/aws/dynamodb. Note: This attribute will not be populated with the ARN of default keys.

    enabled boolean

    Whether or not to enable encryption at rest using an AWS managed KMS customer master key (CMK). If enabled is false then server-side encryption is set to AWS-owned key (shown as DEFAULT in the AWS console). Potentially confusingly, if enabled is true and no kms_key_arn is specified then server-side encryption is set to the default KMS-managed key (shown as KMS in the AWS console). The AWS KMS documentation explains the difference between AWS-owned and KMS-managed keys.

    kmsKeyArn string

    ARN of the CMK that should be used for the AWS KMS encryption. This argument should only be used if the key is different from the default KMS-managed DynamoDB key, alias/aws/dynamodb. Note: This attribute will not be populated with the ARN of default keys.

    enabled bool

    Whether or not to enable encryption at rest using an AWS managed KMS customer master key (CMK). If enabled is false then server-side encryption is set to AWS-owned key (shown as DEFAULT in the AWS console). Potentially confusingly, if enabled is true and no kms_key_arn is specified then server-side encryption is set to the default KMS-managed key (shown as KMS in the AWS console). The AWS KMS documentation explains the difference between AWS-owned and KMS-managed keys.

    kms_key_arn str

    ARN of the CMK that should be used for the AWS KMS encryption. This argument should only be used if the key is different from the default KMS-managed DynamoDB key, alias/aws/dynamodb. Note: This attribute will not be populated with the ARN of default keys.

    enabled Boolean

    Whether or not to enable encryption at rest using an AWS managed KMS customer master key (CMK). If enabled is false then server-side encryption is set to AWS-owned key (shown as DEFAULT in the AWS console). Potentially confusingly, if enabled is true and no kms_key_arn is specified then server-side encryption is set to the default KMS-managed key (shown as KMS in the AWS console). The AWS KMS documentation explains the difference between AWS-owned and KMS-managed keys.

    kmsKeyArn String

    ARN of the CMK that should be used for the AWS KMS encryption. This argument should only be used if the key is different from the default KMS-managed DynamoDB key, alias/aws/dynamodb. Note: This attribute will not be populated with the ARN of default keys.

    TableTtl, TableTtlArgs

    AttributeName string

    Name of the table attribute to store the TTL timestamp in.

    Enabled bool

    Whether TTL is enabled.

    AttributeName string

    Name of the table attribute to store the TTL timestamp in.

    Enabled bool

    Whether TTL is enabled.

    attributeName String

    Name of the table attribute to store the TTL timestamp in.

    enabled Boolean

    Whether TTL is enabled.

    attributeName string

    Name of the table attribute to store the TTL timestamp in.

    enabled boolean

    Whether TTL is enabled.

    attribute_name str

    Name of the table attribute to store the TTL timestamp in.

    enabled bool

    Whether TTL is enabled.

    attributeName String

    Name of the table attribute to store the TTL timestamp in.

    enabled Boolean

    Whether TTL is enabled.

    Import

    Using pulumi import, import DynamoDB tables using the name. For example:

     $ pulumi import aws:dynamodb/table:Table basic-dynamodb-table GameScores
    

    Package Details

    Repository
    AWS Classic pulumi/pulumi-aws
    License
    Apache-2.0
    Notes

    This Pulumi package is based on the aws Terraform Provider.

    aws logo

    Try AWS Native preview for resources not in the classic version.

    AWS Classic v6.2.0 published on Monday, Sep 18, 2023 by Pulumi