aws.dynamodb.Table
Explore with Pulumi AI
Provides a DynamoDB table resource.
Note: It is recommended to use
ignoreChangesforread_capacityand/orwrite_capacityif there’sautoscaling policyattached to the table.
Note: When using aws.dynamodb.TableReplica with this resource, use
lifecycleignore_changesforreplica, 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
The following dynamodb table description models the table and GSI shown in the AWS SDK example documentation
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const basic_dynamodb_table = new aws.dynamodb.Table("basic-dynamodb-table", {
    name: "GameScores",
    billingMode: "PROVISIONED",
    readCapacity: 20,
    writeCapacity: 20,
    hashKey: "UserId",
    rangeKey: "GameTitle",
    attributes: [
        {
            name: "UserId",
            type: "S",
        },
        {
            name: "GameTitle",
            type: "S",
        },
        {
            name: "TopScore",
            type: "N",
        },
    ],
    ttl: {
        attributeName: "TimeToExist",
        enabled: true,
    },
    globalSecondaryIndexes: [{
        name: "GameTitleIndex",
        hashKey: "GameTitle",
        rangeKey: "TopScore",
        writeCapacity: 10,
        readCapacity: 10,
        projectionType: "INCLUDE",
        nonKeyAttributes: ["UserId"],
    }],
    tags: {
        Name: "dynamodb-table-1",
        Environment: "production",
    },
});
import pulumi
import pulumi_aws as aws
basic_dynamodb_table = aws.dynamodb.Table("basic-dynamodb-table",
    name="GameScores",
    billing_mode="PROVISIONED",
    read_capacity=20,
    write_capacity=20,
    hash_key="UserId",
    range_key="GameTitle",
    attributes=[
        {
            "name": "UserId",
            "type": "S",
        },
        {
            "name": "GameTitle",
            "type": "S",
        },
        {
            "name": "TopScore",
            "type": "N",
        },
    ],
    ttl={
        "attribute_name": "TimeToExist",
        "enabled": True,
    },
    global_secondary_indexes=[{
        "name": "GameTitleIndex",
        "hash_key": "GameTitle",
        "range_key": "TopScore",
        "write_capacity": 10,
        "read_capacity": 10,
        "projection_type": "INCLUDE",
        "non_key_attributes": ["UserId"],
    }],
    tags={
        "Name": "dynamodb-table-1",
        "Environment": "production",
    })
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{
			Name:          pulumi.String("GameScores"),
			BillingMode:   pulumi.String("PROVISIONED"),
			ReadCapacity:  pulumi.Int(20),
			WriteCapacity: pulumi.Int(20),
			HashKey:       pulumi.String("UserId"),
			RangeKey:      pulumi.String("GameTitle"),
			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"),
				},
			},
			Ttl: &dynamodb.TableTtlArgs{
				AttributeName: pulumi.String("TimeToExist"),
				Enabled:       pulumi.Bool(true),
			},
			GlobalSecondaryIndexes: dynamodb.TableGlobalSecondaryIndexArray{
				&dynamodb.TableGlobalSecondaryIndexArgs{
					Name:           pulumi.String("GameTitleIndex"),
					HashKey:        pulumi.String("GameTitle"),
					RangeKey:       pulumi.String("TopScore"),
					WriteCapacity:  pulumi.Int(10),
					ReadCapacity:   pulumi.Int(10),
					ProjectionType: pulumi.String("INCLUDE"),
					NonKeyAttributes: pulumi.StringArray{
						pulumi.String("UserId"),
					},
				},
			},
			Tags: pulumi.StringMap{
				"Name":        pulumi.String("dynamodb-table-1"),
				"Environment": pulumi.String("production"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
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()
    {
        Name = "GameScores",
        BillingMode = "PROVISIONED",
        ReadCapacity = 20,
        WriteCapacity = 20,
        HashKey = "UserId",
        RangeKey = "GameTitle",
        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",
            },
        },
        Ttl = new Aws.DynamoDB.Inputs.TableTtlArgs
        {
            AttributeName = "TimeToExist",
            Enabled = true,
        },
        GlobalSecondaryIndexes = new[]
        {
            new Aws.DynamoDB.Inputs.TableGlobalSecondaryIndexArgs
            {
                Name = "GameTitleIndex",
                HashKey = "GameTitle",
                RangeKey = "TopScore",
                WriteCapacity = 10,
                ReadCapacity = 10,
                ProjectionType = "INCLUDE",
                NonKeyAttributes = new[]
                {
                    "UserId",
                },
            },
        },
        Tags = 
        {
            { "Name", "dynamodb-table-1" },
            { "Environment", "production" },
        },
    });
});
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.TableTtlArgs;
import com.pulumi.aws.dynamodb.inputs.TableGlobalSecondaryIndexArgs;
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()
            .name("GameScores")
            .billingMode("PROVISIONED")
            .readCapacity(20)
            .writeCapacity(20)
            .hashKey("UserId")
            .rangeKey("GameTitle")
            .attributes(            
                TableAttributeArgs.builder()
                    .name("UserId")
                    .type("S")
                    .build(),
                TableAttributeArgs.builder()
                    .name("GameTitle")
                    .type("S")
                    .build(),
                TableAttributeArgs.builder()
                    .name("TopScore")
                    .type("N")
                    .build())
            .ttl(TableTtlArgs.builder()
                .attributeName("TimeToExist")
                .enabled(true)
                .build())
            .globalSecondaryIndexes(TableGlobalSecondaryIndexArgs.builder()
                .name("GameTitleIndex")
                .hashKey("GameTitle")
                .rangeKey("TopScore")
                .writeCapacity(10)
                .readCapacity(10)
                .projectionType("INCLUDE")
                .nonKeyAttributes("UserId")
                .build())
            .tags(Map.ofEntries(
                Map.entry("Name", "dynamodb-table-1"),
                Map.entry("Environment", "production")
            ))
            .build());
    }
}
resources:
  basic-dynamodb-table:
    type: aws:dynamodb:Table
    properties:
      name: GameScores
      billingMode: PROVISIONED
      readCapacity: 20
      writeCapacity: 20
      hashKey: UserId
      rangeKey: GameTitle
      attributes:
        - name: UserId
          type: S
        - name: GameTitle
          type: S
        - name: TopScore
          type: N
      ttl:
        attributeName: TimeToExist
        enabled: true
      globalSecondaryIndexes:
        - name: GameTitleIndex
          hashKey: GameTitle
          rangeKey: TopScore
          writeCapacity: 10
          readCapacity: 10
          projectionType: INCLUDE
          nonKeyAttributes:
            - UserId
      tags:
        Name: dynamodb-table-1
        Environment: production
Global Tables
This resource implements support for DynamoDB Global Tables V2 (version 2019.11.21) via replica configuration blocks. For working with DynamoDB Global Tables V1 (version 2017.11.29), see the aws.dynamodb.GlobalTable resource.
Note: aws.dynamodb.TableReplica is an alternate way of configuring Global Tables. Do not use
replicaconfiguration blocks ofaws.dynamodb.Tabletogether with aws_dynamodb_table_replica.
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.dynamodb.Table("example", {
    name: "example",
    hashKey: "TestTableHashKey",
    billingMode: "PAY_PER_REQUEST",
    streamEnabled: true,
    streamViewType: "NEW_AND_OLD_IMAGES",
    attributes: [{
        name: "TestTableHashKey",
        type: "S",
    }],
    replicas: [
        {
            regionName: "us-east-2",
        },
        {
            regionName: "us-west-2",
        },
    ],
});
import pulumi
import pulumi_aws as aws
example = aws.dynamodb.Table("example",
    name="example",
    hash_key="TestTableHashKey",
    billing_mode="PAY_PER_REQUEST",
    stream_enabled=True,
    stream_view_type="NEW_AND_OLD_IMAGES",
    attributes=[{
        "name": "TestTableHashKey",
        "type": "S",
    }],
    replicas=[
        {
            "region_name": "us-east-2",
        },
        {
            "region_name": "us-west-2",
        },
    ])
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{
			Name:           pulumi.String("example"),
			HashKey:        pulumi.String("TestTableHashKey"),
			BillingMode:    pulumi.String("PAY_PER_REQUEST"),
			StreamEnabled:  pulumi.Bool(true),
			StreamViewType: pulumi.String("NEW_AND_OLD_IMAGES"),
			Attributes: dynamodb.TableAttributeArray{
				&dynamodb.TableAttributeArgs{
					Name: pulumi.String("TestTableHashKey"),
					Type: pulumi.String("S"),
				},
			},
			Replicas: dynamodb.TableReplicaTypeArray{
				&dynamodb.TableReplicaTypeArgs{
					RegionName: pulumi.String("us-east-2"),
				},
				&dynamodb.TableReplicaTypeArgs{
					RegionName: pulumi.String("us-west-2"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
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()
    {
        Name = "example",
        HashKey = "TestTableHashKey",
        BillingMode = "PAY_PER_REQUEST",
        StreamEnabled = true,
        StreamViewType = "NEW_AND_OLD_IMAGES",
        Attributes = new[]
        {
            new Aws.DynamoDB.Inputs.TableAttributeArgs
            {
                Name = "TestTableHashKey",
                Type = "S",
            },
        },
        Replicas = new[]
        {
            new Aws.DynamoDB.Inputs.TableReplicaArgs
            {
                RegionName = "us-east-2",
            },
            new Aws.DynamoDB.Inputs.TableReplicaArgs
            {
                RegionName = "us-west-2",
            },
        },
    });
});
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()
            .name("example")
            .hashKey("TestTableHashKey")
            .billingMode("PAY_PER_REQUEST")
            .streamEnabled(true)
            .streamViewType("NEW_AND_OLD_IMAGES")
            .attributes(TableAttributeArgs.builder()
                .name("TestTableHashKey")
                .type("S")
                .build())
            .replicas(            
                TableReplicaArgs.builder()
                    .regionName("us-east-2")
                    .build(),
                TableReplicaArgs.builder()
                    .regionName("us-west-2")
                    .build())
            .build());
    }
}
resources:
  example:
    type: aws:dynamodb:Table
    properties:
      name: example
      hashKey: TestTableHashKey
      billingMode: PAY_PER_REQUEST
      streamEnabled: true
      streamViewType: NEW_AND_OLD_IMAGES
      attributes:
        - name: TestTableHashKey
          type: S
      replicas:
        - regionName: us-east-2
        - regionName: us-west-2
