aws.dynamodb.Table
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
using System.Collections.Generic;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var basic_dynamodb_table = new Aws.DynamoDB.Table("basic-dynamodb-table", new()
{
Attributes = new[]
{
new Aws.DynamoDB.Inputs.TableAttributeArgs
{
Name = "UserId",
Type = "S",
},
new Aws.DynamoDB.Inputs.TableAttributeArgs
{
Name = "GameTitle",
Type = "S",
},
new Aws.DynamoDB.Inputs.TableAttributeArgs
{
Name = "TopScore",
Type = "N",
},
},
BillingMode = "PROVISIONED",
GlobalSecondaryIndexes = new[]
{
new Aws.DynamoDB.Inputs.TableGlobalSecondaryIndexArgs
{
HashKey = "GameTitle",
Name = "GameTitleIndex",
NonKeyAttributes = new[]
{
"UserId",
},
ProjectionType = "INCLUDE",
RangeKey = "TopScore",
ReadCapacity = 10,
WriteCapacity = 10,
},
},
HashKey = "UserId",
RangeKey = "GameTitle",
ReadCapacity = 20,
Tags =
{
{ "Environment", "production" },
{ "Name", "dynamodb-table-1" },
},
Ttl = new Aws.DynamoDB.Inputs.TableTtlArgs
{
AttributeName = "TimeToExist",
Enabled = false,
},
WriteCapacity = 20,
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/dynamodb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := dynamodb.NewTable(ctx, "basic-dynamodb-table", &dynamodb.TableArgs{
Attributes: dynamodb.TableAttributeArray{
&dynamodb.TableAttributeArgs{
Name: pulumi.String("UserId"),
Type: pulumi.String("S"),
},
&dynamodb.TableAttributeArgs{
Name: pulumi.String("GameTitle"),
Type: pulumi.String("S"),
},
&dynamodb.TableAttributeArgs{
Name: pulumi.String("TopScore"),
Type: pulumi.String("N"),
},
},
BillingMode: pulumi.String("PROVISIONED"),
GlobalSecondaryIndexes: dynamodb.TableGlobalSecondaryIndexArray{
&dynamodb.TableGlobalSecondaryIndexArgs{
HashKey: pulumi.String("GameTitle"),
Name: pulumi.String("GameTitleIndex"),
NonKeyAttributes: pulumi.StringArray{
pulumi.String("UserId"),
},
ProjectionType: pulumi.String("INCLUDE"),
RangeKey: pulumi.String("TopScore"),
ReadCapacity: pulumi.Int(10),
WriteCapacity: pulumi.Int(10),
},
},
HashKey: pulumi.String("UserId"),
RangeKey: pulumi.String("GameTitle"),
ReadCapacity: pulumi.Int(20),
Tags: pulumi.StringMap{
"Environment": pulumi.String("production"),
"Name": pulumi.String("dynamodb-table-1"),
},
Ttl: &dynamodb.TableTtlArgs{
AttributeName: pulumi.String("TimeToExist"),
Enabled: pulumi.Bool(false),
},
WriteCapacity: pulumi.Int(20),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.dynamodb.Table;
import com.pulumi.aws.dynamodb.TableArgs;
import com.pulumi.aws.dynamodb.inputs.TableAttributeArgs;
import com.pulumi.aws.dynamodb.inputs.TableGlobalSecondaryIndexArgs;
import com.pulumi.aws.dynamodb.inputs.TableTtlArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var basic_dynamodb_table = new Table("basic-dynamodb-table", TableArgs.builder()
.attributes(
TableAttributeArgs.builder()
.name("UserId")
.type("S")
.build(),
TableAttributeArgs.builder()
.name("GameTitle")
.type("S")
.build(),
TableAttributeArgs.builder()
.name("TopScore")
.type("N")
.build())
.billingMode("PROVISIONED")
.globalSecondaryIndexes(TableGlobalSecondaryIndexArgs.builder()
.hashKey("GameTitle")
.name("GameTitleIndex")
.nonKeyAttributes("UserId")
.projectionType("INCLUDE")
.rangeKey("TopScore")
.readCapacity(10)
.writeCapacity(10)
.build())
.hashKey("UserId")
.rangeKey("GameTitle")
.readCapacity(20)
.tags(Map.ofEntries(
Map.entry("Environment", "production"),
Map.entry("Name", "dynamodb-table-1")
))
.ttl(TableTtlArgs.builder()
.attributeName("TimeToExist")
.enabled(false)
.build())
.writeCapacity(20)
.build());
}
}
import pulumi
import pulumi_aws as aws
basic_dynamodb_table = aws.dynamodb.Table("basic-dynamodb-table",
attributes=[
aws.dynamodb.TableAttributeArgs(
name="UserId",
type="S",
),
aws.dynamodb.TableAttributeArgs(
name="GameTitle",
type="S",
),
aws.dynamodb.TableAttributeArgs(
name="TopScore",
type="N",
),
],
billing_mode="PROVISIONED",
global_secondary_indexes=[aws.dynamodb.TableGlobalSecondaryIndexArgs(
hash_key="GameTitle",
name="GameTitleIndex",
non_key_attributes=["UserId"],
projection_type="INCLUDE",
range_key="TopScore",
read_capacity=10,
write_capacity=10,
)],
hash_key="UserId",
range_key="GameTitle",
read_capacity=20,
tags={
"Environment": "production",
"Name": "dynamodb-table-1",
},
ttl=aws.dynamodb.TableTtlArgs(
attribute_name="TimeToExist",
enabled=False,
),
write_capacity=20)
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const basic_dynamodb_table = new aws.dynamodb.Table("basic-dynamodb-table", {
attributes: [
{
name: "UserId",
type: "S",
},
{
name: "GameTitle",
type: "S",
},
{
name: "TopScore",
type: "N",
},
],
billingMode: "PROVISIONED",
globalSecondaryIndexes: [{
hashKey: "GameTitle",
name: "GameTitleIndex",
nonKeyAttributes: ["UserId"],
projectionType: "INCLUDE",
rangeKey: "TopScore",
readCapacity: 10,
writeCapacity: 10,
}],
hashKey: "UserId",
rangeKey: "GameTitle",
readCapacity: 20,
tags: {
Environment: "production",
Name: "dynamodb-table-1",
},
ttl: {
attributeName: "TimeToExist",
enabled: false,
},
writeCapacity: 20,
});
resources:
basic-dynamodb-table:
type: aws:dynamodb:Table
properties:
attributes:
- name: UserId
type: S
- name: GameTitle
type: S
- name: TopScore
type: N
billingMode: PROVISIONED
globalSecondaryIndexes:
- hashKey: GameTitle
name: GameTitleIndex
nonKeyAttributes:
- UserId
projectionType: INCLUDE
rangeKey: TopScore
readCapacity: 10
writeCapacity: 10
hashKey: UserId
rangeKey: GameTitle
readCapacity: 20
tags:
Environment: production
Name: dynamodb-table-1
ttl:
attributeName: TimeToExist
enabled: false
writeCapacity: 20
Global Tables
using System.Collections.Generic;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.DynamoDB.Table("example", new()
{
Attributes = new[]
{
new Aws.DynamoDB.Inputs.TableAttributeArgs
{
Name = "TestTableHashKey",
Type = "S",
},
},
BillingMode = "PAY_PER_REQUEST",
HashKey = "TestTableHashKey",
Replicas = new[]
{
new Aws.DynamoDB.Inputs.TableReplicaArgs
{
RegionName = "us-east-2",
},
new Aws.DynamoDB.Inputs.TableReplicaArgs
{
RegionName = "us-west-2",
},
},
StreamEnabled = true,
StreamViewType = "NEW_AND_OLD_IMAGES",
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/dynamodb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := dynamodb.NewTable(ctx, "example", &dynamodb.TableArgs{
Attributes: dynamodb.TableAttributeArray{
&dynamodb.TableAttributeArgs{
Name: pulumi.String("TestTableHashKey"),
Type: pulumi.String("S"),
},
},
BillingMode: pulumi.String("PAY_PER_REQUEST"),
HashKey: pulumi.String("TestTableHashKey"),
Replicas: dynamodb.TableReplicaTypeArray{
&dynamodb.TableReplicaTypeArgs{
RegionName: pulumi.String("us-east-2"),
},
&dynamodb.TableReplicaTypeArgs{
RegionName: pulumi.String("us-west-2"),
},
},
StreamEnabled: pulumi.Bool(true),
StreamViewType: pulumi.String("NEW_AND_OLD_IMAGES"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.dynamodb.Table;
import com.pulumi.aws.dynamodb.TableArgs;
import com.pulumi.aws.dynamodb.inputs.TableAttributeArgs;
import com.pulumi.aws.dynamodb.inputs.TableReplicaArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new Table("example", TableArgs.builder()
.attributes(TableAttributeArgs.builder()
.name("TestTableHashKey")
.type("S")
.build())
.billingMode("PAY_PER_REQUEST")
.hashKey("TestTableHashKey")
.replicas(
TableReplicaArgs.builder()
.regionName("us-east-2")
.build(),
TableReplicaArgs.builder()
.regionName("us-west-2")
.build())
.streamEnabled(true)
.streamViewType("NEW_AND_OLD_IMAGES")
.build());
}
}
import pulumi
import pulumi_aws as aws
example = aws.dynamodb.Table("example",
attributes=[aws.dynamodb.TableAttributeArgs(
name="TestTableHashKey",
type="S",
)],
billing_mode="PAY_PER_REQUEST",
hash_key="TestTableHashKey",
replicas=[
aws.dynamodb.TableReplicaArgs(
region_name="us-east-2",
),
aws.dynamodb.TableReplicaArgs(
region_name="us-west-2",
),
],
stream_enabled=True,
stream_view_type="NEW_AND_OLD_IMAGES")
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.dynamodb.Table("example", {
attributes: [{
name: "TestTableHashKey",
type: "S",
}],
billingMode: "PAY_PER_REQUEST",
hashKey: "TestTableHashKey",
replicas: [
{
regionName: "us-east-2",
},
{
regionName: "us-west-2",
},
],
streamEnabled: true,
streamViewType: "NEW_AND_OLD_IMAGES",
});
resources:
example:
type: aws:dynamodb:Table
properties:
attributes:
- name: TestTableHashKey
type: S
billingMode: PAY_PER_REQUEST
hashKey: TestTableHashKey
replicas:
- regionName: us-east-2
- regionName: us-west-2
streamEnabled: true
streamViewType: NEW_AND_OLD_IMAGES
Create Table Resource
new Table(name: string, args?: TableArgs, opts?: CustomResourceOptions);
@overload
def Table(resource_name: str,
opts: Optional[ResourceOptions] = None,
attributes: Optional[Sequence[TableAttributeArgs]] = None,
billing_mode: Optional[str] = None,
global_secondary_indexes: Optional[Sequence[TableGlobalSecondaryIndexArgs]] = None,
hash_key: Optional[str] = None,
local_secondary_indexes: Optional[Sequence[TableLocalSecondaryIndexArgs]] = None,
name: Optional[str] = None,
point_in_time_recovery: Optional[TablePointInTimeRecoveryArgs] = None,
range_key: Optional[str] = None,
read_capacity: Optional[int] = None,
replicas: Optional[Sequence[TableReplicaArgs]] = None,
restore_date_time: Optional[str] = None,
restore_source_name: Optional[str] = None,
restore_to_latest_time: Optional[bool] = None,
server_side_encryption: Optional[TableServerSideEncryptionArgs] = None,
stream_enabled: Optional[bool] = None,
stream_view_type: Optional[str] = None,
table_class: Optional[str] = None,
tags: Optional[Mapping[str, str]] = None,
ttl: Optional[TableTtlArgs] = None,
write_capacity: Optional[int] = None)
@overload
def Table(resource_name: str,
args: Optional[TableArgs] = None,
opts: Optional[ResourceOptions] = None)
func NewTable(ctx *Context, name string, args *TableArgs, opts ...ResourceOption) (*Table, error)
public Table(string name, TableArgs? args = null, CustomResourceOptions? opts = null)
type: aws:dynamodb:Table
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args TableArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args TableArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args TableArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args TableArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args TableArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Table Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
The Table resource accepts the following input properties:
- Attributes
List<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
.- Global
Secondary List<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.- Local
Secondary List<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.
- 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
List<Table
Replica 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
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. 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
.- 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 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
[]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
.- 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.- 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.
- 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
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. 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
.- 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 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
.- global
Secondary List<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.- local
Secondary List<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.
- 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 Integer Number of read units for this table. If the
billing_mode
isPROVISIONED
, this field is required.- replicas
List<Table
Replica 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
To BooleanLatest 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. 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
.- 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 Integer 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
.- 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.- 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.
- 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 number Number of read units for this table. If the
billing_mode
isPROVISIONED
, this field is required.- replicas
Table
Replica 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
To booleanLatest 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. 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
.- {[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 Args 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
.- 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.- 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.
- 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_
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. 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
.- 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
.- 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.- 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.
- 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
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. 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
.- 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,
global_secondary_indexes: Optional[Sequence[TableGlobalSecondaryIndexArgs]] = None,
hash_key: Optional[str] = None,
local_secondary_indexes: Optional[Sequence[TableLocalSecondaryIndexArgs]] = None,
name: Optional[str] = None,
point_in_time_recovery: Optional[TablePointInTimeRecoveryArgs] = None,
range_key: Optional[str] = None,
read_capacity: Optional[int] = None,
replicas: Optional[Sequence[TableReplicaArgs]] = None,
restore_date_time: Optional[str] = None,
restore_source_name: Optional[str] = None,
restore_to_latest_time: Optional[bool] = None,
server_side_encryption: Optional[TableServerSideEncryptionArgs] = None,
stream_arn: Optional[str] = None,
stream_enabled: Optional[bool] = None,
stream_label: Optional[str] = None,
stream_view_type: Optional[str] = None,
table_class: Optional[str] = None,
tags: Optional[Mapping[str, str]] = None,
tags_all: Optional[Mapping[str, str]] = None,
ttl: Optional[TableTtlArgs] = None,
write_capacity: Optional[int] = None) -> Table
func GetTable(ctx *Context, name string, id IDInput, state *TableState, opts ...ResourceOption) (*Table, error)
public static Table Get(string name, Input<string> id, TableState? state, CustomResourceOptions? opts = null)
public static Table get(String name, Output<String> id, TableState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Arn string
ARN of the table
- Attributes
List<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
.- Global
Secondary List<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.- Local
Secondary List<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.
- 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
List<Table
Replica 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
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. 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
.- 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 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
[]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
.- 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.- 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.
- 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
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. 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
.- 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 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
.- global
Secondary List<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.- local
Secondary List<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.
- 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 Integer Number of read units for this table. If the
billing_mode
isPROVISIONED
, this field is required.- replicas
List<Table
Replica 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
To BooleanLatest 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. 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
.- 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 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 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
.- 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.- 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.
- 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 number Number of read units for this table. If the
billing_mode
isPROVISIONED
, this field is required.- replicas
Table
Replica 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
To booleanLatest 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. 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
.- {[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 Args 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
.- 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.- 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.
- 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_
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. 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
.- 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
.- 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.- 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.
- 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
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. 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
.- 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
TableGlobalSecondaryIndex
- 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.- 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.- 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.- 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.- 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.- 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.- 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.
TableLocalSecondaryIndex
- 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.
TablePointInTimeRecovery
- 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
- Region
Name string Region name of the replica.
- 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.
- Region
Name string Region name of the replica.
- 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.
- region
Name String Region name of the replica.
- 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.
- region
Name string Region name of the replica.
- 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.
- region_
name str Region name of the replica.
- 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.
- region
Name String Region name of the replica.
- 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.
TableServerSideEncryption
- 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
- Attribute
Name string Name of the table attribute to store the TTL timestamp in.
- Enabled bool
Whether TTL is enabled.
- Attribute
Name string Name of the table attribute to store the TTL timestamp in.
- Enabled bool
Whether TTL is enabled.
- attribute
Name String Name of the table attribute to store the TTL timestamp in.
- enabled Boolean
Whether TTL is enabled.
- attribute
Name string Name of the table attribute to store the TTL timestamp in.
- enabled boolean
Whether TTL is enabled.
- attribute_
name str Name of the table attribute to store the TTL timestamp in.
- enabled bool
Whether TTL is enabled.
- attribute
Name String Name of the table attribute to store the TTL timestamp in.
- enabled Boolean
Whether TTL is enabled.
Import
DynamoDB tables can be imported using the name
, e.g.,
$ pulumi import aws:dynamodb/table:Table basic-dynamodb-table GameScores
Package Details
- Repository
- AWS Classic pulumi/pulumi-aws
- License
- Apache-2.0
- Notes
This Pulumi package is based on the
aws
Terraform Provider.