aws.dynamodb.Table
Explore with Pulumi AI
Provides a DynamoDB table resource.
Note: It is recommended to use
ignoreChanges
forread_capacity
and/orwrite_capacity
if there’sautoscaling policy
attached to the table.
Note: When using aws.dynamodb.TableReplica with this resource, use
lifecycle
ignore_changes
forreplica
, 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
replica
configuration blocks ofaws.dynamodb.Table
together 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<Table
Attribute> - Set of nested attribute definitions. Only required for
hash_key
andrange_key
attributes. See below. - Billing
Mode string - Controls how you are charged for read and write throughput and how you manage capacity. The valid values are
PROVISIONED
andPAY_PER_REQUEST
. Defaults toPROVISIONED
. - Deletion
Protection boolEnabled - Enables deletion protection for table. Defaults to
false
. - Global
Secondary 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.
- Hash
Key string - Attribute to use as the hash (partition) key. Must also be defined as an
attribute
. See below. - Import
Table TableImport Table - Import Amazon S3 data into a new table. See below.
- Local
Secondary 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:
- On
Demand TableThroughput On Demand Throughput - 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 - Enable point-in-time recovery options. See below.
- Range
Key string - Attribute to use as the range (sort) key. Must also be defined as an
attribute
, see below. - Read
Capacity int - Number of read units for this table. If the
billing_mode
isPROVISIONED
, this field is required. - Replicas
List<Table
Replica> - Configuration block(s) with DynamoDB Global Tables V2 (version 2019.11.21) replication configurations. See below.
- Restore
Date stringTime - Time of the point-in-time recovery point to restore.
- Restore
Source stringName - Name of the table to restore. Must match the name of an existing table.
- Restore
Source stringTable 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 - 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 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
. - Table
Class string - Storage class of the table.
Valid values are
STANDARD
andSTANDARD_INFREQUENT_ACCESS
. Default value isSTANDARD
. - Dictionary<string, string>
- A map of tags to populate on the created table. If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level. - Ttl
Table
Ttl - Configuration block for TTL. See below.
- Write
Capacity int - Number of write units for this table. If the
billing_mode
isPROVISIONED
, this field is required.
- Attributes
[]Table
Attribute Args - Set of nested attribute definitions. Only required for
hash_key
andrange_key
attributes. See below. - Billing
Mode string - Controls how you are charged for read and write throughput and how you manage capacity. The valid values are
PROVISIONED
andPAY_PER_REQUEST
. Defaults toPROVISIONED
. - Deletion
Protection boolEnabled - Enables deletion protection for table. Defaults to
false
. - Global
Secondary []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 string - 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 []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:
- 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 string - Attribute to use as the range (sort) key. Must also be defined as an
attribute
, see below. - Read
Capacity int - Number of read units for this table. If the
billing_mode
isPROVISIONED
, this field is required. - Replicas
[]Table
Replica Type Args - Configuration block(s) with DynamoDB Global Tables V2 (version 2019.11.21) replication configurations. See below.
- Restore
Date stringTime - Time of the point-in-time recovery point to restore.
- Restore
Source stringName - Name of the table to restore. Must match the name of an existing table.
- Restore
Source stringTable 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 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
. - Table
Class string - Storage class of the table.
Valid values are
STANDARD
andSTANDARD_INFREQUENT_ACCESS
. Default value isSTANDARD
. - map[string]string
- A map of tags to populate on the created table. If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level. - Ttl
Table
Ttl Args - Configuration block for TTL. See below.
- Write
Capacity int - Number of write units for this table. If the
billing_mode
isPROVISIONED
, this field is required.
- attributes
List<Table
Attribute> - Set of nested attribute definitions. Only required for
hash_key
andrange_key
attributes. See below. - billing
Mode String - Controls how you are charged for read and write throughput and how you manage capacity. The valid values are
PROVISIONED
andPAY_PER_REQUEST
. Defaults toPROVISIONED
. - deletion
Protection BooleanEnabled - Enables deletion protection for table. Defaults to
false
. - global
Secondary 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.
- hash
Key String - Attribute to use as the hash (partition) key. Must also be defined as an
attribute
. See below. - import
Table TableImport Table - Import Amazon S3 data into a new table. See below.
- local
Secondary 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:
- on
Demand TableThroughput On Demand Throughput - 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 - Enable point-in-time recovery options. See below.
- range
Key String - Attribute to use as the range (sort) key. Must also be defined as an
attribute
, see below. - read
Capacity Integer - Number of read units for this table. If the
billing_mode
isPROVISIONED
, this field is required. - replicas
List<Table
Replica> - Configuration block(s) with DynamoDB Global Tables V2 (version 2019.11.21) replication configurations. See below.
- restore
Date StringTime - Time of the point-in-time recovery point to restore.
- restore
Source StringName - Name of the table to restore. Must match the name of an existing table.
- restore
Source StringTable Arn - ARN of the source table to restore. Must be supplied for cross-region restores.
- restore
To BooleanLatest Time - If set, restores table to the most recent point-in-time recovery point.
- server
Side 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.
- stream
Enabled Boolean - Whether Streams are enabled.
- stream
View 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
. - table
Class String - Storage class of the table.
Valid values are
STANDARD
andSTANDARD_INFREQUENT_ACCESS
. Default value isSTANDARD
. - Map<String,String>
- A map of tags to populate on the created table. If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level. - ttl
Table
Ttl - Configuration block for TTL. See below.
- write
Capacity Integer - Number of write units for this table. If the
billing_mode
isPROVISIONED
, this field is required.
- attributes
Table
Attribute[] - Set of nested attribute definitions. Only required for
hash_key
andrange_key
attributes. See below. - billing
Mode string - Controls how you are charged for read and write throughput and how you manage capacity. The valid values are
PROVISIONED
andPAY_PER_REQUEST
. Defaults toPROVISIONED
. - deletion
Protection booleanEnabled - Enables deletion protection for table. Defaults to
false
. - global
Secondary 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.
- hash
Key string - Attribute to use as the hash (partition) key. Must also be defined as an
attribute
. See below. - import
Table TableImport Table - Import Amazon S3 data into a new table. See below.
- local
Secondary 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:
- on
Demand TableThroughput On Demand Throughput - 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 - Enable point-in-time recovery options. See below.
- range
Key string - Attribute to use as the range (sort) key. Must also be defined as an
attribute
, see below. - read
Capacity number - Number of read units for this table. If the
billing_mode
isPROVISIONED
, this field is required. - replicas
Table
Replica[] - Configuration block(s) with DynamoDB Global Tables V2 (version 2019.11.21) replication configurations. See below.
- restore
Date stringTime - Time of the point-in-time recovery point to restore.
- restore
Source stringName - Name of the table to restore. Must match the name of an existing table.
- restore
Source stringTable Arn - ARN of the source table to restore. Must be supplied for cross-region restores.
- restore
To booleanLatest Time - If set, restores table to the most recent point-in-time recovery point.
- server
Side 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.
- stream
Enabled boolean - Whether Streams are enabled.
- stream
View 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
. - table
Class string - Storage class of the table.
Valid values are
STANDARD
andSTANDARD_INFREQUENT_ACCESS
. Default value isSTANDARD
. - {[key: string]: string}
- A map of tags to populate on the created table. If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level. - ttl
Table
Ttl - Configuration block for TTL. See below.
- write
Capacity number - Number of write units for this table. If the
billing_mode
isPROVISIONED
, this field is required.
- attributes
Sequence[Table
Attribute Args] - Set of nested attribute definitions. Only required for
hash_key
andrange_key
attributes. See below. - billing_
mode str - Controls how you are charged for read and write throughput and how you manage capacity. The valid values are
PROVISIONED
andPAY_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_mode
isPROVISIONED
, this field is required. - replicas
Sequence[Table
Replica 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
STANDARD
andSTANDARD_INFREQUENT_ACCESS
. Default value isSTANDARD
. - Mapping[str, str]
- A map of tags to populate on the created table. If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level. - ttl
Table
Ttl Args - Configuration block for TTL. See below.
- write_
capacity int - Number of write units for this table. If the
billing_mode
isPROVISIONED
, this field is required.
- attributes List<Property Map>
- Set of nested attribute definitions. Only required for
hash_key
andrange_key
attributes. See below. - billing
Mode String - Controls how you are charged for read and write throughput and how you manage capacity. The valid values are
PROVISIONED
andPAY_PER_REQUEST
. Defaults toPROVISIONED
. - deletion
Protection BooleanEnabled - Enables deletion protection for table. Defaults to
false
. - global
Secondary 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.
- hash
Key String - Attribute to use as the hash (partition) key. Must also be defined as an
attribute
. See below. - import
Table Property Map - Import Amazon S3 data into a new table. See below.
- local
Secondary 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:
- on
Demand Property MapThroughput - Sets the maximum number of read and write units for the specified on-demand table. See below.
- point
In Property MapTime Recovery - Enable point-in-time recovery options. See below.
- range
Key String - Attribute to use as the range (sort) key. Must also be defined as an
attribute
, see below. - read
Capacity Number - Number of read units for this table. If the
billing_mode
isPROVISIONED
, this field is required. - replicas List<Property Map>
- Configuration block(s) with DynamoDB Global Tables V2 (version 2019.11.21) replication configurations. See below.
- restore
Date StringTime - Time of the point-in-time recovery point to restore.
- restore
Source StringName - Name of the table to restore. Must match the name of an existing table.
- restore
Source StringTable Arn - ARN of the source table to restore. Must be supplied for cross-region restores.
- restore
To BooleanLatest Time - If set, restores table to the most recent point-in-time recovery point.
- server
Side 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.
- stream
Enabled Boolean - Whether Streams are enabled.
- stream
View 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
. - table
Class String - Storage class of the table.
Valid values are
STANDARD
andSTANDARD_INFREQUENT_ACCESS
. Default value isSTANDARD
. - Map<String>
- A map of tags to populate on the created table. If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level. - ttl Property Map
- Configuration block for TTL. See below.
- write
Capacity Number - Number of write units for this table. If the
billing_mode
isPROVISIONED
, 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.
- Stream
Arn string - ARN of the Table Stream. Only available when
stream_enabled = true
- Stream
Label 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_tags
configuration block.
- Arn string
- ARN of the table
- Id string
- The provider-assigned unique ID for this managed resource.
- Stream
Arn string - ARN of the Table Stream. Only available when
stream_enabled = true
- Stream
Label 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_tags
configuration block.
- arn String
- ARN of the table
- id String
- The provider-assigned unique ID for this managed resource.
- stream
Arn String - ARN of the Table Stream. Only available when
stream_enabled = true
- stream
Label 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_tags
configuration block.
- arn string
- ARN of the table
- id string
- The provider-assigned unique ID for this managed resource.
- stream
Arn string - ARN of the Table Stream. Only available when
stream_enabled = true
- stream
Label 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_tags
configuration block.
- arn str
- ARN of the table
- id str
- The provider-assigned unique ID for this managed resource.
- stream_
arn str - ARN of the Table Stream. Only available when
stream_enabled = true
- stream_
label str - Timestamp, in ISO 8601 format, for this stream. Note that this timestamp is not a unique identifier for the stream on its own. However, the combination of AWS customer ID, table name and this field is guaranteed to be unique. It can be used for creating CloudWatch Alarms. Only available when
stream_enabled = true
. - Mapping[str, str]
- Map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block.
- arn String
- ARN of the table
- id String
- The provider-assigned unique ID for this managed resource.
- stream
Arn String - ARN of the Table Stream. Only available when
stream_enabled = true
- stream
Label 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_tags
configuration block.
Look up Existing Table Resource
Get an existing Table resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: TableState, opts?: CustomResourceOptions): Table
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
arn: Optional[str] = None,
attributes: Optional[Sequence[TableAttributeArgs]] = None,
billing_mode: Optional[str] = None,
deletion_protection_enabled: Optional[bool] = None,
global_secondary_indexes: Optional[Sequence[TableGlobalSecondaryIndexArgs]] = None,
hash_key: Optional[str] = None,
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) -> Table
func GetTable(ctx *Context, name string, id IDInput, state *TableState, opts ...ResourceOption) (*Table, error)
public static Table Get(string name, Input<string> id, TableState? state, CustomResourceOptions? opts = null)
public static Table get(String name, Output<String> id, TableState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Arn string
- ARN of the table
- Attributes
List<Table
Attribute> - Set of nested attribute definitions. Only required for
hash_key
andrange_key
attributes. See below. - Billing
Mode string - Controls how you are charged for read and write throughput and how you manage capacity. The valid values are
PROVISIONED
andPAY_PER_REQUEST
. Defaults toPROVISIONED
. - Deletion
Protection boolEnabled - Enables deletion protection for table. Defaults to
false
. - Global
Secondary 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.
- Hash
Key string - Attribute to use as the hash (partition) key. Must also be defined as an
attribute
. See below. - Import
Table TableImport Table - Import Amazon S3 data into a new table. See below.
- Local
Secondary 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:
- On
Demand TableThroughput On Demand Throughput - 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 - Enable point-in-time recovery options. See below.
- Range
Key string - Attribute to use as the range (sort) key. Must also be defined as an
attribute
, see below. - Read
Capacity int - Number of read units for this table. If the
billing_mode
isPROVISIONED
, this field is required. - Replicas
List<Table
Replica> - Configuration block(s) with DynamoDB Global Tables V2 (version 2019.11.21) replication configurations. See below.
- Restore
Date stringTime - Time of the point-in-time recovery point to restore.
- Restore
Source stringName - Name of the table to restore. Must match the name of an existing table.
- Restore
Source stringTable 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 - 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 string - ARN of the Table Stream. Only available when
stream_enabled = true
- Stream
Enabled bool - Whether Streams are enabled.
- Stream
Label 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
. - Stream
View 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
. - Table
Class string - Storage class of the table.
Valid values are
STANDARD
andSTANDARD_INFREQUENT_ACCESS
. Default value isSTANDARD
. - Dictionary<string, string>
- A map of tags to populate on the created table. If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level. - Dictionary<string, string>
- Map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block. - Ttl
Table
Ttl - Configuration block for TTL. See below.
- Write
Capacity int - Number of write units for this table. If the
billing_mode
isPROVISIONED
, this field is required.
- Arn string
- ARN of the table
- Attributes
[]Table
Attribute Args - Set of nested attribute definitions. Only required for
hash_key
andrange_key
attributes. See below. - Billing
Mode string - Controls how you are charged for read and write throughput and how you manage capacity. The valid values are
PROVISIONED
andPAY_PER_REQUEST
. Defaults toPROVISIONED
. - Deletion
Protection boolEnabled - Enables deletion protection for table. Defaults to
false
. - Global
Secondary []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 string - 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 []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:
- 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 string - Attribute to use as the range (sort) key. Must also be defined as an
attribute
, see below. - Read
Capacity int - Number of read units for this table. If the
billing_mode
isPROVISIONED
, this field is required. - Replicas
[]Table
Replica Type Args - Configuration block(s) with DynamoDB Global Tables V2 (version 2019.11.21) replication configurations. See below.
- Restore
Date stringTime - Time of the point-in-time recovery point to restore.
- Restore
Source stringName - Name of the table to restore. Must match the name of an existing table.
- Restore
Source stringTable 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 string - ARN of the Table Stream. Only available when
stream_enabled = true
- Stream
Enabled bool - Whether Streams are enabled.
- Stream
Label 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
. - Stream
View 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
. - Table
Class string - Storage class of the table.
Valid values are
STANDARD
andSTANDARD_INFREQUENT_ACCESS
. Default value isSTANDARD
. - map[string]string
- A map of tags to populate on the created table. If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level. - map[string]string
- Map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block. - Ttl
Table
Ttl Args - Configuration block for TTL. See below.
- Write
Capacity int - Number of write units for this table. If the
billing_mode
isPROVISIONED
, this field is required.
- arn String
- ARN of the table
- attributes
List<Table
Attribute> - Set of nested attribute definitions. Only required for
hash_key
andrange_key
attributes. See below. - billing
Mode String - Controls how you are charged for read and write throughput and how you manage capacity. The valid values are
PROVISIONED
andPAY_PER_REQUEST
. Defaults toPROVISIONED
. - deletion
Protection BooleanEnabled - Enables deletion protection for table. Defaults to
false
. - global
Secondary 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.
- hash
Key String - Attribute to use as the hash (partition) key. Must also be defined as an
attribute
. See below. - import
Table TableImport Table - Import Amazon S3 data into a new table. See below.
- local
Secondary 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:
- on
Demand TableThroughput On Demand Throughput - 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 - Enable point-in-time recovery options. See below.
- range
Key String - Attribute to use as the range (sort) key. Must also be defined as an
attribute
, see below. - read
Capacity Integer - Number of read units for this table. If the
billing_mode
isPROVISIONED
, this field is required. - replicas
List<Table
Replica> - Configuration block(s) with DynamoDB Global Tables V2 (version 2019.11.21) replication configurations. See below.
- restore
Date StringTime - Time of the point-in-time recovery point to restore.
- restore
Source StringName - Name of the table to restore. Must match the name of an existing table.
- restore
Source StringTable Arn - ARN of the source table to restore. Must be supplied for cross-region restores.
- restore
To BooleanLatest Time - If set, restores table to the most recent point-in-time recovery point.
- server
Side 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.
- stream
Arn String - ARN of the Table Stream. Only available when
stream_enabled = true
- stream
Enabled Boolean - Whether Streams are enabled.
- stream
Label 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
. - stream
View 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
. - table
Class String - Storage class of the table.
Valid values are
STANDARD
andSTANDARD_INFREQUENT_ACCESS
. Default value isSTANDARD
. - Map<String,String>
- A map of tags to populate on the created table. If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level. - Map<String,String>
- Map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block. - ttl
Table
Ttl - Configuration block for TTL. See below.
- write
Capacity Integer - Number of write units for this table. If the
billing_mode
isPROVISIONED
, this field is required.
- arn string
- ARN of the table
- attributes
Table
Attribute[] - Set of nested attribute definitions. Only required for
hash_key
andrange_key
attributes. See below. - billing
Mode string - Controls how you are charged for read and write throughput and how you manage capacity. The valid values are
PROVISIONED
andPAY_PER_REQUEST
. Defaults toPROVISIONED
. - deletion
Protection booleanEnabled - Enables deletion protection for table. Defaults to
false
. - global
Secondary 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.
- hash
Key string - Attribute to use as the hash (partition) key. Must also be defined as an
attribute
. See below. - import
Table TableImport Table - Import Amazon S3 data into a new table. See below.
- local
Secondary 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:
- on
Demand TableThroughput On Demand Throughput - 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 - Enable point-in-time recovery options. See below.
- range
Key string - Attribute to use as the range (sort) key. Must also be defined as an
attribute
, see below. - read
Capacity number - Number of read units for this table. If the
billing_mode
isPROVISIONED
, this field is required. - replicas
Table
Replica[] - Configuration block(s) with DynamoDB Global Tables V2 (version 2019.11.21) replication configurations. See below.
- restore
Date stringTime - Time of the point-in-time recovery point to restore.
- restore
Source stringName - Name of the table to restore. Must match the name of an existing table.
- restore
Source stringTable Arn - ARN of the source table to restore. Must be supplied for cross-region restores.
- restore
To booleanLatest Time - If set, restores table to the most recent point-in-time recovery point.
- server
Side 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.
- stream
Arn string - ARN of the Table Stream. Only available when
stream_enabled = true
- stream
Enabled boolean - Whether Streams are enabled.
- stream
Label 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
. - stream
View 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
. - table
Class string - Storage class of the table.
Valid values are
STANDARD
andSTANDARD_INFREQUENT_ACCESS
. Default value isSTANDARD
. - {[key: string]: string}
- A map of tags to populate on the created table. If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level. - {[key: string]: string}
- Map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block. - ttl
Table
Ttl - Configuration block for TTL. See below.
- write
Capacity number - Number of write units for this table. If the
billing_mode
isPROVISIONED
, this field is required.
- arn str
- ARN of the table
- attributes
Sequence[Table
Attribute Args] - Set of nested attribute definitions. Only required for
hash_key
andrange_key
attributes. See below. - billing_
mode str - Controls how you are charged for read and write throughput and how you manage capacity. The valid values are
PROVISIONED
andPAY_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_mode
isPROVISIONED
, this field is required. - replicas
Sequence[Table
Replica 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
STANDARD
andSTANDARD_INFREQUENT_ACCESS
. Default value isSTANDARD
. - Mapping[str, str]
- A map of tags to populate on the created table. If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level. - Mapping[str, str]
- Map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block. - ttl
Table
Ttl Args - Configuration block for TTL. See below.
- write_
capacity int - Number of write units for this table. If the
billing_mode
isPROVISIONED
, this field is required.
- arn String
- ARN of the table
- attributes List<Property Map>
- Set of nested attribute definitions. Only required for
hash_key
andrange_key
attributes. See below. - billing
Mode String - Controls how you are charged for read and write throughput and how you manage capacity. The valid values are
PROVISIONED
andPAY_PER_REQUEST
. Defaults toPROVISIONED
. - deletion
Protection BooleanEnabled - Enables deletion protection for table. Defaults to
false
. - global
Secondary 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.
- hash
Key String - Attribute to use as the hash (partition) key. Must also be defined as an
attribute
. See below. - import
Table Property Map - Import Amazon S3 data into a new table. See below.
- local
Secondary 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:
- on
Demand Property MapThroughput - Sets the maximum number of read and write units for the specified on-demand table. See below.
- point
In Property MapTime Recovery - Enable point-in-time recovery options. See below.
- range
Key String - Attribute to use as the range (sort) key. Must also be defined as an
attribute
, see below. - read
Capacity Number - Number of read units for this table. If the
billing_mode
isPROVISIONED
, this field is required. - replicas List<Property Map>
- Configuration block(s) with DynamoDB Global Tables V2 (version 2019.11.21) replication configurations. See below.
- restore
Date StringTime - Time of the point-in-time recovery point to restore.
- restore
Source StringName - Name of the table to restore. Must match the name of an existing table.
- restore
Source StringTable Arn - ARN of the source table to restore. Must be supplied for cross-region restores.
- restore
To BooleanLatest Time - If set, restores table to the most recent point-in-time recovery point.
- server
Side 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.
- stream
Arn String - ARN of the Table Stream. Only available when
stream_enabled = true
- stream
Enabled Boolean - Whether Streams are enabled.
- stream
Label 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
. - stream
View 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
. - table
Class String - Storage class of the table.
Valid values are
STANDARD
andSTANDARD_INFREQUENT_ACCESS
. Default value isSTANDARD
. - Map<String>
- A map of tags to populate on the created table. If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level. - Map<String>
- Map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block. - ttl Property Map
- Configuration block for TTL. See below.
- write
Capacity Number - Number of write units for this table. If the
billing_mode
isPROVISIONED
, this field is required.
Supporting Types
TableAttribute, TableAttributeArgs
TableGlobalSecondaryIndex, TableGlobalSecondaryIndexArgs
- Hash
Key string - Name of the hash key in the index; must be defined as an attribute in the resource.
- Name string
- Name of the index.
- Projection
Type string - One of
ALL
,INCLUDE
orKEYS_ONLY
whereALL
projects every attribute into the index,KEYS_ONLY
projects into the index only the table and index hash_key and sort_key attributes ,INCLUDE
projects into the index all of the attributes that are defined innon_key_attributes
in addition to the attributes that thatKEYS_ONLY
project. - Non
Key List<string>Attributes - Only required with
INCLUDE
as a projection type; a list of attributes to project into the index. These do not need to be defined as attributes on the table. - 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 string - 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.
- Hash
Key string - Name of the hash key in the index; must be defined as an attribute in the resource.
- Name string
- Name of the index.
- Projection
Type string - One of
ALL
,INCLUDE
orKEYS_ONLY
whereALL
projects every attribute into the index,KEYS_ONLY
projects into the index only the table and index hash_key and sort_key attributes ,INCLUDE
projects into the index all of the attributes that are defined innon_key_attributes
in addition to the attributes that thatKEYS_ONLY
project. - Non
Key []stringAttributes - Only required with
INCLUDE
as a projection type; a list of attributes to project into the index. These do not need to be defined as attributes on the table. - 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 string - 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.
- hash
Key String - Name of the hash key in the index; must be defined as an attribute in the resource.
- name String
- Name of the index.
- projection
Type String - One of
ALL
,INCLUDE
orKEYS_ONLY
whereALL
projects every attribute into the index,KEYS_ONLY
projects into the index only the table and index hash_key and sort_key attributes ,INCLUDE
projects into the index all of the attributes that are defined innon_key_attributes
in addition to the attributes that thatKEYS_ONLY
project. - non
Key List<String>Attributes - Only required with
INCLUDE
as a projection type; a list of attributes to project into the index. These do not need to be defined as attributes on the table. - 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 String - Name of the range key; must be defined
- read
Capacity Integer - Number of read units for this index. Must be set if billing_mode is set to PROVISIONED.
- write
Capacity Integer - Number of write units for this index. Must be set if billing_mode is set to PROVISIONED.
- hash
Key string - Name of the hash key in the index; must be defined as an attribute in the resource.
- name string
- Name of the index.
- projection
Type string - One of
ALL
,INCLUDE
orKEYS_ONLY
whereALL
projects every attribute into the index,KEYS_ONLY
projects into the index only the table and index hash_key and sort_key attributes ,INCLUDE
projects into the index all of the attributes that are defined innon_key_attributes
in addition to the attributes that thatKEYS_ONLY
project. - non
Key string[]Attributes - Only required with
INCLUDE
as a projection type; a list of attributes to project into the index. These do not need to be defined as attributes on the table. - 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 string - Name of the range key; must be defined
- read
Capacity number - Number of read units for this index. Must be set if billing_mode is set to PROVISIONED.
- write
Capacity number - Number of write units for this index. Must be set if billing_mode is set to PROVISIONED.
- hash_
key str - Name of the hash key in the index; must be defined as an attribute in the resource.
- name str
- Name of the index.
- projection_
type str - One of
ALL
,INCLUDE
orKEYS_ONLY
whereALL
projects every attribute into the index,KEYS_ONLY
projects into the index only the table and index hash_key and sort_key attributes ,INCLUDE
projects into the index all of the attributes that are defined innon_key_attributes
in addition to the attributes that thatKEYS_ONLY
project. - non_
key_ Sequence[str]attributes - Only required with
INCLUDE
as a projection type; a list of attributes to project into the index. These do not need to be defined as attributes on the table. - 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.
- hash
Key String - Name of the hash key in the index; must be defined as an attribute in the resource.
- name String
- Name of the index.
- projection
Type String - One of
ALL
,INCLUDE
orKEYS_ONLY
whereALL
projects every attribute into the index,KEYS_ONLY
projects into the index only the table and index hash_key and sort_key attributes ,INCLUDE
projects into the index all of the attributes that are defined innon_key_attributes
in addition to the attributes that thatKEYS_ONLY
project. - non
Key List<String>Attributes - Only required with
INCLUDE
as a projection type; a list of attributes to project into the index. These do not need to be defined as attributes on the table. - on
Demand Property MapThroughput - Sets the maximum number of read and write units for the specified on-demand table. See below.
- range
Key String - Name of the range key; must be defined
- read
Capacity Number - Number of read units for this index. Must be set if billing_mode is set to PROVISIONED.
- write
Capacity Number - Number of write units for this index. Must be set if billing_mode is set to PROVISIONED.
TableGlobalSecondaryIndexOnDemandThroughput, TableGlobalSecondaryIndexOnDemandThroughputArgs
- 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.
- 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.
- max
Read 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.
- max
Write 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.
- max
Read 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.
- max
Write 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.
- max
Read 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.
- max
Write 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
- Input
Format string - The format of the source data.
Valid values are
CSV
,DYNAMODB_JSON
, andION
. - S3Bucket
Source TableImport Table S3Bucket Source - Values for the S3 bucket the source file is imported from. See below.
- Input
Compression stringType - Type of compression to be used on the input coming from the imported table.
Valid values are
GZIP
,ZSTD
andNONE
. - 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.
- Input
Format string - The format of the source data.
Valid values are
CSV
,DYNAMODB_JSON
, andION
. - S3Bucket
Source TableImport Table S3Bucket Source - Values for the S3 bucket the source file is imported from. See below.
- Input
Compression stringType - Type of compression to be used on the input coming from the imported table.
Valid values are
GZIP
,ZSTD
andNONE
. - 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.
- input
Format String - The format of the source data.
Valid values are
CSV
,DYNAMODB_JSON
, andION
. - s3Bucket
Source TableImport Table S3Bucket Source - Values for the S3 bucket the source file is imported from. See below.
- input
Compression StringType - Type of compression to be used on the input coming from the imported table.
Valid values are
GZIP
,ZSTD
andNONE
. - 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.
- input
Format string - The format of the source data.
Valid values are
CSV
,DYNAMODB_JSON
, andION
. - s3Bucket
Source TableImport Table S3Bucket Source - Values for the S3 bucket the source file is imported from. See below.
- input
Compression stringType - Type of compression to be used on the input coming from the imported table.
Valid values are
GZIP
,ZSTD
andNONE
. - 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.
- 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
,ZSTD
andNONE
. - 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.
- input
Format String - The format of the source data.
Valid values are
CSV
,DYNAMODB_JSON
, andION
. - s3Bucket
Source Property Map - Values for the S3 bucket the source file is imported from. See below.
- input
Compression StringType - Type of compression to be used on the input coming from the imported table.
Valid values are
GZIP
,ZSTD
andNONE
. - input
Format 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
Table
Import Table Input Format Options Csv - This block contains the processing options for the CSV file being imported:
- Csv
Table
Import Table Input Format Options Csv - This block contains the processing options for the CSV file being imported:
- csv
Table
Import Table Input Format Options Csv - This block contains the processing options for the CSV file being imported:
- csv
Table
Import Table Input Format Options Csv - This block contains the processing options for the CSV file being imported:
- csv
Table
Import 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.
- Header
Lists 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.
- Header
Lists []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.
- header
Lists 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.
- header
Lists 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.
- header
Lists 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.
- Bucket
Owner string - The account number of the S3 bucket that is being imported from.
- Key
Prefix string - The key prefix shared by all S3 Objects that are being imported.
- Bucket string
- The S3 bucket that is being imported from.
- Bucket
Owner string - The account number of the S3 bucket that is being imported from.
- Key
Prefix string - The key prefix shared by all S3 Objects that are being imported.
- bucket String
- The S3 bucket that is being imported from.
- bucket
Owner String - The account number of the S3 bucket that is being imported from.
- key
Prefix String - The key prefix shared by all S3 Objects that are being imported.
- bucket string
- The S3 bucket that is being imported from.
- bucket
Owner string - The account number of the S3 bucket that is being imported from.
- key
Prefix 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.
- bucket
Owner String - The account number of the S3 bucket that is being imported from.
- key
Prefix String - The key prefix shared by all S3 Objects that are being imported.
TableLocalSecondaryIndex, TableLocalSecondaryIndexArgs
- Name string
- Name of the index
- Projection
Type string - One of
ALL
,INCLUDE
orKEYS_ONLY
whereALL
projects every attribute into the index,KEYS_ONLY
projects into the index only the table and index hash_key and sort_key attributes ,INCLUDE
projects into the index all of the attributes that are defined innon_key_attributes
in addition to the attributes that thatKEYS_ONLY
project. - Range
Key string - Name of the range key.
- Non
Key List<string>Attributes - Only required with
INCLUDE
as a projection type; a list of attributes to project into the index. These do not need to be defined as attributes on the table.
- Name string
- Name of the index
- Projection
Type string - One of
ALL
,INCLUDE
orKEYS_ONLY
whereALL
projects every attribute into the index,KEYS_ONLY
projects into the index only the table and index hash_key and sort_key attributes ,INCLUDE
projects into the index all of the attributes that are defined innon_key_attributes
in addition to the attributes that thatKEYS_ONLY
project. - Range
Key string - Name of the range key.
- Non
Key []stringAttributes - Only required with
INCLUDE
as a projection type; a list of attributes to project into the index. These do not need to be defined as attributes on the table.
- name String
- Name of the index
- projection
Type String - One of
ALL
,INCLUDE
orKEYS_ONLY
whereALL
projects every attribute into the index,KEYS_ONLY
projects into the index only the table and index hash_key and sort_key attributes ,INCLUDE
projects into the index all of the attributes that are defined innon_key_attributes
in addition to the attributes that thatKEYS_ONLY
project. - range
Key String - Name of the range key.
- non
Key List<String>Attributes - Only required with
INCLUDE
as a projection type; a list of attributes to project into the index. These do not need to be defined as attributes on the table.
- name string
- Name of the index
- projection
Type string - One of
ALL
,INCLUDE
orKEYS_ONLY
whereALL
projects every attribute into the index,KEYS_ONLY
projects into the index only the table and index hash_key and sort_key attributes ,INCLUDE
projects into the index all of the attributes that are defined innon_key_attributes
in addition to the attributes that thatKEYS_ONLY
project. - range
Key string - Name of the range key.
- non
Key string[]Attributes - Only required with
INCLUDE
as a projection type; a list of attributes to project into the index. These do not need to be defined as attributes on the table.
- name str
- Name of the index
- projection_
type str - One of
ALL
,INCLUDE
orKEYS_ONLY
whereALL
projects every attribute into the index,KEYS_ONLY
projects into the index only the table and index hash_key and sort_key attributes ,INCLUDE
projects into the index all of the attributes that are defined innon_key_attributes
in addition to the attributes that thatKEYS_ONLY
project. - range_
key str - Name of the range key.
- non_
key_ Sequence[str]attributes - Only required with
INCLUDE
as a projection type; a list of attributes to project into the index. These do not need to be defined as attributes on the table.
- name String
- Name of the index
- projection
Type String - One of
ALL
,INCLUDE
orKEYS_ONLY
whereALL
projects every attribute into the index,KEYS_ONLY
projects into the index only the table and index hash_key and sort_key attributes ,INCLUDE
projects into the index all of the attributes that are defined innon_key_attributes
in addition to the attributes that thatKEYS_ONLY
project. - range
Key String - Name of the range key.
- non
Key List<String>Attributes - Only required with
INCLUDE
as a projection type; a list of attributes to project into the index. These do not need to be defined as attributes on the table.
TableOnDemandThroughput, TableOnDemandThroughputArgs
- 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.
- 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.
- max
Read 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.
- max
Write 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.
- max
Read 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.
- max
Write 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.
- max
Read 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.
- max
Write 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_recovery
block 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_recovery
block 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_recovery
block 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_recovery
block 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_recovery
block 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_recovery
block is not provided, this defaults tofalse
.
TableReplica, TableReplicaArgs
- Region
Name string - Region name of the replica.
- Arn string
- ARN of the table
- Kms
Key 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. - 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. In other words, tag drift on a replica will not trigger an update. Tag or replica changes on the global table, whether from drift or configuration changes, are propagated to replicas. Changing fromtrue
tofalse
on a subsequentapply
means replica tags are left as they were, unmanaged, not deleted. - Stream
Arn string - ARN of the Table Stream. Only available when
stream_enabled = true
- Stream
Label 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 string - Region name of the replica.
- Arn string
- ARN of the table
- Kms
Key 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. - 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. In other words, tag drift on a replica will not trigger an update. Tag or replica changes on the global table, whether from drift or configuration changes, are propagated to replicas. Changing fromtrue
tofalse
on a subsequentapply
means replica tags are left as they were, unmanaged, not deleted. - Stream
Arn string - ARN of the Table Stream. Only available when
stream_enabled = true
- Stream
Label 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 String - Region name of the replica.
- arn String
- ARN of the table
- kms
Key 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. - point
In 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. In other words, tag drift on a replica will not trigger an update. Tag or replica changes on the global table, whether from drift or configuration changes, are propagated to replicas. Changing fromtrue
tofalse
on a subsequentapply
means replica tags are left as they were, unmanaged, not deleted. - stream
Arn String - ARN of the Table Stream. Only available when
stream_enabled = true
- stream
Label 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 string - Region name of the replica.
- arn string
- ARN of the table
- kms
Key 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. - point
In 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. In other words, tag drift on a replica will not trigger an update. Tag or replica changes on the global table, whether from drift or configuration changes, are propagated to replicas. Changing fromtrue
tofalse
on a subsequentapply
means replica tags are left as they were, unmanaged, not deleted. - stream
Arn string - ARN of the Table Stream. Only available when
stream_enabled = true
- stream
Label 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. - 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. In other words, tag drift on a replica will not trigger an update. Tag or replica changes on the global table, whether from drift or configuration changes, are propagated to replicas. Changing fromtrue
tofalse
on a subsequentapply
means replica tags are left as they were, unmanaged, not deleted. - stream_
arn str - ARN of the Table Stream. Only available when
stream_enabled = true
- stream_
label str - Timestamp, in ISO 8601 format, for this stream. Note that this timestamp is not a unique identifier for the stream on its own. However, the combination of AWS customer ID, table name and this field is guaranteed to be unique. It can be used for creating CloudWatch Alarms. Only available when
stream_enabled = true
.
- region
Name String - Region name of the replica.
- arn String
- ARN of the table
- kms
Key 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. - point
In 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. In other words, tag drift on a replica will not trigger an update. Tag or replica changes on the global table, whether from drift or configuration changes, are propagated to replicas. Changing fromtrue
tofalse
on a subsequentapply
means replica tags are left as they were, unmanaged, not deleted. - stream
Arn String - ARN of the Table Stream. Only available when
stream_enabled = true
- stream
Label String - Timestamp, in ISO 8601 format, for this stream. Note that this timestamp is not a unique identifier for the stream on its own. However, the combination of AWS customer ID, table name and this field is guaranteed to be unique. It can be used for creating CloudWatch Alarms. Only available when
stream_enabled = true
.
TableServerSideEncryption, TableServerSideEncryptionArgs
- Enabled bool
- Whether or not to enable encryption at rest using an AWS managed KMS customer master key (CMK). If
enabled
isfalse
then server-side encryption is set to AWS-owned key (shown asDEFAULT
in the AWS console). Potentially confusingly, ifenabled
istrue
and nokms_key_arn
is specified then server-side encryption is set to the default KMS-managed key (shown asKMS
in the AWS console). The AWS KMS documentation explains the difference between AWS-owned and KMS-managed keys. - Kms
Key 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
enabled
isfalse
then server-side encryption is set to AWS-owned key (shown asDEFAULT
in the AWS console). Potentially confusingly, ifenabled
istrue
and nokms_key_arn
is specified then server-side encryption is set to the default KMS-managed key (shown asKMS
in the AWS console). The AWS KMS documentation explains the difference between AWS-owned and KMS-managed keys. - Kms
Key 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
enabled
isfalse
then server-side encryption is set to AWS-owned key (shown asDEFAULT
in the AWS console). Potentially confusingly, ifenabled
istrue
and nokms_key_arn
is specified then server-side encryption is set to the default KMS-managed key (shown asKMS
in the AWS console). The AWS KMS documentation explains the difference between AWS-owned and KMS-managed keys. - kms
Key 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
enabled
isfalse
then server-side encryption is set to AWS-owned key (shown asDEFAULT
in the AWS console). Potentially confusingly, ifenabled
istrue
and nokms_key_arn
is specified then server-side encryption is set to the default KMS-managed key (shown asKMS
in the AWS console). The AWS KMS documentation explains the difference between AWS-owned and KMS-managed keys. - kms
Key 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
enabled
isfalse
then server-side encryption is set to AWS-owned key (shown asDEFAULT
in the AWS console). Potentially confusingly, ifenabled
istrue
and nokms_key_arn
is specified then server-side encryption is set to the default KMS-managed key (shown asKMS
in 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
enabled
isfalse
then server-side encryption is set to AWS-owned key (shown asDEFAULT
in the AWS console). Potentially confusingly, ifenabled
istrue
and nokms_key_arn
is specified then server-side encryption is set to the default KMS-managed key (shown asKMS
in the AWS console). The AWS KMS documentation explains the difference between AWS-owned and KMS-managed keys. - kms
Key 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
- Attribute
Name string - Name of the table attribute to store the TTL timestamp in.
Required if
enabled
istrue
, must not be set otherwise. - Enabled bool
- Whether TTL is enabled.
Default value is
false
.
- Attribute
Name string - Name of the table attribute to store the TTL timestamp in.
Required if
enabled
istrue
, must not be set otherwise. - Enabled bool
- Whether TTL is enabled.
Default value is
false
.
- attribute
Name String - Name of the table attribute to store the TTL timestamp in.
Required if
enabled
istrue
, must not be set otherwise. - enabled Boolean
- Whether TTL is enabled.
Default value is
false
.
- attribute
Name string - Name of the table attribute to store the TTL timestamp in.
Required if
enabled
istrue
, 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
enabled
istrue
, must not be set otherwise. - enabled bool
- Whether TTL is enabled.
Default value is
false
.
- attribute
Name String - Name of the table attribute to store the TTL timestamp in.
Required if
enabled
istrue
, 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
aws
Terraform Provider.