Replica Tagging
You can manage global table replicas’ tags in various ways. This example shows using replica.*.propagate_tags for the first replica and the aws.dynamodb.Tag resource for the other.
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
import * as std from "@pulumi/std";
const current = aws.getRegion({});
const alternate = aws.getRegion({});
const third = aws.getRegion({});
const example = new aws.dynamodb.Table("example", {
    billingMode: "PAY_PER_REQUEST",
    hashKey: "TestTableHashKey",
    name: "example-13281",
    streamEnabled: true,
    streamViewType: "NEW_AND_OLD_IMAGES",
    attributes: [{
        name: "TestTableHashKey",
        type: "S",
    }],
    replicas: [
        {
            regionName: alternate.then(alternate => alternate.name),
        },
        {
            regionName: third.then(third => third.name),
            propagateTags: true,
        },
    ],
    tags: {
        Architect: "Eleanor",
        Zone: "SW",
    },
});
const exampleTag = new aws.dynamodb.Tag("example", {
    resourceArn: pulumi.all([example.arn, current, alternate]).apply(([arn, current, alternate]) => std.replaceOutput({
        text: arn,
        search: current.name,
        replace: alternate.name,
    })).apply(invoke => invoke.result),
    key: "Architect",
    value: "Gigi",
});
import pulumi
import pulumi_aws as aws
import pulumi_std as std
current = aws.get_region()
alternate = aws.get_region()
third = aws.get_region()
example = aws.dynamodb.Table("example",
    billing_mode="PAY_PER_REQUEST",
    hash_key="TestTableHashKey",
    name="example-13281",
    stream_enabled=True,
    stream_view_type="NEW_AND_OLD_IMAGES",
    attributes=[{
        "name": "TestTableHashKey",
        "type": "S",
    }],
    replicas=[
        {
            "region_name": alternate.name,
        },
        {
            "region_name": third.name,
            "propagate_tags": True,
        },
    ],
    tags={
        "Architect": "Eleanor",
        "Zone": "SW",
    })
example_tag = aws.dynamodb.Tag("example",
    resource_arn=example.arn.apply(lambda arn: std.replace_output(text=arn,
        search=current.name,
        replace=alternate.name)).apply(lambda invoke: invoke.result),
    key="Architect",
    value="Gigi")
package main
import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws"
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dynamodb"
	"github.com/pulumi/pulumi-std/sdk/go/std"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		current, err := aws.GetRegion(ctx, &aws.GetRegionArgs{}, nil)
		if err != nil {
			return err
		}
		alternate, err := aws.GetRegion(ctx, &aws.GetRegionArgs{}, nil)
		if err != nil {
			return err
		}
		third, err := aws.GetRegion(ctx, &aws.GetRegionArgs{}, nil)
		if err != nil {
			return err
		}
		example, err := dynamodb.NewTable(ctx, "example", &dynamodb.TableArgs{
			BillingMode:    pulumi.String("PAY_PER_REQUEST"),
			HashKey:        pulumi.String("TestTableHashKey"),
			Name:           pulumi.String("example-13281"),
			StreamEnabled:  pulumi.Bool(true),
			StreamViewType: pulumi.String("NEW_AND_OLD_IMAGES"),
			Attributes: dynamodb.TableAttributeArray{
				&dynamodb.TableAttributeArgs{
					Name: pulumi.String("TestTableHashKey"),
					Type: pulumi.String("S"),
				},
			},
			Replicas: dynamodb.TableReplicaTypeArray{
				&dynamodb.TableReplicaTypeArgs{
					RegionName: pulumi.String(alternate.Name),
				},
				&dynamodb.TableReplicaTypeArgs{
					RegionName:    pulumi.String(third.Name),
					PropagateTags: pulumi.Bool(true),
				},
			},
			Tags: pulumi.StringMap{
				"Architect": pulumi.String("Eleanor"),
				"Zone":      pulumi.String("SW"),
			},
		})
		if err != nil {
			return err
		}
		_, err = dynamodb.NewTag(ctx, "example", &dynamodb.TagArgs{
			ResourceArn: pulumi.String(example.Arn.ApplyT(func(arn string) (std.ReplaceResult, error) {
				return std.ReplaceResult(interface{}(std.ReplaceOutput(ctx, std.ReplaceOutputArgs{
					Text:    arn,
					Search:  current.Name,
					Replace: alternate.Name,
				}, nil))), nil
			}).(std.ReplaceResultOutput).ApplyT(func(invoke std.ReplaceResult) (*string, error) {
				return invoke.Result, nil
			}).(pulumi.StringPtrOutput)),
			Key:   pulumi.String("Architect"),
			Value: pulumi.String("Gigi"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
using Std = Pulumi.Std;
return await Deployment.RunAsync(() => 
{
    var current = Aws.GetRegion.Invoke();
    var alternate = Aws.GetRegion.Invoke();
    var third = Aws.GetRegion.Invoke();
    var example = new Aws.DynamoDB.Table("example", new()
    {
        BillingMode = "PAY_PER_REQUEST",
        HashKey = "TestTableHashKey",
        Name = "example-13281",
        StreamEnabled = true,
        StreamViewType = "NEW_AND_OLD_IMAGES",
        Attributes = new[]
        {
            new Aws.DynamoDB.Inputs.TableAttributeArgs
            {
                Name = "TestTableHashKey",
                Type = "S",
            },
        },
        Replicas = new[]
        {
            new Aws.DynamoDB.Inputs.TableReplicaArgs
            {
                RegionName = alternate.Apply(getRegionResult => getRegionResult.Name),
            },
            new Aws.DynamoDB.Inputs.TableReplicaArgs
            {
                RegionName = third.Apply(getRegionResult => getRegionResult.Name),
                PropagateTags = true,
            },
        },
        Tags = 
        {
            { "Architect", "Eleanor" },
            { "Zone", "SW" },
        },
    });
    var exampleTag = new Aws.DynamoDB.Tag("example", new()
    {
        ResourceArn = Output.Tuple(example.Arn, current, alternate).Apply(values =>
        {
            var arn = values.Item1;
            var current = values.Item2;
            var alternate = values.Item3;
            return Std.Replace.Invoke(new()
            {
                Text = arn,
                Search = current.Apply(getRegionResult => getRegionResult.Name),
                Replace = alternate.Apply(getRegionResult => getRegionResult.Name),
            });
        }).Apply(invoke => invoke.Result),
        Key = "Architect",
        Value = "Gigi",
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.AwsFunctions;
import com.pulumi.aws.inputs.GetRegionArgs;
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 com.pulumi.aws.dynamodb.Tag;
import com.pulumi.aws.dynamodb.TagArgs;
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) {
        final var current = AwsFunctions.getRegion();
        final var alternate = AwsFunctions.getRegion();
        final var third = AwsFunctions.getRegion();
        var example = new Table("example", TableArgs.builder()
            .billingMode("PAY_PER_REQUEST")
            .hashKey("TestTableHashKey")
            .name("example-13281")
            .streamEnabled(true)
            .streamViewType("NEW_AND_OLD_IMAGES")
            .attributes(TableAttributeArgs.builder()
                .name("TestTableHashKey")
                .type("S")
                .build())
            .replicas(            
                TableReplicaArgs.builder()
                    .regionName(alternate.applyValue(getRegionResult -> getRegionResult.name()))
                    .build(),
                TableReplicaArgs.builder()
                    .regionName(third.applyValue(getRegionResult -> getRegionResult.name()))
                    .propagateTags(true)
                    .build())
            .tags(Map.ofEntries(
                Map.entry("Architect", "Eleanor"),
                Map.entry("Zone", "SW")
            ))
            .build());
        var exampleTag = new Tag("exampleTag", TagArgs.builder()
            .resourceArn(example.arn().applyValue(arn -> StdFunctions.replace()).applyValue(invoke -> invoke.result()))
            .key("Architect")
            .value("Gigi")
            .build());
    }
}
resources:
  example:
    type: aws:dynamodb:Table
    properties:
      billingMode: PAY_PER_REQUEST
      hashKey: TestTableHashKey
      name: example-13281
      streamEnabled: true
      streamViewType: NEW_AND_OLD_IMAGES
      attributes:
        - name: TestTableHashKey
          type: S
      replicas:
        - regionName: ${alternate.name}
        - regionName: ${third.name}
          propagateTags: true
      tags:
        Architect: Eleanor
        Zone: SW
  exampleTag:
    type: aws:dynamodb:Tag
    name: example
    properties:
      resourceArn:
        fn::invoke:
          function: std:replace
          arguments:
            text: ${example.arn}
            search: ${current.name}
            replace: ${alternate.name}
          return: result
      key: Architect
      value: Gigi
variables:
  current:
    fn::invoke:
      function: aws:getRegion
      arguments: {}
  alternate:
    fn::invoke:
      function: aws:getRegion
      arguments: {}
  third:
    fn::invoke:
      function: aws:getRegion
      arguments: {}
Create Table Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Table(name: string, args?: TableArgs, opts?: CustomResourceOptions);@overload
def Table(resource_name: str,
          args: Optional[TableArgs] = None,
          opts: Optional[ResourceOptions] = None)
@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,
          import_table: Optional[TableImportTableArgs] = None,
          local_secondary_indexes: Optional[Sequence[TableLocalSecondaryIndexArgs]] = None,
          name: Optional[str] = None,
          on_demand_throughput: Optional[TableOnDemandThroughputArgs] = 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_source_table_arn: 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)func NewTable(ctx *Context, name string, args *TableArgs, opts ...ResourceOption) (*Table, error)public Table(string name, TableArgs? args = null, CustomResourceOptions? opts = null)type: aws:dynamodb:Table
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- 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.
Constructor example
The following reference example uses placeholder values for all input properties.
var tableResource = new Aws.DynamoDB.Table("tableResource", new()
{
    Attributes = new[]
    {
        new Aws.DynamoDB.Inputs.TableAttributeArgs
        {
            Name = "string",
            Type = "string",
        },
    },
    BillingMode = "string",
    DeletionProtectionEnabled = false,
    GlobalSecondaryIndexes = new[]
    {
        new Aws.DynamoDB.Inputs.TableGlobalSecondaryIndexArgs
        {
            HashKey = "string",
            Name = "string",
            ProjectionType = "string",
            NonKeyAttributes = new[]
            {
                "string",
            },
            OnDemandThroughput = new Aws.DynamoDB.Inputs.TableGlobalSecondaryIndexOnDemandThroughputArgs
            {
                MaxReadRequestUnits = 0,
                MaxWriteRequestUnits = 0,
            },
            RangeKey = "string",
            ReadCapacity = 0,
            WriteCapacity = 0,
        },
    },
    HashKey = "string",
    ImportTable = new Aws.DynamoDB.Inputs.TableImportTableArgs
    {
        InputFormat = "string",
        S3BucketSource = new Aws.DynamoDB.Inputs.TableImportTableS3BucketSourceArgs
        {
            Bucket = "string",
            BucketOwner = "string",
            KeyPrefix = "string",
        },
        InputCompressionType = "string",
        InputFormatOptions = new Aws.DynamoDB.Inputs.TableImportTableInputFormatOptionsArgs
        {
            Csv = new Aws.DynamoDB.Inputs.TableImportTableInputFormatOptionsCsvArgs
            {
                Delimiter = "string",
                HeaderLists = new[]
                {
                    "string",
                },
            },
        },
    },
    LocalSecondaryIndexes = new[]
    {
        new Aws.DynamoDB.Inputs.TableLocalSecondaryIndexArgs
        {
            Name = "string",
            ProjectionType = "string",
            RangeKey = "string",
            NonKeyAttributes = new[]
            {
                "string",
            },
        },
    },
    Name = "string",
    OnDemandThroughput = new Aws.DynamoDB.Inputs.TableOnDemandThroughputArgs
    {
        MaxReadRequestUnits = 0,
        MaxWriteRequestUnits = 0,
    },
    PointInTimeRecovery = new Aws.DynamoDB.Inputs.TablePointInTimeRecoveryArgs
    {
        Enabled = false,
    },
    RangeKey = "string",
    ReadCapacity = 0,
    Replicas = new[]
    {
        new Aws.DynamoDB.Inputs.TableReplicaArgs
        {
            RegionName = "string",
            Arn = "string",
            KmsKeyArn = "string",
            PointInTimeRecovery = false,
            PropagateTags = false,
            StreamArn = "string",
            StreamLabel = "string",
        },
    },
    RestoreDateTime = "string",
    RestoreSourceName = "string",
    RestoreSourceTableArn = "string",
    RestoreToLatestTime = false,
    ServerSideEncryption = new Aws.DynamoDB.Inputs.TableServerSideEncryptionArgs
    {
        Enabled = false,
        KmsKeyArn = "string",
    },
    StreamEnabled = false,
    StreamViewType = "string",
    TableClass = "string",
    Tags = 
    {
        { "string", "string" },
    },
    Ttl = new Aws.DynamoDB.Inputs.TableTtlArgs
    {
        AttributeName = "string",
        Enabled = false,
    },
    WriteCapacity = 0,
});
example, err := dynamodb.NewTable(ctx, "tableResource", &dynamodb.TableArgs{
	Attributes: dynamodb.TableAttributeArray{
		&dynamodb.TableAttributeArgs{
			Name: pulumi.String("string"),
			Type: pulumi.String("string"),
		},
	},
	BillingMode:               pulumi.String("string"),
	DeletionProtectionEnabled: pulumi.Bool(false),
	GlobalSecondaryIndexes: dynamodb.TableGlobalSecondaryIndexArray{
		&dynamodb.TableGlobalSecondaryIndexArgs{
			HashKey:        pulumi.String("string"),
			Name:           pulumi.String("string"),
			ProjectionType: pulumi.String("string"),
			NonKeyAttributes: pulumi.StringArray{
				pulumi.String("string"),
			},
			OnDemandThroughput: &dynamodb.TableGlobalSecondaryIndexOnDemandThroughputArgs{
				MaxReadRequestUnits:  pulumi.Int(0),
				MaxWriteRequestUnits: pulumi.Int(0),
			},
			RangeKey:      pulumi.String("string"),
			ReadCapacity:  pulumi.Int(0),
			WriteCapacity: pulumi.Int(0),
		},
	},
	HashKey: pulumi.String("string"),
	ImportTable: &dynamodb.TableImportTableArgs{
		InputFormat: pulumi.String("string"),
		S3BucketSource: &dynamodb.TableImportTableS3BucketSourceArgs{
			Bucket:      pulumi.String("string"),
			BucketOwner: pulumi.String("string"),
			KeyPrefix:   pulumi.String("string"),
		},
		InputCompressionType: pulumi.String("string"),
		InputFormatOptions: &dynamodb.TableImportTableInputFormatOptionsArgs{
			Csv: &dynamodb.TableImportTableInputFormatOptionsCsvArgs{
				Delimiter: pulumi.String("string"),
				HeaderLists: pulumi.StringArray{
					pulumi.String("string"),
				},
			},
		},
	},
	LocalSecondaryIndexes: dynamodb.TableLocalSecondaryIndexArray{
		&dynamodb.TableLocalSecondaryIndexArgs{
			Name:           pulumi.String("string"),
			ProjectionType: pulumi.String("string"),
			RangeKey:       pulumi.String("string"),
			NonKeyAttributes: pulumi.StringArray{
				pulumi.String("string"),
			},
		},
	},
	Name: pulumi.String("string"),
	OnDemandThroughput: &dynamodb.TableOnDemandThroughputArgs{
		MaxReadRequestUnits:  pulumi.Int(0),
		MaxWriteRequestUnits: pulumi.Int(0),
	},
	PointInTimeRecovery: &dynamodb.TablePointInTimeRecoveryArgs{
		Enabled: pulumi.Bool(false),
	},
	RangeKey:     pulumi.String("string"),
	ReadCapacity: pulumi.Int(0),
	Replicas: dynamodb.TableReplicaTypeArray{
		&dynamodb.TableReplicaTypeArgs{
			RegionName:          pulumi.String("string"),
			Arn:                 pulumi.String("string"),
			KmsKeyArn:           pulumi.String("string"),
			PointInTimeRecovery: pulumi.Bool(false),
			PropagateTags:       pulumi.Bool(false),
			StreamArn:           pulumi.String("string"),
			StreamLabel:         pulumi.String("string"),
		},
	},
	RestoreDateTime:       pulumi.String("string"),
	RestoreSourceName:     pulumi.String("string"),
	RestoreSourceTableArn: pulumi.String("string"),
	RestoreToLatestTime:   pulumi.Bool(false),
	ServerSideEncryption: &dynamodb.TableServerSideEncryptionArgs{
		Enabled:   pulumi.Bool(false),
		KmsKeyArn: pulumi.String("string"),
	},
	StreamEnabled:  pulumi.Bool(false),
	StreamViewType: pulumi.String("string"),
	TableClass:     pulumi.String("string"),
	Tags: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	Ttl: &dynamodb.TableTtlArgs{
		AttributeName: pulumi.String("string"),
		Enabled:       pulumi.Bool(false),
	},
	WriteCapacity: pulumi.Int(0),
})
var tableResource = new Table("tableResource", TableArgs.builder()
    .attributes(TableAttributeArgs.builder()
        .name("string")
        .type("string")
        .build())
    .billingMode("string")
    .deletionProtectionEnabled(false)
    .globalSecondaryIndexes(TableGlobalSecondaryIndexArgs.builder()
        .hashKey("string")
        .name("string")
        .projectionType("string")
        .nonKeyAttributes("string")
        .onDemandThroughput(TableGlobalSecondaryIndexOnDemandThroughputArgs.builder()
            .maxReadRequestUnits(0)
            .maxWriteRequestUnits(0)
            .build())
        .rangeKey("string")
        .readCapacity(0)
        .writeCapacity(0)
        .build())
    .hashKey("string")
    .importTable(TableImportTableArgs.builder()
        .inputFormat("string")
        .s3BucketSource(TableImportTableS3BucketSourceArgs.builder()
            .bucket("string")
            .bucketOwner("string")
            .keyPrefix("string")
            .build())
        .inputCompressionType("string")
        .inputFormatOptions(TableImportTableInputFormatOptionsArgs.builder()
            .csv(TableImportTableInputFormatOptionsCsvArgs.builder()
                .delimiter("string")
                .headerLists("string")
                .build())
            .build())
        .build())
    .localSecondaryIndexes(TableLocalSecondaryIndexArgs.builder()
        .name("string")
        .projectionType("string")
        .rangeKey("string")
        .nonKeyAttributes("string")
        .build())
    .name("string")
    .onDemandThroughput(TableOnDemandThroughputArgs.builder()
        .maxReadRequestUnits(0)
        .maxWriteRequestUnits(0)
        .build())
    .pointInTimeRecovery(TablePointInTimeRecoveryArgs.builder()
        .enabled(false)
        .build())
    .rangeKey("string")
    .readCapacity(0)
    .replicas(TableReplicaArgs.builder()
        .regionName("string")
        .arn("string")
        .kmsKeyArn("string")
        .pointInTimeRecovery(false)
        .propagateTags(false)
        .streamArn("string")
        .streamLabel("string")
        .build())
    .restoreDateTime("string")
    .restoreSourceName("string")
    .restoreSourceTableArn("string")
    .restoreToLatestTime(false)
    .serverSideEncryption(TableServerSideEncryptionArgs.builder()
        .enabled(false)
        .kmsKeyArn("string")
        .build())
    .streamEnabled(false)
    .streamViewType("string")
    .tableClass("string")
    .tags(Map.of("string", "string"))
    .ttl(TableTtlArgs.builder()
        .attributeName("string")
        .enabled(false)
        .build())
    .writeCapacity(0)
    .build());
table_resource = aws.dynamodb.Table("tableResource",
    attributes=[{
        "name": "string",
        "type": "string",
    }],
    billing_mode="string",
    deletion_protection_enabled=False,
    global_secondary_indexes=[{
        "hash_key": "string",
        "name": "string",
        "projection_type": "string",
        "non_key_attributes": ["string"],
        "on_demand_throughput": {
            "max_read_request_units": 0,
            "max_write_request_units": 0,
        },
        "range_key": "string",
        "read_capacity": 0,
        "write_capacity": 0,
    }],
    hash_key="string",
    import_table={
        "input_format": "string",
        "s3_bucket_source": {
            "bucket": "string",
            "bucket_owner": "string",
            "key_prefix": "string",
        },
        "input_compression_type": "string",
        "input_format_options": {
            "csv": {
                "delimiter": "string",
                "header_lists": ["string"],
            },
        },
    },
    local_secondary_indexes=[{
        "name": "string",
        "projection_type": "string",
        "range_key": "string",
        "non_key_attributes": ["string"],
    }],
    name="string",
    on_demand_throughput={
        "max_read_request_units": 0,
        "max_write_request_units": 0,
    },
    point_in_time_recovery={
        "enabled": False,
    },
    range_key="string",
    read_capacity=0,
    replicas=[{
        "region_name": "string",
        "arn": "string",
        "kms_key_arn": "string",
        "point_in_time_recovery": False,
        "propagate_tags": False,
        "stream_arn": "string",
        "stream_label": "string",
    }],
    restore_date_time="string",
    restore_source_name="string",
    restore_source_table_arn="string",
    restore_to_latest_time=False,
    server_side_encryption={
        "enabled": False,
        "kms_key_arn": "string",
    },
    stream_enabled=False,
    stream_view_type="string",
    table_class="string",
    tags={
        "string": "string",
    },
    ttl={
        "attribute_name": "string",
        "enabled": False,
    },
    write_capacity=0)
const tableResource = new aws.dynamodb.Table("tableResource", {
    attributes: [{
        name: "string",
        type: "string",
    }],
    billingMode: "string",
    deletionProtectionEnabled: false,
    globalSecondaryIndexes: [{
        hashKey: "string",
        name: "string",
        projectionType: "string",
        nonKeyAttributes: ["string"],
        onDemandThroughput: {
            maxReadRequestUnits: 0,
            maxWriteRequestUnits: 0,
        },
        rangeKey: "string",
        readCapacity: 0,
        writeCapacity: 0,
    }],
    hashKey: "string",
    importTable: {
        inputFormat: "string",
        s3BucketSource: {
            bucket: "string",
            bucketOwner: "string",
            keyPrefix: "string",
        },
        inputCompressionType: "string",
        inputFormatOptions: {
            csv: {
                delimiter: "string",
                headerLists: ["string"],
            },
        },
    },
    localSecondaryIndexes: [{
        name: "string",
        projectionType: "string",
        rangeKey: "string",
        nonKeyAttributes: ["string"],
    }],
    name: "string",
    onDemandThroughput: {
        maxReadRequestUnits: 0,
        maxWriteRequestUnits: 0,
    },
    pointInTimeRecovery: {
        enabled: false,
    },
    rangeKey: "string",
    readCapacity: 0,
    replicas: [{
        regionName: "string",
        arn: "string",
        kmsKeyArn: "string",
        pointInTimeRecovery: false,
        propagateTags: false,
        streamArn: "string",
        streamLabel: "string",
    }],
    restoreDateTime: "string",
    restoreSourceName: "string",
    restoreSourceTableArn: "string",
    restoreToLatestTime: false,
    serverSideEncryption: {
        enabled: false,
        kmsKeyArn: "string",
    },
    streamEnabled: false,
    streamViewType: "string",
    tableClass: "string",
    tags: {
        string: "string",
    },
    ttl: {
        attributeName: "string",
        enabled: false,
    },
    writeCapacity: 0,
});
type: aws:dynamodb:Table
properties:
    attributes:
        - name: string
          type: string
    billingMode: string
    deletionProtectionEnabled: false
    globalSecondaryIndexes:
        - hashKey: string
          name: string
          nonKeyAttributes:
            - string
          onDemandThroughput:
            maxReadRequestUnits: 0
            maxWriteRequestUnits: 0
          projectionType: string
          rangeKey: string
          readCapacity: 0
          writeCapacity: 0
    hashKey: string
    importTable:
        inputCompressionType: string
        inputFormat: string
        inputFormatOptions:
            csv:
                delimiter: string
                headerLists:
                    - string
        s3BucketSource:
            bucket: string
            bucketOwner: string
            keyPrefix: string
    localSecondaryIndexes:
        - name: string
          nonKeyAttributes:
            - string
          projectionType: string
          rangeKey: string
    name: string
    onDemandThroughput:
        maxReadRequestUnits: 0
        maxWriteRequestUnits: 0
    pointInTimeRecovery:
        enabled: false
    rangeKey: string
    readCapacity: 0
    replicas:
        - arn: string
          kmsKeyArn: string
          pointInTimeRecovery: false
          propagateTags: false
          regionName: string
          streamArn: string
          streamLabel: string
    restoreDateTime: string
    restoreSourceName: string
    restoreSourceTableArn: string
    restoreToLatestTime: false
    serverSideEncryption:
        enabled: false
        kmsKeyArn: string
    streamEnabled: false
    streamViewType: string
    tableClass: string
    tags:
        string: string
    ttl:
        attributeName: string
        enabled: false
    writeCapacity: 0
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
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The Table resource accepts the following input properties:
- Attributes
List<TableAttribute> 
- Set of nested attribute definitions. Only required for hash_keyandrange_keyattributes. See below.
- BillingMode string
- Controls how you are charged for read and write throughput and how you manage capacity. The valid values are PROVISIONEDandPAY_PER_REQUEST. Defaults toPROVISIONED.
- DeletionProtection boolEnabled 
- Enables deletion protection for table. Defaults to false.
- GlobalSecondary List<TableIndexes Global Secondary Index> 
- 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.
- ImportTable TableImport Table 
- Import Amazon S3 data into a new table. See below.
- LocalSecondary List<TableIndexes Local Secondary Index> 
- 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: 
- OnDemand TableThroughput On Demand Throughput 
- Sets the maximum number of read and write units for the specified on-demand table. See below.
- PointIn TableTime Recovery Point In Time Recovery 
- 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_modeisPROVISIONED, this field is required.
- Replicas
List<TableReplica> 
- Configuration block(s) with DynamoDB Global Tables V2 (version 2019.11.21) replication configurations. See below.
- RestoreDate stringTime 
- Time of the point-in-time recovery point to restore.
- RestoreSource stringName 
- Name of the table to restore. Must match the name of an existing table.
- RestoreSource stringTable Arn 
- ARN of the source table to restore. Must be supplied for cross-region restores.
- RestoreTo boolLatest Time 
- If set, restores table to the most recent point-in-time recovery point.
- ServerSide TableEncryption Server Side Encryption 
- Encryption at rest options. AWS DynamoDB tables are automatically encrypted at rest with an AWS-owned Customer Master Key if this argument isn't specified. Must be supplied for cross-region restores. See below.
- StreamEnabled bool
- Whether Streams are enabled.
- StreamView stringType 
- 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 STANDARDandSTANDARD_INFREQUENT_ACCESS. Default value isSTANDARD.
- Dictionary<string, string>
- A map of tags to populate on the created table. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Ttl
TableTtl 
- Configuration block for TTL. See below.
- WriteCapacity int
- Number of write units for this table. If the billing_modeisPROVISIONED, this field is required.
- Attributes
[]TableAttribute Args 
- Set of nested attribute definitions. Only required for hash_keyandrange_keyattributes. See below.
- BillingMode string
- Controls how you are charged for read and write throughput and how you manage capacity. The valid values are PROVISIONEDandPAY_PER_REQUEST. Defaults toPROVISIONED.
- DeletionProtection boolEnabled 
- Enables deletion protection for table. Defaults to false.
- GlobalSecondary []TableIndexes Global Secondary Index Args 
- 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.
- ImportTable TableImport Table Args 
- Import Amazon S3 data into a new table. See below.
- LocalSecondary []TableIndexes Local Secondary Index Args 
- 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: 
- OnDemand TableThroughput On Demand Throughput Args 
- Sets the maximum number of read and write units for the specified on-demand table. See below.
- PointIn TableTime Recovery Point In Time Recovery Args 
- 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_modeisPROVISIONED, this field is required.
- Replicas
[]TableReplica Type Args 
- Configuration block(s) with DynamoDB Global Tables V2 (version 2019.11.21) replication configurations. See below.
- RestoreDate stringTime 
- Time of the point-in-time recovery point to restore.
- RestoreSource stringName 
- Name of the table to restore. Must match the name of an existing table.
- RestoreSource stringTable Arn 
- ARN of the source table to restore. Must be supplied for cross-region restores.
- RestoreTo boolLatest Time 
- If set, restores table to the most recent point-in-time recovery point.
- ServerSide TableEncryption Server Side Encryption Args 
- Encryption at rest options. AWS DynamoDB tables are automatically encrypted at rest with an AWS-owned Customer Master Key if this argument isn't specified. Must be supplied for cross-region restores. See below.
- StreamEnabled bool
- Whether Streams are enabled.
- StreamView stringType 
- 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 STANDARDandSTANDARD_INFREQUENT_ACCESS. Default value isSTANDARD.
- map[string]string
- A map of tags to populate on the created table. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Ttl
TableTtl Args 
- Configuration block for TTL. See below.
- WriteCapacity int
- Number of write units for this table. If the billing_modeisPROVISIONED, this field is required.
- attributes
List<TableAttribute> 
- Set of nested attribute definitions. Only required for hash_keyandrange_keyattributes. See below.
- billingMode String
- Controls how you are charged for read and write throughput and how you manage capacity. The valid values are PROVISIONEDandPAY_PER_REQUEST. Defaults toPROVISIONED.
- deletionProtection BooleanEnabled 
- Enables deletion protection for table. Defaults to false.
- globalSecondary List<TableIndexes Global Secondary Index> 
- 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.
- importTable TableImport Table 
- Import Amazon S3 data into a new table. See below.
- localSecondary List<TableIndexes Local Secondary Index> 
- 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: 
- onDemand TableThroughput On Demand Throughput 
- Sets the maximum number of read and write units for the specified on-demand table. See below.
- pointIn TableTime Recovery Point In Time Recovery 
- 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_modeisPROVISIONED, this field is required.
- replicas
List<TableReplica> 
- Configuration block(s) with DynamoDB Global Tables V2 (version 2019.11.21) replication configurations. See below.
- restoreDate StringTime 
- Time of the point-in-time recovery point to restore.
- restoreSource StringName 
- Name of the table to restore. Must match the name of an existing table.
- restoreSource StringTable Arn 
- ARN of the source table to restore. Must be supplied for cross-region restores.
- restoreTo BooleanLatest Time 
- If set, restores table to the most recent point-in-time recovery point.
- serverSide TableEncryption Server Side Encryption 
- Encryption at rest options. AWS DynamoDB tables are automatically encrypted at rest with an AWS-owned Customer Master Key if this argument isn't specified. Must be supplied for cross-region restores. See below.
- streamEnabled Boolean
- Whether Streams are enabled.
- streamView StringType 
- 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 STANDARDandSTANDARD_INFREQUENT_ACCESS. Default value isSTANDARD.
- Map<String,String>
- A map of tags to populate on the created table. If configured with a provider default_tagsconfiguration 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_modeisPROVISIONED, this field is required.
- attributes
TableAttribute[] 
- Set of nested attribute definitions. Only required for hash_keyandrange_keyattributes. See below.
- billingMode string
- Controls how you are charged for read and write throughput and how you manage capacity. The valid values are PROVISIONEDandPAY_PER_REQUEST. Defaults toPROVISIONED.
- deletionProtection booleanEnabled 
- Enables deletion protection for table. Defaults to false.
- globalSecondary TableIndexes Global Secondary Index[] 
- 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.
- importTable TableImport Table 
- Import Amazon S3 data into a new table. See below.
- localSecondary TableIndexes Local Secondary Index[] 
- 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: 
- onDemand TableThroughput On Demand Throughput 
- Sets the maximum number of read and write units for the specified on-demand table. See below.
- pointIn TableTime Recovery Point In Time Recovery 
- 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_modeisPROVISIONED, this field is required.
- replicas
TableReplica[] 
- Configuration block(s) with DynamoDB Global Tables V2 (version 2019.11.21) replication configurations. See below.
- restoreDate stringTime 
- Time of the point-in-time recovery point to restore.
- restoreSource stringName 
- Name of the table to restore. Must match the name of an existing table.
- restoreSource stringTable Arn 
- ARN of the source table to restore. Must be supplied for cross-region restores.
- restoreTo booleanLatest Time 
- If set, restores table to the most recent point-in-time recovery point.
- serverSide TableEncryption Server Side Encryption 
- Encryption at rest options. AWS DynamoDB tables are automatically encrypted at rest with an AWS-owned Customer Master Key if this argument isn't specified. Must be supplied for cross-region restores. See below.
- streamEnabled boolean
- Whether Streams are enabled.
- streamView stringType 
- 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 STANDARDandSTANDARD_INFREQUENT_ACCESS. Default value isSTANDARD.
- {[key: string]: string}
- A map of tags to populate on the created table. If configured with a provider default_tagsconfiguration 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_modeisPROVISIONED, this field is required.
- attributes
Sequence[TableAttribute Args] 
- Set of nested attribute definitions. Only required for hash_keyandrange_keyattributes. See below.
- billing_mode str
- Controls how you are charged for read and write throughput and how you manage capacity. The valid values are PROVISIONEDandPAY_PER_REQUEST. Defaults toPROVISIONED.
- deletion_protection_ boolenabled 
- Enables deletion protection for table. Defaults to false.
- global_secondary_ Sequence[Tableindexes Global Secondary Index Args] 
- 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.
- import_table TableImport Table Args 
- Import Amazon S3 data into a new table. See below.
- local_secondary_ Sequence[Tableindexes Local Secondary Index Args] 
- 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: 
- on_demand_ Tablethroughput On Demand Throughput Args 
- Sets the maximum number of read and write units for the specified on-demand table. See below.
- point_in_ Tabletime_ recovery Point In Time Recovery Args 
- 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_modeisPROVISIONED, this field is required.
- replicas
Sequence[TableReplica Args] 
- Configuration block(s) with DynamoDB Global Tables V2 (version 2019.11.21) replication configurations. See below.
- restore_date_ strtime 
- Time of the point-in-time recovery point to restore.
- restore_source_ strname 
- Name of the table to restore. Must match the name of an existing table.
- restore_source_ strtable_ arn 
- ARN of the source table to restore. Must be supplied for cross-region restores.
- restore_to_ boollatest_ time 
- If set, restores table to the most recent point-in-time recovery point.
- server_side_ Tableencryption Server Side Encryption Args 
- Encryption at rest options. AWS DynamoDB tables are automatically encrypted at rest with an AWS-owned Customer Master Key if this argument isn't specified. Must be supplied for cross-region restores. See below.
- stream_enabled bool
- Whether Streams are enabled.
- stream_view_ strtype 
- 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 STANDARDandSTANDARD_INFREQUENT_ACCESS. Default value isSTANDARD.
- Mapping[str, str]
- A map of tags to populate on the created table. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- ttl
TableTtl Args 
- Configuration block for TTL. See below.
- write_capacity int
- Number of write units for this table. If the billing_modeisPROVISIONED, this field is required.
- attributes List<Property Map>
- Set of nested attribute definitions. Only required for hash_keyandrange_keyattributes. See below.
- billingMode String
- Controls how you are charged for read and write throughput and how you manage capacity. The valid values are PROVISIONEDandPAY_PER_REQUEST. Defaults toPROVISIONED.
- deletionProtection BooleanEnabled 
- Enables deletion protection for table. Defaults to false.
- globalSecondary List<Property Map>Indexes 
- 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.
- importTable Property Map
- Import Amazon S3 data into a new table. See below.
- localSecondary List<Property Map>Indexes 
- 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: 
- onDemand Property MapThroughput 
- Sets the maximum number of read and write units for the specified on-demand table. See below.
- pointIn Property MapTime Recovery 
- 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_modeisPROVISIONED, this field is required.
- replicas List<Property Map>
- Configuration block(s) with DynamoDB Global Tables V2 (version 2019.11.21) replication configurations. See below.
- restoreDate StringTime 
- Time of the point-in-time recovery point to restore.
- restoreSource StringName 
- Name of the table to restore. Must match the name of an existing table.
- restoreSource StringTable Arn 
- ARN of the source table to restore. Must be supplied for cross-region restores.
- restoreTo BooleanLatest Time 
- If set, restores table to the most recent point-in-time recovery point.
- serverSide Property MapEncryption 
- Encryption at rest options. AWS DynamoDB tables are automatically encrypted at rest with an AWS-owned Customer Master Key if this argument isn't specified. Must be supplied for cross-region restores. See below.
- streamEnabled Boolean
- Whether Streams are enabled.
- streamView StringType 
- 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 STANDARDandSTANDARD_INFREQUENT_ACCESS. Default value isSTANDARD.
- Map<String>
- A map of tags to populate on the created table. If configured with a provider default_tagsconfiguration 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_modeisPROVISIONED, 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.
- Dictionary<string, string>
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration 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.
- map[string]string
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration 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.
- Map<String,String>
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration 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.
- {[key: string]: string}
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration 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.
- Mapping[str, str]
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration 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.
- Map<String>
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration 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,
        import_table: Optional[TableImportTableArgs] = None,
        local_secondary_indexes: Optional[Sequence[TableLocalSecondaryIndexArgs]] = None,
        name: Optional[str] = None,
        on_demand_throughput: Optional[TableOnDemandThroughputArgs] = 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_source_table_arn: 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) -> Tablefunc 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)resources:  _:    type: aws:dynamodb:Table    get:      id: ${id}- 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.
- Arn string
- ARN of the table
- Attributes
List<TableAttribute> 
- Set of nested attribute definitions. Only required for hash_keyandrange_keyattributes. See below.
- BillingMode string
- Controls how you are charged for read and write throughput and how you manage capacity. The valid values are PROVISIONEDandPAY_PER_REQUEST. Defaults toPROVISIONED.
- DeletionProtection boolEnabled 
- Enables deletion protection for table. Defaults to false.
- GlobalSecondary List<TableIndexes Global Secondary Index> 
- 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.
- ImportTable TableImport Table 
- Import Amazon S3 data into a new table. See below.
- LocalSecondary List<TableIndexes Local Secondary Index> 
- 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: 
- OnDemand TableThroughput On Demand Throughput 
- Sets the maximum number of read and write units for the specified on-demand table. See below.
- PointIn TableTime Recovery Point In Time Recovery 
- 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_modeisPROVISIONED, this field is required.
- Replicas
List<TableReplica> 
- Configuration block(s) with DynamoDB Global Tables V2 (version 2019.11.21) replication configurations. See below.
- RestoreDate stringTime 
- Time of the point-in-time recovery point to restore.
- RestoreSource stringName 
- Name of the table to restore. Must match the name of an existing table.
- RestoreSource stringTable Arn 
- ARN of the source table to restore. Must be supplied for cross-region restores.
- RestoreTo boolLatest Time 
- If set, restores table to the most recent point-in-time recovery point.
- ServerSide TableEncryption Server Side Encryption 
- Encryption at rest options. AWS DynamoDB tables are automatically encrypted at rest with an AWS-owned Customer Master Key if this argument isn't specified. Must be supplied for cross-region restores. See below.
- 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.
- StreamView stringType 
- 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 STANDARDandSTANDARD_INFREQUENT_ACCESS. Default value isSTANDARD.
- Dictionary<string, string>
- A map of tags to populate on the created table. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Dictionary<string, string>
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- Ttl
TableTtl 
- Configuration block for TTL. See below.
- WriteCapacity int
- Number of write units for this table. If the billing_modeisPROVISIONED, this field is required.
- Arn string
- ARN of the table
- Attributes
[]TableAttribute Args 
- Set of nested attribute definitions. Only required for hash_keyandrange_keyattributes. See below.
- BillingMode string
- Controls how you are charged for read and write throughput and how you manage capacity. The valid values are PROVISIONEDandPAY_PER_REQUEST. Defaults toPROVISIONED.
- DeletionProtection boolEnabled 
- Enables deletion protection for table. Defaults to false.
- GlobalSecondary []TableIndexes Global Secondary Index Args 
- 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.
- ImportTable TableImport Table Args 
- Import Amazon S3 data into a new table. See below.
- LocalSecondary []TableIndexes Local Secondary Index Args 
- 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: 
- OnDemand TableThroughput On Demand Throughput Args 
- Sets the maximum number of read and write units for the specified on-demand table. See below.
- PointIn TableTime Recovery Point In Time Recovery Args 
- 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_modeisPROVISIONED, this field is required.
- Replicas
[]TableReplica Type Args 
- Configuration block(s) with DynamoDB Global Tables V2 (version 2019.11.21) replication configurations. See below.
- RestoreDate stringTime 
- Time of the point-in-time recovery point to restore.
- RestoreSource stringName 
- Name of the table to restore. Must match the name of an existing table.
- RestoreSource stringTable Arn 
- ARN of the source table to restore. Must be supplied for cross-region restores.
- RestoreTo boolLatest Time 
- If set, restores table to the most recent point-in-time recovery point.
- ServerSide TableEncryption Server Side Encryption Args 
- Encryption at rest options. AWS DynamoDB tables are automatically encrypted at rest with an AWS-owned Customer Master Key if this argument isn't specified. Must be supplied for cross-region restores. See below.
- 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.
- StreamView stringType 
- 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 STANDARDandSTANDARD_INFREQUENT_ACCESS. Default value isSTANDARD.
- map[string]string
- A map of tags to populate on the created table. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- map[string]string
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- Ttl
TableTtl Args 
- Configuration block for TTL. See below.
- WriteCapacity int
- Number of write units for this table. If the billing_modeisPROVISIONED, this field is required.
- arn String
- ARN of the table
- attributes
List<TableAttribute> 
- Set of nested attribute definitions. Only required for hash_keyandrange_keyattributes. See below.
- billingMode String
- Controls how you are charged for read and write throughput and how you manage capacity. The valid values are PROVISIONEDandPAY_PER_REQUEST. Defaults toPROVISIONED.
- deletionProtection BooleanEnabled 
- Enables deletion protection for table. Defaults to false.
- globalSecondary List<TableIndexes Global Secondary Index> 
- 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.
- importTable TableImport Table 
- Import Amazon S3 data into a new table. See below.
- localSecondary List<TableIndexes Local Secondary Index> 
- 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: 
- onDemand TableThroughput On Demand Throughput 
- Sets the maximum number of read and write units for the specified on-demand table. See below.
- pointIn TableTime Recovery Point In Time Recovery 
- 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_modeisPROVISIONED, this field is required.
- replicas
List<TableReplica> 
- Configuration block(s) with DynamoDB Global Tables V2 (version 2019.11.21) replication configurations. See below.
- restoreDate StringTime 
- Time of the point-in-time recovery point to restore.
- restoreSource StringName 
- Name of the table to restore. Must match the name of an existing table.
- restoreSource StringTable Arn 
- ARN of the source table to restore. Must be supplied for cross-region restores.
- restoreTo BooleanLatest Time 
- If set, restores table to the most recent point-in-time recovery point.
- serverSide TableEncryption Server Side Encryption 
- Encryption at rest options. AWS DynamoDB tables are automatically encrypted at rest with an AWS-owned Customer Master Key if this argument isn't specified. Must be supplied for cross-region restores. See below.
- 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.
- streamView StringType 
- 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 STANDARDandSTANDARD_INFREQUENT_ACCESS. Default value isSTANDARD.
- Map<String,String>
- A map of tags to populate on the created table. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Map<String,String>
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- ttl
TableTtl 
- Configuration block for TTL. See below.
- writeCapacity Integer
- Number of write units for this table. If the billing_modeisPROVISIONED, this field is required.
- arn string
- ARN of the table
- attributes
TableAttribute[] 
- Set of nested attribute definitions. Only required for hash_keyandrange_keyattributes. See below.
- billingMode string
- Controls how you are charged for read and write throughput and how you manage capacity. The valid values are PROVISIONEDandPAY_PER_REQUEST. Defaults toPROVISIONED.
- deletionProtection booleanEnabled 
- Enables deletion protection for table. Defaults to false.
- globalSecondary TableIndexes Global Secondary Index[] 
- 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.
- importTable TableImport Table 
- Import Amazon S3 data into a new table. See below.
- localSecondary TableIndexes Local Secondary Index[] 
- 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: 
- onDemand TableThroughput On Demand Throughput 
- Sets the maximum number of read and write units for the specified on-demand table. See below.
- pointIn TableTime Recovery Point In Time Recovery 
- 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_modeisPROVISIONED, this field is required.
- replicas
TableReplica[] 
- Configuration block(s) with DynamoDB Global Tables V2 (version 2019.11.21) replication configurations. See below.
- restoreDate stringTime 
- Time of the point-in-time recovery point to restore.
- restoreSource stringName 
- Name of the table to restore. Must match the name of an existing table.
- restoreSource stringTable Arn 
- ARN of the source table to restore. Must be supplied for cross-region restores.
- restoreTo booleanLatest Time 
- If set, restores table to the most recent point-in-time recovery point.
- serverSide TableEncryption Server Side Encryption 
- Encryption at rest options. AWS DynamoDB tables are automatically encrypted at rest with an AWS-owned Customer Master Key if this argument isn't specified. Must be supplied for cross-region restores. See below.
- 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.
- streamView stringType 
- 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 STANDARDandSTANDARD_INFREQUENT_ACCESS. Default value isSTANDARD.
- {[key: string]: string}
- A map of tags to populate on the created table. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- {[key: string]: string}
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- ttl
TableTtl 
- Configuration block for TTL. See below.
- writeCapacity number
- Number of write units for this table. If the billing_modeisPROVISIONED, this field is required.
- arn str
- ARN of the table
- attributes
Sequence[TableAttribute Args] 
- Set of nested attribute definitions. Only required for hash_keyandrange_keyattributes. See below.
- billing_mode str
- Controls how you are charged for read and write throughput and how you manage capacity. The valid values are PROVISIONEDandPAY_PER_REQUEST. Defaults toPROVISIONED.
- deletion_protection_ boolenabled 
- Enables deletion protection for table. Defaults to false.
- global_secondary_ Sequence[Tableindexes Global Secondary Index Args] 
- 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.
- import_table TableImport Table Args 
- Import Amazon S3 data into a new table. See below.
- local_secondary_ Sequence[Tableindexes Local Secondary Index Args] 
- 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: 
- on_demand_ Tablethroughput On Demand Throughput Args 
- Sets the maximum number of read and write units for the specified on-demand table. See below.
- point_in_ Tabletime_ recovery Point In Time Recovery Args 
- 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_modeisPROVISIONED, this field is required.
- replicas
Sequence[TableReplica Args] 
- Configuration block(s) with DynamoDB Global Tables V2 (version 2019.11.21) replication configurations. See below.
- restore_date_ strtime 
- Time of the point-in-time recovery point to restore.
- restore_source_ strname 
- Name of the table to restore. Must match the name of an existing table.
- restore_source_ strtable_ arn 
- ARN of the source table to restore. Must be supplied for cross-region restores.
- restore_to_ boollatest_ time 
- If set, restores table to the most recent point-in-time recovery point.
- server_side_ Tableencryption Server Side Encryption Args 
- Encryption at rest options. AWS DynamoDB tables are automatically encrypted at rest with an AWS-owned Customer Master Key if this argument isn't specified. Must be supplied for cross-region restores. See below.
- 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_ strtype 
- 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 STANDARDandSTANDARD_INFREQUENT_ACCESS. Default value isSTANDARD.
- Mapping[str, str]
- A map of tags to populate on the created table. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Mapping[str, str]
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- ttl
TableTtl Args 
- Configuration block for TTL. See below.
- write_capacity int
- Number of write units for this table. If the billing_modeisPROVISIONED, this field is required.
- arn String
- ARN of the table
- attributes List<Property Map>
- Set of nested attribute definitions. Only required for hash_keyandrange_keyattributes. See below.
- billingMode String
- Controls how you are charged for read and write throughput and how you manage capacity. The valid values are PROVISIONEDandPAY_PER_REQUEST. Defaults toPROVISIONED.
- deletionProtection BooleanEnabled 
- Enables deletion protection for table. Defaults to false.
- globalSecondary List<Property Map>Indexes 
- 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.
- importTable Property Map
- Import Amazon S3 data into a new table. See below.
- localSecondary List<Property Map>Indexes 
- 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: 
- onDemand Property MapThroughput 
- Sets the maximum number of read and write units for the specified on-demand table. See below.
- pointIn Property MapTime Recovery 
- 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_modeisPROVISIONED, this field is required.
- replicas List<Property Map>
- Configuration block(s) with DynamoDB Global Tables V2 (version 2019.11.21) replication configurations. See below.
- restoreDate StringTime 
- Time of the point-in-time recovery point to restore.
- restoreSource StringName 
- Name of the table to restore. Must match the name of an existing table.
- restoreSource StringTable Arn 
- ARN of the source table to restore. Must be supplied for cross-region restores.
- restoreTo BooleanLatest Time 
- If set, restores table to the most recent point-in-time recovery point.
- serverSide Property MapEncryption 
- Encryption at rest options. AWS DynamoDB tables are automatically encrypted at rest with an AWS-owned Customer Master Key if this argument isn't specified. Must be supplied for cross-region restores. See below.
- 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.
- streamView StringType 
- 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 STANDARDandSTANDARD_INFREQUENT_ACCESS. Default value isSTANDARD.
- Map<String>
- A map of tags to populate on the created table. If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Map<String>
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- ttl Property Map
- Configuration block for TTL. See below.
- writeCapacity Number
- Number of write units for this table. If the billing_modeisPROVISIONED, this field is required.
Supporting Types
TableAttribute, TableAttributeArgs    
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,INCLUDEorKEYS_ONLYwhereALLprojects every attribute into the index,KEYS_ONLYprojects into the index only the table and index hash_key and sort_key attributes ,INCLUDEprojects into the index all of the attributes that are defined innon_key_attributesin addition to the attributes that thatKEYS_ONLYproject.
- NonKey List<string>Attributes 
- Only required with INCLUDEas a projection type; a list of attributes to project into the index. These do not need to be defined as attributes on the table.
- OnDemand TableThroughput Global Secondary Index On Demand Throughput 
- Sets the maximum number of read and write units for the specified on-demand table. See below.
- 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,INCLUDEorKEYS_ONLYwhereALLprojects every attribute into the index,KEYS_ONLYprojects into the index only the table and index hash_key and sort_key attributes ,INCLUDEprojects into the index all of the attributes that are defined innon_key_attributesin addition to the attributes that thatKEYS_ONLYproject.
- NonKey []stringAttributes 
- Only required with INCLUDEas a projection type; a list of attributes to project into the index. These do not need to be defined as attributes on the table.
- OnDemand TableThroughput Global Secondary Index On Demand Throughput 
- Sets the maximum number of read and write units for the specified on-demand table. See below.
- 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,INCLUDEorKEYS_ONLYwhereALLprojects every attribute into the index,KEYS_ONLYprojects into the index only the table and index hash_key and sort_key attributes ,INCLUDEprojects into the index all of the attributes that are defined innon_key_attributesin addition to the attributes that thatKEYS_ONLYproject.
- nonKey List<String>Attributes 
- Only required with INCLUDEas a projection type; a list of attributes to project into the index. These do not need to be defined as attributes on the table.
- onDemand TableThroughput Global Secondary Index On Demand Throughput 
- Sets the maximum number of read and write units for the specified on-demand table. See below.
- 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,INCLUDEorKEYS_ONLYwhereALLprojects every attribute into the index,KEYS_ONLYprojects into the index only the table and index hash_key and sort_key attributes ,INCLUDEprojects into the index all of the attributes that are defined innon_key_attributesin addition to the attributes that thatKEYS_ONLYproject.
- nonKey string[]Attributes 
- Only required with INCLUDEas a projection type; a list of attributes to project into the index. These do not need to be defined as attributes on the table.
- onDemand TableThroughput Global Secondary Index On Demand Throughput 
- Sets the maximum number of read and write units for the specified on-demand table. See below.
- 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,INCLUDEorKEYS_ONLYwhereALLprojects every attribute into the index,KEYS_ONLYprojects into the index only the table and index hash_key and sort_key attributes ,INCLUDEprojects into the index all of the attributes that are defined innon_key_attributesin addition to the attributes that thatKEYS_ONLYproject.
- non_key_ Sequence[str]attributes 
- Only required with INCLUDEas a projection type; a list of attributes to project into the index. These do not need to be defined as attributes on the table.
- on_demand_ Tablethroughput Global Secondary Index On Demand Throughput 
- Sets the maximum number of read and write units for the specified on-demand table. See below.
- 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,INCLUDEorKEYS_ONLYwhereALLprojects every attribute into the index,KEYS_ONLYprojects into the index only the table and index hash_key and sort_key attributes ,INCLUDEprojects into the index all of the attributes that are defined innon_key_attributesin addition to the attributes that thatKEYS_ONLYproject.
- nonKey List<String>Attributes 
- Only required with INCLUDEas a projection type; a list of attributes to project into the index. These do not need to be defined as attributes on the table.
- onDemand Property MapThroughput 
- Sets the maximum number of read and write units for the specified on-demand table. See below.
- 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.
TableGlobalSecondaryIndexOnDemandThroughput, TableGlobalSecondaryIndexOnDemandThroughputArgs              
- MaxRead intRequest Units 
- Maximum number of read request units for the specified table. To specify set the value greater than or equal to 1. To remove set the value to -1.
- MaxWrite intRequest Units 
- Maximum number of write request units for the specified table. To specify set the value greater than or equal to 1. To remove set the value to -1.
- MaxRead intRequest Units 
- Maximum number of read request units for the specified table. To specify set the value greater than or equal to 1. To remove set the value to -1.
- MaxWrite intRequest Units 
- Maximum number of write request units for the specified table. To specify set the value greater than or equal to 1. To remove set the value to -1.
- maxRead IntegerRequest Units 
- Maximum number of read request units for the specified table. To specify set the value greater than or equal to 1. To remove set the value to -1.
- maxWrite IntegerRequest Units 
- Maximum number of write request units for the specified table. To specify set the value greater than or equal to 1. To remove set the value to -1.
- maxRead numberRequest Units 
- Maximum number of read request units for the specified table. To specify set the value greater than or equal to 1. To remove set the value to -1.
- maxWrite numberRequest Units 
- Maximum number of write request units for the specified table. To specify set the value greater than or equal to 1. To remove set the value to -1.
- max_read_ intrequest_ units 
- Maximum number of read request units for the specified table. To specify set the value greater than or equal to 1. To remove set the value to -1.
- max_write_ intrequest_ units 
- Maximum number of write request units for the specified table. To specify set the value greater than or equal to 1. To remove set the value to -1.
- maxRead NumberRequest Units 
- Maximum number of read request units for the specified table. To specify set the value greater than or equal to 1. To remove set the value to -1.
- maxWrite NumberRequest Units 
- Maximum number of write request units for the specified table. To specify set the value greater than or equal to 1. To remove set the value to -1.
TableImportTable, TableImportTableArgs      
- InputFormat string
- The format of the source data.
Valid values are CSV,DYNAMODB_JSON, andION.
- S3BucketSource TableImport Table S3Bucket Source 
- Values for the S3 bucket the source file is imported from. See below.
- InputCompression stringType 
- Type of compression to be used on the input coming from the imported table.
Valid values are GZIP,ZSTDandNONE.
- InputFormat TableOptions Import Table Input Format Options 
- Describe the format options for the data that was imported into the target table.
There is one value, csv. See below.
- InputFormat string
- The format of the source data.
Valid values are CSV,DYNAMODB_JSON, andION.
- S3BucketSource TableImport Table S3Bucket Source 
- Values for the S3 bucket the source file is imported from. See below.
- InputCompression stringType 
- Type of compression to be used on the input coming from the imported table.
Valid values are GZIP,ZSTDandNONE.
- InputFormat TableOptions Import Table Input Format Options 
- Describe the format options for the data that was imported into the target table.
There is one value, csv. See below.
- inputFormat String
- The format of the source data.
Valid values are CSV,DYNAMODB_JSON, andION.
- s3BucketSource TableImport Table S3Bucket Source 
- Values for the S3 bucket the source file is imported from. See below.
- inputCompression StringType 
- Type of compression to be used on the input coming from the imported table.
Valid values are GZIP,ZSTDandNONE.
- inputFormat TableOptions Import Table Input Format Options 
- Describe the format options for the data that was imported into the target table.
There is one value, csv. See below.
- inputFormat string
- The format of the source data.
Valid values are CSV,DYNAMODB_JSON, andION.
- s3BucketSource TableImport Table S3Bucket Source 
- Values for the S3 bucket the source file is imported from. See below.
- inputCompression stringType 
- Type of compression to be used on the input coming from the imported table.
Valid values are GZIP,ZSTDandNONE.
- inputFormat TableOptions Import Table Input Format Options 
- Describe the format options for the data that was imported into the target table.
There is one value, csv. See below.
- input_format str
- The format of the source data.
Valid values are CSV,DYNAMODB_JSON, andION.
- s3_bucket_ Tablesource Import Table S3Bucket Source 
- Values for the S3 bucket the source file is imported from. See below.
- input_compression_ strtype 
- Type of compression to be used on the input coming from the imported table.
Valid values are GZIP,ZSTDandNONE.
- input_format_ Tableoptions Import Table Input Format Options 
- Describe the format options for the data that was imported into the target table.
There is one value, csv. See below.
- inputFormat String
- The format of the source data.
Valid values are CSV,DYNAMODB_JSON, andION.
- s3BucketSource Property Map
- Values for the S3 bucket the source file is imported from. See below.
- inputCompression StringType 
- Type of compression to be used on the input coming from the imported table.
Valid values are GZIP,ZSTDandNONE.
- inputFormat Property MapOptions 
- Describe the format options for the data that was imported into the target table.
There is one value, csv. See below.
TableImportTableInputFormatOptions, TableImportTableInputFormatOptionsArgs            
- Csv
TableImport Table Input Format Options Csv 
- This block contains the processing options for the CSV file being imported:
- Csv
TableImport Table Input Format Options Csv 
- This block contains the processing options for the CSV file being imported:
- csv
TableImport Table Input Format Options Csv 
- This block contains the processing options for the CSV file being imported:
- csv
TableImport Table Input Format Options Csv 
- This block contains the processing options for the CSV file being imported:
- csv
TableImport Table Input Format Options Csv 
- This block contains the processing options for the CSV file being imported:
- csv Property Map
- This block contains the processing options for the CSV file being imported:
TableImportTableInputFormatOptionsCsv, TableImportTableInputFormatOptionsCsvArgs              
- Delimiter string
- The delimiter used for separating items in the CSV file being imported.
- HeaderLists List<string>
- List of the headers used to specify a common header for all source CSV files being imported.
- Delimiter string
- The delimiter used for separating items in the CSV file being imported.
- HeaderLists []string
- List of the headers used to specify a common header for all source CSV files being imported.
- delimiter String
- The delimiter used for separating items in the CSV file being imported.
- headerLists List<String>
- List of the headers used to specify a common header for all source CSV files being imported.
- delimiter string
- The delimiter used for separating items in the CSV file being imported.
- headerLists string[]
- List of the headers used to specify a common header for all source CSV files being imported.
- delimiter str
- The delimiter used for separating items in the CSV file being imported.
- header_lists Sequence[str]
- List of the headers used to specify a common header for all source CSV files being imported.
- delimiter String
- The delimiter used for separating items in the CSV file being imported.
- headerLists List<String>
- List of the headers used to specify a common header for all source CSV files being imported.
TableImportTableS3BucketSource, TableImportTableS3BucketSourceArgs          
- Bucket string
- The S3 bucket that is being imported from.
- BucketOwner string
- The account number of the S3 bucket that is being imported from.
- KeyPrefix string
- The key prefix shared by all S3 Objects that are being imported.
- Bucket string
- The S3 bucket that is being imported from.
- BucketOwner string
- The account number of the S3 bucket that is being imported from.
- KeyPrefix string
- The key prefix shared by all S3 Objects that are being imported.
- bucket String
- The S3 bucket that is being imported from.
- bucketOwner String
- The account number of the S3 bucket that is being imported from.
- keyPrefix String
- The key prefix shared by all S3 Objects that are being imported.
- bucket string
- The S3 bucket that is being imported from.
- bucketOwner string
- The account number of the S3 bucket that is being imported from.
- keyPrefix string
- The key prefix shared by all S3 Objects that are being imported.
- bucket str
- The S3 bucket that is being imported from.
- bucket_owner str
- The account number of the S3 bucket that is being imported from.
- key_prefix str
- The key prefix shared by all S3 Objects that are being imported.
- bucket String
- The S3 bucket that is being imported from.
- bucketOwner String
- The account number of the S3 bucket that is being imported from.
- keyPrefix String
- The key prefix shared by all S3 Objects that are being imported.
TableLocalSecondaryIndex, TableLocalSecondaryIndexArgs        
- Name string
- Name of the index
- ProjectionType string
- One of ALL,INCLUDEorKEYS_ONLYwhereALLprojects every attribute into the index,KEYS_ONLYprojects into the index only the table and index hash_key and sort_key attributes ,INCLUDEprojects into the index all of the attributes that are defined innon_key_attributesin addition to the attributes that thatKEYS_ONLYproject.
- RangeKey string
- Name of the range key.
- NonKey List<string>Attributes 
- Only required with INCLUDEas 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,INCLUDEorKEYS_ONLYwhereALLprojects every attribute into the index,KEYS_ONLYprojects into the index only the table and index hash_key and sort_key attributes ,INCLUDEprojects into the index all of the attributes that are defined innon_key_attributesin addition to the attributes that thatKEYS_ONLYproject.
- RangeKey string
- Name of the range key.
- NonKey []stringAttributes 
- Only required with INCLUDEas 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,INCLUDEorKEYS_ONLYwhereALLprojects every attribute into the index,KEYS_ONLYprojects into the index only the table and index hash_key and sort_key attributes ,INCLUDEprojects into the index all of the attributes that are defined innon_key_attributesin addition to the attributes that thatKEYS_ONLYproject.
- rangeKey String
- Name of the range key.
- nonKey List<String>Attributes 
- Only required with INCLUDEas 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,INCLUDEorKEYS_ONLYwhereALLprojects every attribute into the index,KEYS_ONLYprojects into the index only the table and index hash_key and sort_key attributes ,INCLUDEprojects into the index all of the attributes that are defined innon_key_attributesin addition to the attributes that thatKEYS_ONLYproject.
- rangeKey string
- Name of the range key.
- nonKey string[]Attributes 
- Only required with INCLUDEas 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,INCLUDEorKEYS_ONLYwhereALLprojects every attribute into the index,KEYS_ONLYprojects into the index only the table and index hash_key and sort_key attributes ,INCLUDEprojects into the index all of the attributes that are defined innon_key_attributesin addition to the attributes that thatKEYS_ONLYproject.
- range_key str
- Name of the range key.
- non_key_ Sequence[str]attributes 
- Only required with INCLUDEas 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,INCLUDEorKEYS_ONLYwhereALLprojects every attribute into the index,KEYS_ONLYprojects into the index only the table and index hash_key and sort_key attributes ,INCLUDEprojects into the index all of the attributes that are defined innon_key_attributesin addition to the attributes that thatKEYS_ONLYproject.
- rangeKey String
- Name of the range key.
- nonKey List<String>Attributes 
- Only required with INCLUDEas a projection type; a list of attributes to project into the index. These do not need to be defined as attributes on the table.
TableOnDemandThroughput, TableOnDemandThroughputArgs        
- MaxRead intRequest Units 
- Maximum number of read request units for the specified table. To specify set the value greater than or equal to 1. To remove set the value to -1.
- MaxWrite intRequest Units 
- Maximum number of write request units for the specified table. To specify set the value greater than or equal to 1. To remove set the value to -1.
- MaxRead intRequest Units 
- Maximum number of read request units for the specified table. To specify set the value greater than or equal to 1. To remove set the value to -1.
- MaxWrite intRequest Units 
- Maximum number of write request units for the specified table. To specify set the value greater than or equal to 1. To remove set the value to -1.
- maxRead IntegerRequest Units 
- Maximum number of read request units for the specified table. To specify set the value greater than or equal to 1. To remove set the value to -1.
- maxWrite IntegerRequest Units 
- Maximum number of write request units for the specified table. To specify set the value greater than or equal to 1. To remove set the value to -1.
- maxRead numberRequest Units 
- Maximum number of read request units for the specified table. To specify set the value greater than or equal to 1. To remove set the value to -1.
- maxWrite numberRequest Units 
- Maximum number of write request units for the specified table. To specify set the value greater than or equal to 1. To remove set the value to -1.
- max_read_ intrequest_ units 
- Maximum number of read request units for the specified table. To specify set the value greater than or equal to 1. To remove set the value to -1.
- max_write_ intrequest_ units 
- Maximum number of write request units for the specified table. To specify set the value greater than or equal to 1. To remove set the value to -1.
- maxRead NumberRequest Units 
- Maximum number of read request units for the specified table. To specify set the value greater than or equal to 1. To remove set the value to -1.
- maxWrite NumberRequest Units 
- Maximum number of write request units for the specified table. To specify set the value greater than or equal to 1. To remove set the value to -1.
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_recoveryblock is not provided, this defaults tofalse.
- Enabled bool
- Whether to enable point-in-time recovery. It can take 10 minutes to enable for new tables. If the point_in_time_recoveryblock is not provided, this defaults tofalse.
- enabled Boolean
- Whether to enable point-in-time recovery. It can take 10 minutes to enable for new tables. If the point_in_time_recoveryblock is not provided, this defaults tofalse.
- enabled boolean
- Whether to enable point-in-time recovery. It can take 10 minutes to enable for new tables. If the point_in_time_recoveryblock is not provided, this defaults tofalse.
- enabled bool
- Whether to enable point-in-time recovery. It can take 10 minutes to enable for new tables. If the point_in_time_recoveryblock is not provided, this defaults tofalse.
- enabled Boolean
- Whether to enable point-in-time recovery. It can take 10 minutes to enable for new tables. If the point_in_time_recoveryblock is not provided, this defaults tofalse.
TableReplica, TableReplicaArgs    
- RegionName string
- Region name of the replica.
- Arn string
- ARN of the table
- KmsKey stringArn 
- 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. Note: Changing this value will recreate the replica.
- PointIn boolTime Recovery 
- Whether to enable Point In Time Recovery for the replica. Default is false.
- 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. Tag drift on a replica will not trigger an update. Tag changes on the global table are propagated to replicas. Changing fromtruetofalseon a subsequentapplyleaves replica tags as-is and no longer manages them.
- 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
- KmsKey stringArn 
- 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. Note: Changing this value will recreate the replica.
- PointIn boolTime Recovery 
- Whether to enable Point In Time Recovery for the replica. Default is false.
- 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. Tag drift on a replica will not trigger an update. Tag changes on the global table are propagated to replicas. Changing fromtruetofalseon a subsequentapplyleaves replica tags as-is and no longer manages them.
- 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
- kmsKey StringArn 
- 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. Note: Changing this value will recreate the replica.
- pointIn BooleanTime Recovery 
- Whether to enable Point In Time Recovery for the replica. Default is false.
- 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. Tag drift on a replica will not trigger an update. Tag changes on the global table are propagated to replicas. Changing fromtruetofalseon a subsequentapplyleaves replica tags as-is and no longer manages them.
- 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
- kmsKey stringArn 
- 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. Note: Changing this value will recreate the replica.
- pointIn booleanTime Recovery 
- Whether to enable Point In Time Recovery for the replica. Default is false.
- 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. Tag drift on a replica will not trigger an update. Tag changes on the global table are propagated to replicas. Changing fromtruetofalseon a subsequentapplyleaves replica tags as-is and no longer manages them.
- 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_ strarn 
- 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. Note: Changing this value will recreate the replica.
- point_in_ booltime_ recovery 
- Whether to enable Point In Time Recovery for the replica. Default is false.
- 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. Tag drift on a replica will not trigger an update. Tag changes on the global table are propagated to replicas. Changing fromtruetofalseon a subsequentapplyleaves replica tags as-is and no longer manages them.
- 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
- kmsKey StringArn 
- 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. Note: Changing this value will recreate the replica.
- pointIn BooleanTime Recovery 
- Whether to enable Point In Time Recovery for the replica. Default is false.
- 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. Tag drift on a replica will not trigger an update. Tag changes on the global table are propagated to replicas. Changing fromtruetofalseon a subsequentapplyleaves replica tags as-is and no longer manages them.
- 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 enabledisfalsethen server-side encryption is set to AWS-owned key (shown asDEFAULTin the AWS console). Potentially confusingly, ifenabledistrueand nokms_key_arnis specified then server-side encryption is set to the default KMS-managed key (shown asKMSin the AWS console). The AWS KMS documentation explains the difference between AWS-owned and KMS-managed keys.
- KmsKey stringArn 
- 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 enabledisfalsethen server-side encryption is set to AWS-owned key (shown asDEFAULTin the AWS console). Potentially confusingly, ifenabledistrueand nokms_key_arnis specified then server-side encryption is set to the default KMS-managed key (shown asKMSin the AWS console). The AWS KMS documentation explains the difference between AWS-owned and KMS-managed keys.
- KmsKey stringArn 
- 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 enabledisfalsethen server-side encryption is set to AWS-owned key (shown asDEFAULTin the AWS console). Potentially confusingly, ifenabledistrueand nokms_key_arnis specified then server-side encryption is set to the default KMS-managed key (shown asKMSin the AWS console). The AWS KMS documentation explains the difference between AWS-owned and KMS-managed keys.
- kmsKey StringArn 
- 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 enabledisfalsethen server-side encryption is set to AWS-owned key (shown asDEFAULTin the AWS console). Potentially confusingly, ifenabledistrueand nokms_key_arnis specified then server-side encryption is set to the default KMS-managed key (shown asKMSin the AWS console). The AWS KMS documentation explains the difference between AWS-owned and KMS-managed keys.
- kmsKey stringArn 
- 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 enabledisfalsethen server-side encryption is set to AWS-owned key (shown asDEFAULTin the AWS console). Potentially confusingly, ifenabledistrueand nokms_key_arnis specified then server-side encryption is set to the default KMS-managed key (shown asKMSin the AWS console). The AWS KMS documentation explains the difference between AWS-owned and KMS-managed keys.
- kms_key_ strarn 
- 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 enabledisfalsethen server-side encryption is set to AWS-owned key (shown asDEFAULTin the AWS console). Potentially confusingly, ifenabledistrueand nokms_key_arnis specified then server-side encryption is set to the default KMS-managed key (shown asKMSin the AWS console). The AWS KMS documentation explains the difference between AWS-owned and KMS-managed keys.
- kmsKey StringArn 
- 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.
Required if enabledistrue, must not be set otherwise.
- Enabled bool
- Whether TTL is enabled.
Default value is false.
- AttributeName string
- Name of the table attribute to store the TTL timestamp in.
Required if enabledistrue, must not be set otherwise.
- Enabled bool
- Whether TTL is enabled.
Default value is false.
- attributeName String
- Name of the table attribute to store the TTL timestamp in.
Required if enabledistrue, must not be set otherwise.
- enabled Boolean
- Whether TTL is enabled.
Default value is false.
- attributeName string
- Name of the table attribute to store the TTL timestamp in.
Required if enabledistrue, must not be set otherwise.
- enabled boolean
- Whether TTL is enabled.
Default value is false.
- attribute_name str
- Name of the table attribute to store the TTL timestamp in.
Required if enabledistrue, must not be set otherwise.
- enabled bool
- Whether TTL is enabled.
Default value is false.
- attributeName String
- Name of the table attribute to store the TTL timestamp in.
Required if enabledistrue, must not be set otherwise.
- enabled Boolean
- Whether TTL is enabled.
Default value is false.
Import
Using pulumi import, import DynamoDB tables using the name. For example:
$ pulumi import aws:dynamodb/table:Table basic-dynamodb-table GameScores
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- AWS Classic pulumi/pulumi-aws
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the awsTerraform Provider.