We recommend new projects start with resources from the AWS provider.
aws-native.dynamodb.Table
Explore with Pulumi AI
We recommend new projects start with resources from the AWS provider.
The AWS::DynamoDB::Table resource creates a DDB table. For more information, see CreateTable in the API Reference.
You should be aware of the following behaviors when working with DDB tables:
- CFNlong typically creates DDB tables in parallel. However, if your template includes multiple DDB tables with indexes, you must declare dependencies so that the tables are created sequentially. DDBlong limits the number of tables with secondary indexes that are in the creating state. If you create multiple tables with indexes at the same time, DDB returns an error and the stack operation fails. For an example, see DynamoDB Table with a DependsOn Attribute.
Our guidance is to use the latest schema documented for your CFNlong templates. This schema supports the provisioning of all table settings below. When using this schema in your CFNlong templates, please ensure that your Identity and Access Management (IAM) policies are updated with appropriate permissions to allow for the authorization of these setting changes.
Example Usage
Example
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AwsNative = Pulumi.AwsNative;
return await Deployment.RunAsync(() => 
{
    var myDynamoDBTable = new AwsNative.DynamoDb.Table("myDynamoDBTable", new()
    {
        AttributeDefinitions = new[]
        {
            new AwsNative.DynamoDb.Inputs.TableAttributeDefinitionArgs
            {
                AttributeName = "Album",
                AttributeType = "S",
            },
            new AwsNative.DynamoDb.Inputs.TableAttributeDefinitionArgs
            {
                AttributeName = "Artist",
                AttributeType = "S",
            },
            new AwsNative.DynamoDb.Inputs.TableAttributeDefinitionArgs
            {
                AttributeName = "Sales",
                AttributeType = "N",
            },
            new AwsNative.DynamoDb.Inputs.TableAttributeDefinitionArgs
            {
                AttributeName = "NumberOfSongs",
                AttributeType = "N",
            },
        },
        KeySchema = new[]
        {
            new AwsNative.DynamoDb.Inputs.TableKeySchemaArgs
            {
                AttributeName = "Album",
                KeyType = "HASH",
            },
            new AwsNative.DynamoDb.Inputs.TableKeySchemaArgs
            {
                AttributeName = "Artist",
                KeyType = "RANGE",
            },
        },
        ProvisionedThroughput = new AwsNative.DynamoDb.Inputs.TableProvisionedThroughputArgs
        {
            ReadCapacityUnits = 5,
            WriteCapacityUnits = 5,
        },
        TableName = "myTableName",
        GlobalSecondaryIndexes = new[]
        {
            new AwsNative.DynamoDb.Inputs.TableGlobalSecondaryIndexArgs
            {
                IndexName = "myGSI",
                KeySchema = new[]
                {
                    new AwsNative.DynamoDb.Inputs.TableKeySchemaArgs
                    {
                        AttributeName = "Sales",
                        KeyType = "HASH",
                    },
                    new AwsNative.DynamoDb.Inputs.TableKeySchemaArgs
                    {
                        AttributeName = "Artist",
                        KeyType = "RANGE",
                    },
                },
                Projection = new AwsNative.DynamoDb.Inputs.TableProjectionArgs
                {
                    NonKeyAttributes = new[]
                    {
                        "Album",
                        "NumberOfSongs",
                    },
                    ProjectionType = "INCLUDE",
                },
                ProvisionedThroughput = new AwsNative.DynamoDb.Inputs.TableProvisionedThroughputArgs
                {
                    ReadCapacityUnits = 5,
                    WriteCapacityUnits = 5,
                },
            },
            new AwsNative.DynamoDb.Inputs.TableGlobalSecondaryIndexArgs
            {
                IndexName = "myGSI2",
                KeySchema = new[]
                {
                    new AwsNative.DynamoDb.Inputs.TableKeySchemaArgs
                    {
                        AttributeName = "NumberOfSongs",
                        KeyType = "HASH",
                    },
                    new AwsNative.DynamoDb.Inputs.TableKeySchemaArgs
                    {
                        AttributeName = "Sales",
                        KeyType = "RANGE",
                    },
                },
                Projection = new AwsNative.DynamoDb.Inputs.TableProjectionArgs
                {
                    NonKeyAttributes = new[]
                    {
                        "Album",
                        "Artist",
                    },
                    ProjectionType = "INCLUDE",
                },
                ProvisionedThroughput = new AwsNative.DynamoDb.Inputs.TableProvisionedThroughputArgs
                {
                    ReadCapacityUnits = 5,
                    WriteCapacityUnits = 5,
                },
            },
        },
        LocalSecondaryIndexes = new[]
        {
            new AwsNative.DynamoDb.Inputs.TableLocalSecondaryIndexArgs
            {
                IndexName = "myLSI",
                KeySchema = new[]
                {
                    new AwsNative.DynamoDb.Inputs.TableKeySchemaArgs
                    {
                        AttributeName = "Album",
                        KeyType = "HASH",
                    },
                    new AwsNative.DynamoDb.Inputs.TableKeySchemaArgs
                    {
                        AttributeName = "Sales",
                        KeyType = "RANGE",
                    },
                },
                Projection = new AwsNative.DynamoDb.Inputs.TableProjectionArgs
                {
                    NonKeyAttributes = new[]
                    {
                        "Artist",
                        "NumberOfSongs",
                    },
                    ProjectionType = "INCLUDE",
                },
            },
        },
    });
});
package main
import (
	"github.com/pulumi/pulumi-aws-native/sdk/go/aws/dynamodb"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dynamodb.NewTable(ctx, "myDynamoDBTable", &dynamodb.TableArgs{
			AttributeDefinitions: dynamodb.TableAttributeDefinitionArray{
				&dynamodb.TableAttributeDefinitionArgs{
					AttributeName: pulumi.String("Album"),
					AttributeType: pulumi.String("S"),
				},
				&dynamodb.TableAttributeDefinitionArgs{
					AttributeName: pulumi.String("Artist"),
					AttributeType: pulumi.String("S"),
				},
				&dynamodb.TableAttributeDefinitionArgs{
					AttributeName: pulumi.String("Sales"),
					AttributeType: pulumi.String("N"),
				},
				&dynamodb.TableAttributeDefinitionArgs{
					AttributeName: pulumi.String("NumberOfSongs"),
					AttributeType: pulumi.String("N"),
				},
			},
			KeySchema: pulumi.Any{
				&dynamodb.TableKeySchemaArgs{
					AttributeName: pulumi.String("Album"),
					KeyType:       pulumi.String("HASH"),
				},
				&dynamodb.TableKeySchemaArgs{
					AttributeName: pulumi.String("Artist"),
					KeyType:       pulumi.String("RANGE"),
				},
			},
			ProvisionedThroughput: &dynamodb.TableProvisionedThroughputArgs{
				ReadCapacityUnits:  pulumi.Int(5),
				WriteCapacityUnits: pulumi.Int(5),
			},
			TableName: pulumi.String("myTableName"),
			GlobalSecondaryIndexes: dynamodb.TableGlobalSecondaryIndexArray{
				&dynamodb.TableGlobalSecondaryIndexArgs{
					IndexName: pulumi.String("myGSI"),
					KeySchema: dynamodb.TableKeySchemaArray{
						&dynamodb.TableKeySchemaArgs{
							AttributeName: pulumi.String("Sales"),
							KeyType:       pulumi.String("HASH"),
						},
						&dynamodb.TableKeySchemaArgs{
							AttributeName: pulumi.String("Artist"),
							KeyType:       pulumi.String("RANGE"),
						},
					},
					Projection: &dynamodb.TableProjectionArgs{
						NonKeyAttributes: pulumi.StringArray{
							pulumi.String("Album"),
							pulumi.String("NumberOfSongs"),
						},
						ProjectionType: pulumi.String("INCLUDE"),
					},
					ProvisionedThroughput: &dynamodb.TableProvisionedThroughputArgs{
						ReadCapacityUnits:  pulumi.Int(5),
						WriteCapacityUnits: pulumi.Int(5),
					},
				},
				&dynamodb.TableGlobalSecondaryIndexArgs{
					IndexName: pulumi.String("myGSI2"),
					KeySchema: dynamodb.TableKeySchemaArray{
						&dynamodb.TableKeySchemaArgs{
							AttributeName: pulumi.String("NumberOfSongs"),
							KeyType:       pulumi.String("HASH"),
						},
						&dynamodb.TableKeySchemaArgs{
							AttributeName: pulumi.String("Sales"),
							KeyType:       pulumi.String("RANGE"),
						},
					},
					Projection: &dynamodb.TableProjectionArgs{
						NonKeyAttributes: pulumi.StringArray{
							pulumi.String("Album"),
							pulumi.String("Artist"),
						},
						ProjectionType: pulumi.String("INCLUDE"),
					},
					ProvisionedThroughput: &dynamodb.TableProvisionedThroughputArgs{
						ReadCapacityUnits:  pulumi.Int(5),
						WriteCapacityUnits: pulumi.Int(5),
					},
				},
			},
			LocalSecondaryIndexes: dynamodb.TableLocalSecondaryIndexArray{
				&dynamodb.TableLocalSecondaryIndexArgs{
					IndexName: pulumi.String("myLSI"),
					KeySchema: dynamodb.TableKeySchemaArray{
						&dynamodb.TableKeySchemaArgs{
							AttributeName: pulumi.String("Album"),
							KeyType:       pulumi.String("HASH"),
						},
						&dynamodb.TableKeySchemaArgs{
							AttributeName: pulumi.String("Sales"),
							KeyType:       pulumi.String("RANGE"),
						},
					},
					Projection: &dynamodb.TableProjectionArgs{
						NonKeyAttributes: pulumi.StringArray{
							pulumi.String("Artist"),
							pulumi.String("NumberOfSongs"),
						},
						ProjectionType: pulumi.String("INCLUDE"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Coming soon!
import * as pulumi from "@pulumi/pulumi";
import * as aws_native from "@pulumi/aws-native";
const myDynamoDBTable = new aws_native.dynamodb.Table("myDynamoDBTable", {
    attributeDefinitions: [
        {
            attributeName: "Album",
            attributeType: "S",
        },
        {
            attributeName: "Artist",
            attributeType: "S",
        },
        {
            attributeName: "Sales",
            attributeType: "N",
        },
        {
            attributeName: "NumberOfSongs",
            attributeType: "N",
        },
    ],
    keySchema: [
        {
            attributeName: "Album",
            keyType: "HASH",
        },
        {
            attributeName: "Artist",
            keyType: "RANGE",
        },
    ],
    provisionedThroughput: {
        readCapacityUnits: 5,
        writeCapacityUnits: 5,
    },
    tableName: "myTableName",
    globalSecondaryIndexes: [
        {
            indexName: "myGSI",
            keySchema: [
                {
                    attributeName: "Sales",
                    keyType: "HASH",
                },
                {
                    attributeName: "Artist",
                    keyType: "RANGE",
                },
            ],
            projection: {
                nonKeyAttributes: [
                    "Album",
                    "NumberOfSongs",
                ],
                projectionType: "INCLUDE",
            },
            provisionedThroughput: {
                readCapacityUnits: 5,
                writeCapacityUnits: 5,
            },
        },
        {
            indexName: "myGSI2",
            keySchema: [
                {
                    attributeName: "NumberOfSongs",
                    keyType: "HASH",
                },
                {
                    attributeName: "Sales",
                    keyType: "RANGE",
                },
            ],
            projection: {
                nonKeyAttributes: [
                    "Album",
                    "Artist",
                ],
                projectionType: "INCLUDE",
            },
            provisionedThroughput: {
                readCapacityUnits: 5,
                writeCapacityUnits: 5,
            },
        },
    ],
    localSecondaryIndexes: [{
        indexName: "myLSI",
        keySchema: [
            {
                attributeName: "Album",
                keyType: "HASH",
            },
            {
                attributeName: "Sales",
                keyType: "RANGE",
            },
        ],
        projection: {
            nonKeyAttributes: [
                "Artist",
                "NumberOfSongs",
            ],
            projectionType: "INCLUDE",
        },
    }],
});
import pulumi
import pulumi_aws_native as aws_native
my_dynamo_db_table = aws_native.dynamodb.Table("myDynamoDBTable",
    attribute_definitions=[
        {
            "attribute_name": "Album",
            "attribute_type": "S",
        },
        {
            "attribute_name": "Artist",
            "attribute_type": "S",
        },
        {
            "attribute_name": "Sales",
            "attribute_type": "N",
        },
        {
            "attribute_name": "NumberOfSongs",
            "attribute_type": "N",
        },
    ],
    key_schema=[
        {
            "attributeName": "Album",
            "keyType": "HASH",
        },
        {
            "attributeName": "Artist",
            "keyType": "RANGE",
        },
    ],
    provisioned_throughput={
        "read_capacity_units": 5,
        "write_capacity_units": 5,
    },
    table_name="myTableName",
    global_secondary_indexes=[
        {
            "index_name": "myGSI",
            "key_schema": [
                {
                    "attribute_name": "Sales",
                    "key_type": "HASH",
                },
                {
                    "attribute_name": "Artist",
                    "key_type": "RANGE",
                },
            ],
            "projection": {
                "non_key_attributes": [
                    "Album",
                    "NumberOfSongs",
                ],
                "projection_type": "INCLUDE",
            },
            "provisioned_throughput": {
                "read_capacity_units": 5,
                "write_capacity_units": 5,
            },
        },
        {
            "index_name": "myGSI2",
            "key_schema": [
                {
                    "attribute_name": "NumberOfSongs",
                    "key_type": "HASH",
                },
                {
                    "attribute_name": "Sales",
                    "key_type": "RANGE",
                },
            ],
            "projection": {
                "non_key_attributes": [
                    "Album",
                    "Artist",
                ],
                "projection_type": "INCLUDE",
            },
            "provisioned_throughput": {
                "read_capacity_units": 5,
                "write_capacity_units": 5,
            },
        },
    ],
    local_secondary_indexes=[{
        "index_name": "myLSI",
        "key_schema": [
            {
                "attribute_name": "Album",
                "key_type": "HASH",
            },
            {
                "attribute_name": "Sales",
                "key_type": "RANGE",
            },
        ],
        "projection": {
            "non_key_attributes": [
                "Artist",
                "NumberOfSongs",
            ],
            "projection_type": "INCLUDE",
        },
    }])
Coming soon!
Example
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AwsNative = Pulumi.AwsNative;
return await Deployment.RunAsync(() => 
{
    var myDynamoDBTable = new AwsNative.DynamoDb.Table("myDynamoDBTable", new()
    {
        AttributeDefinitions = new[]
        {
            new AwsNative.DynamoDb.Inputs.TableAttributeDefinitionArgs
            {
                AttributeName = "Album",
                AttributeType = "S",
            },
            new AwsNative.DynamoDb.Inputs.TableAttributeDefinitionArgs
            {
                AttributeName = "Artist",
                AttributeType = "S",
            },
            new AwsNative.DynamoDb.Inputs.TableAttributeDefinitionArgs
            {
                AttributeName = "Sales",
                AttributeType = "N",
            },
            new AwsNative.DynamoDb.Inputs.TableAttributeDefinitionArgs
            {
                AttributeName = "NumberOfSongs",
                AttributeType = "N",
            },
        },
        KeySchema = new[]
        {
            new AwsNative.DynamoDb.Inputs.TableKeySchemaArgs
            {
                AttributeName = "Album",
                KeyType = "HASH",
            },
            new AwsNative.DynamoDb.Inputs.TableKeySchemaArgs
            {
                AttributeName = "Artist",
                KeyType = "RANGE",
            },
        },
        ProvisionedThroughput = new AwsNative.DynamoDb.Inputs.TableProvisionedThroughputArgs
        {
            ReadCapacityUnits = 5,
            WriteCapacityUnits = 5,
        },
        TableName = "myTableName",
        GlobalSecondaryIndexes = new[]
        {
            new AwsNative.DynamoDb.Inputs.TableGlobalSecondaryIndexArgs
            {
                IndexName = "myGSI",
                KeySchema = new[]
                {
                    new AwsNative.DynamoDb.Inputs.TableKeySchemaArgs
                    {
                        AttributeName = "Sales",
                        KeyType = "HASH",
                    },
                    new AwsNative.DynamoDb.Inputs.TableKeySchemaArgs
                    {
                        AttributeName = "Artist",
                        KeyType = "RANGE",
                    },
                },
                Projection = new AwsNative.DynamoDb.Inputs.TableProjectionArgs
                {
                    NonKeyAttributes = new[]
                    {
                        "Album",
                        "NumberOfSongs",
                    },
                    ProjectionType = "INCLUDE",
                },
                ProvisionedThroughput = new AwsNative.DynamoDb.Inputs.TableProvisionedThroughputArgs
                {
                    ReadCapacityUnits = 5,
                    WriteCapacityUnits = 5,
                },
            },
            new AwsNative.DynamoDb.Inputs.TableGlobalSecondaryIndexArgs
            {
                IndexName = "myGSI2",
                KeySchema = new[]
                {
                    new AwsNative.DynamoDb.Inputs.TableKeySchemaArgs
                    {
                        AttributeName = "NumberOfSongs",
                        KeyType = "HASH",
                    },
                    new AwsNative.DynamoDb.Inputs.TableKeySchemaArgs
                    {
                        AttributeName = "Sales",
                        KeyType = "RANGE",
                    },
                },
                Projection = new AwsNative.DynamoDb.Inputs.TableProjectionArgs
                {
                    NonKeyAttributes = new[]
                    {
                        "Album",
                        "Artist",
                    },
                    ProjectionType = "INCLUDE",
                },
                ProvisionedThroughput = new AwsNative.DynamoDb.Inputs.TableProvisionedThroughputArgs
                {
                    ReadCapacityUnits = 5,
                    WriteCapacityUnits = 5,
                },
            },
        },
        LocalSecondaryIndexes = new[]
        {
            new AwsNative.DynamoDb.Inputs.TableLocalSecondaryIndexArgs
            {
                IndexName = "myLSI",
                KeySchema = new[]
                {
                    new AwsNative.DynamoDb.Inputs.TableKeySchemaArgs
                    {
                        AttributeName = "Album",
                        KeyType = "HASH",
                    },
                    new AwsNative.DynamoDb.Inputs.TableKeySchemaArgs
                    {
                        AttributeName = "Sales",
                        KeyType = "RANGE",
                    },
                },
                Projection = new AwsNative.DynamoDb.Inputs.TableProjectionArgs
                {
                    NonKeyAttributes = new[]
                    {
                        "Artist",
                        "NumberOfSongs",
                    },
                    ProjectionType = "INCLUDE",
                },
            },
        },
    });
});
package main
import (
	"github.com/pulumi/pulumi-aws-native/sdk/go/aws/dynamodb"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dynamodb.NewTable(ctx, "myDynamoDBTable", &dynamodb.TableArgs{
			AttributeDefinitions: dynamodb.TableAttributeDefinitionArray{
				&dynamodb.TableAttributeDefinitionArgs{
					AttributeName: pulumi.String("Album"),
					AttributeType: pulumi.String("S"),
				},
				&dynamodb.TableAttributeDefinitionArgs{
					AttributeName: pulumi.String("Artist"),
					AttributeType: pulumi.String("S"),
				},
				&dynamodb.TableAttributeDefinitionArgs{
					AttributeName: pulumi.String("Sales"),
					AttributeType: pulumi.String("N"),
				},
				&dynamodb.TableAttributeDefinitionArgs{
					AttributeName: pulumi.String("NumberOfSongs"),
					AttributeType: pulumi.String("N"),
				},
			},
			KeySchema: pulumi.Any{
				&dynamodb.TableKeySchemaArgs{
					AttributeName: pulumi.String("Album"),
					KeyType:       pulumi.String("HASH"),
				},
				&dynamodb.TableKeySchemaArgs{
					AttributeName: pulumi.String("Artist"),
					KeyType:       pulumi.String("RANGE"),
				},
			},
			ProvisionedThroughput: &dynamodb.TableProvisionedThroughputArgs{
				ReadCapacityUnits:  pulumi.Int(5),
				WriteCapacityUnits: pulumi.Int(5),
			},
			TableName: pulumi.String("myTableName"),
			GlobalSecondaryIndexes: dynamodb.TableGlobalSecondaryIndexArray{
				&dynamodb.TableGlobalSecondaryIndexArgs{
					IndexName: pulumi.String("myGSI"),
					KeySchema: dynamodb.TableKeySchemaArray{
						&dynamodb.TableKeySchemaArgs{
							AttributeName: pulumi.String("Sales"),
							KeyType:       pulumi.String("HASH"),
						},
						&dynamodb.TableKeySchemaArgs{
							AttributeName: pulumi.String("Artist"),
							KeyType:       pulumi.String("RANGE"),
						},
					},
					Projection: &dynamodb.TableProjectionArgs{
						NonKeyAttributes: pulumi.StringArray{
							pulumi.String("Album"),
							pulumi.String("NumberOfSongs"),
						},
						ProjectionType: pulumi.String("INCLUDE"),
					},
					ProvisionedThroughput: &dynamodb.TableProvisionedThroughputArgs{
						ReadCapacityUnits:  pulumi.Int(5),
						WriteCapacityUnits: pulumi.Int(5),
					},
				},
				&dynamodb.TableGlobalSecondaryIndexArgs{
					IndexName: pulumi.String("myGSI2"),
					KeySchema: dynamodb.TableKeySchemaArray{
						&dynamodb.TableKeySchemaArgs{
							AttributeName: pulumi.String("NumberOfSongs"),
							KeyType:       pulumi.String("HASH"),
						},
						&dynamodb.TableKeySchemaArgs{
							AttributeName: pulumi.String("Sales"),
							KeyType:       pulumi.String("RANGE"),
						},
					},
					Projection: &dynamodb.TableProjectionArgs{
						NonKeyAttributes: pulumi.StringArray{
							pulumi.String("Album"),
							pulumi.String("Artist"),
						},
						ProjectionType: pulumi.String("INCLUDE"),
					},
					ProvisionedThroughput: &dynamodb.TableProvisionedThroughputArgs{
						ReadCapacityUnits:  pulumi.Int(5),
						WriteCapacityUnits: pulumi.Int(5),
					},
				},
			},
			LocalSecondaryIndexes: dynamodb.TableLocalSecondaryIndexArray{
				&dynamodb.TableLocalSecondaryIndexArgs{
					IndexName: pulumi.String("myLSI"),
					KeySchema: dynamodb.TableKeySchemaArray{
						&dynamodb.TableKeySchemaArgs{
							AttributeName: pulumi.String("Album"),
							KeyType:       pulumi.String("HASH"),
						},
						&dynamodb.TableKeySchemaArgs{
							AttributeName: pulumi.String("Sales"),
							KeyType:       pulumi.String("RANGE"),
						},
					},
					Projection: &dynamodb.TableProjectionArgs{
						NonKeyAttributes: pulumi.StringArray{
							pulumi.String("Artist"),
							pulumi.String("NumberOfSongs"),
						},
						ProjectionType: pulumi.String("INCLUDE"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Coming soon!
import * as pulumi from "@pulumi/pulumi";
import * as aws_native from "@pulumi/aws-native";
const myDynamoDBTable = new aws_native.dynamodb.Table("myDynamoDBTable", {
    attributeDefinitions: [
        {
            attributeName: "Album",
            attributeType: "S",
        },
        {
            attributeName: "Artist",
            attributeType: "S",
        },
        {
            attributeName: "Sales",
            attributeType: "N",
        },
        {
            attributeName: "NumberOfSongs",
            attributeType: "N",
        },
    ],
    keySchema: [
        {
            attributeName: "Album",
            keyType: "HASH",
        },
        {
            attributeName: "Artist",
            keyType: "RANGE",
        },
    ],
    provisionedThroughput: {
        readCapacityUnits: 5,
        writeCapacityUnits: 5,
    },
    tableName: "myTableName",
    globalSecondaryIndexes: [
        {
            indexName: "myGSI",
            keySchema: [
                {
                    attributeName: "Sales",
                    keyType: "HASH",
                },
                {
                    attributeName: "Artist",
                    keyType: "RANGE",
                },
            ],
            projection: {
                nonKeyAttributes: [
                    "Album",
                    "NumberOfSongs",
                ],
                projectionType: "INCLUDE",
            },
            provisionedThroughput: {
                readCapacityUnits: 5,
                writeCapacityUnits: 5,
            },
        },
        {
            indexName: "myGSI2",
            keySchema: [
                {
                    attributeName: "NumberOfSongs",
                    keyType: "HASH",
                },
                {
                    attributeName: "Sales",
                    keyType: "RANGE",
                },
            ],
            projection: {
                nonKeyAttributes: [
                    "Album",
                    "Artist",
                ],
                projectionType: "INCLUDE",
            },
            provisionedThroughput: {
                readCapacityUnits: 5,
                writeCapacityUnits: 5,
            },
        },
    ],
    localSecondaryIndexes: [{
        indexName: "myLSI",
        keySchema: [
            {
                attributeName: "Album",
                keyType: "HASH",
            },
            {
                attributeName: "Sales",
                keyType: "RANGE",
            },
        ],
        projection: {
            nonKeyAttributes: [
                "Artist",
                "NumberOfSongs",
            ],
            projectionType: "INCLUDE",
        },
    }],
});
import pulumi
import pulumi_aws_native as aws_native
my_dynamo_db_table = aws_native.dynamodb.Table("myDynamoDBTable",
    attribute_definitions=[
        {
            "attribute_name": "Album",
            "attribute_type": "S",
        },
        {
            "attribute_name": "Artist",
            "attribute_type": "S",
        },
        {
            "attribute_name": "Sales",
            "attribute_type": "N",
        },
        {
            "attribute_name": "NumberOfSongs",
            "attribute_type": "N",
        },
    ],
    key_schema=[
        {
            "attributeName": "Album",
            "keyType": "HASH",
        },
        {
            "attributeName": "Artist",
            "keyType": "RANGE",
        },
    ],
    provisioned_throughput={
        "read_capacity_units": 5,
        "write_capacity_units": 5,
    },
    table_name="myTableName",
    global_secondary_indexes=[
        {
            "index_name": "myGSI",
            "key_schema": [
                {
                    "attribute_name": "Sales",
                    "key_type": "HASH",
                },
                {
                    "attribute_name": "Artist",
                    "key_type": "RANGE",
                },
            ],
            "projection": {
                "non_key_attributes": [
                    "Album",
                    "NumberOfSongs",
                ],
                "projection_type": "INCLUDE",
            },
            "provisioned_throughput": {
                "read_capacity_units": 5,
                "write_capacity_units": 5,
            },
        },
        {
            "index_name": "myGSI2",
            "key_schema": [
                {
                    "attribute_name": "NumberOfSongs",
                    "key_type": "HASH",
                },
                {
                    "attribute_name": "Sales",
                    "key_type": "RANGE",
                },
            ],
            "projection": {
                "non_key_attributes": [
                    "Album",
                    "Artist",
                ],
                "projection_type": "INCLUDE",
            },
            "provisioned_throughput": {
                "read_capacity_units": 5,
                "write_capacity_units": 5,
            },
        },
    ],
    local_secondary_indexes=[{
        "index_name": "myLSI",
        "key_schema": [
            {
                "attribute_name": "Album",
                "key_type": "HASH",
            },
            {
                "attribute_name": "Sales",
                "key_type": "RANGE",
            },
        ],
        "projection": {
            "non_key_attributes": [
                "Artist",
                "NumberOfSongs",
            ],
            "projection_type": "INCLUDE",
        },
    }])
Coming soon!
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: TableArgs,
          opts: Optional[ResourceOptions] = None)
@overload
def Table(resource_name: str,
          opts: Optional[ResourceOptions] = None,
          key_schema: Optional[Union[Sequence[TableKeySchemaArgs], Any]] = None,
          point_in_time_recovery_specification: Optional[TablePointInTimeRecoverySpecificationArgs] = None,
          warm_throughput: Optional[TableWarmThroughputArgs] = None,
          on_demand_throughput: Optional[TableOnDemandThroughputArgs] = None,
          global_secondary_indexes: Optional[Sequence[TableGlobalSecondaryIndexArgs]] = None,
          import_source_specification: Optional[TableImportSourceSpecificationArgs] = None,
          billing_mode: Optional[str] = None,
          kinesis_stream_specification: Optional[TableKinesisStreamSpecificationArgs] = None,
          local_secondary_indexes: Optional[Sequence[TableLocalSecondaryIndexArgs]] = None,
          deletion_protection_enabled: Optional[bool] = None,
          contributor_insights_specification: Optional[TableContributorInsightsSpecificationArgs] = None,
          resource_policy: Optional[TableResourcePolicyArgs] = None,
          provisioned_throughput: Optional[TableProvisionedThroughputArgs] = None,
          sse_specification: Optional[TableSseSpecificationArgs] = None,
          stream_specification: Optional[TableStreamSpecificationArgs] = None,
          table_class: Optional[str] = None,
          table_name: Optional[str] = None,
          tags: Optional[Sequence[_root_inputs.TagArgs]] = None,
          time_to_live_specification: Optional[TableTimeToLiveSpecificationArgs] = None,
          attribute_definitions: Optional[Sequence[TableAttributeDefinitionArgs]] = None)func NewTable(ctx *Context, name string, args TableArgs, opts ...ResourceOption) (*Table, error)public Table(string name, TableArgs args, CustomResourceOptions? opts = null)type: aws-native: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.
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:
- KeySchema List<Pulumi.Aws | objectNative. Dynamo Db. Inputs. Table Key Schema> 
- Specifies the attributes that make up the primary key for the table. The attributes in the KeySchemaproperty must also be defined in theAttributeDefinitionsproperty.
- AttributeDefinitions List<Pulumi.Aws Native. Dynamo Db. Inputs. Table Attribute Definition> 
- A list of attributes that describe the key schema for the table and indexes. This property is required to create a DDB table. Update requires: Some interruptions. Replacement if you edit an existing AttributeDefinition.
- BillingMode string
- Specify how you are charged for read and write throughput and how you manage capacity. Valid values include: - PAY_PER_REQUEST- We recommend using- PAY_PER_REQUESTfor most DynamoDB workloads.- PAY_PER_REQUESTsets the billing mode to On-demand capacity mode.
- PROVISIONED- We recommend using- PROVISIONEDfor steady workloads with predictable growth where capacity requirements can be reliably forecasted.- PROVISIONEDsets the billing mode to Provisioned capacity mode.
 - If not specified, the default is - PROVISIONED.
- ContributorInsights Pulumi.Specification Aws Native. Dynamo Db. Inputs. Table Contributor Insights Specification 
- The settings used to enable or disable CloudWatch Contributor Insights for the specified table.
- DeletionProtection boolEnabled 
- Determines if a table is protected from deletion. When enabled, the table cannot be deleted by any user or process. This setting is disabled by default. For more information, see Using deletion protection in the Developer Guide.
- GlobalSecondary List<Pulumi.Indexes Aws Native. Dynamo Db. Inputs. Table Global Secondary Index> 
- Global secondary indexes to be created on the table. You can create up to 20 global secondary indexes.
If you update a table to include a new global secondary index, CFNlong initiates the index creation and then proceeds with the stack update. CFNlong doesn't wait for the index to complete creation because the backfilling phase can take a long time, depending on the size of the table. You can't use the index or update the table until the index's status is ACTIVE. You can track its status by using the DynamoDB DescribeTable command. If you add or delete an index during an update, we recommend that you don't update any other resources. If your stack fails to update and is rolled back while adding a new index, you must manually delete the index. Updates are not supported. The following are exceptions:- If you update either the contributor insights specification or the provisioned throughput values of global secondary indexes, you can update the table without interruption.
- You can delete or add one global secondary index without interruption. If you do both in the same update (for example, by changing the index's logical ID), the update fails.
 
- ImportSource Pulumi.Specification Aws Native. Dynamo Db. Inputs. Table Import Source Specification 
- Specifies the properties of data being imported from the S3 bucket source to the" table.
If you specify the ImportSourceSpecificationproperty, and also specify either theStreamSpecification, theTableClassproperty, theDeletionProtectionEnabledproperty, or theWarmThroughputproperty, the IAM entity creating/updating stack must haveUpdateTablepermission.
- KinesisStream Pulumi.Specification Aws Native. Dynamo Db. Inputs. Table Kinesis Stream Specification 
- The Kinesis Data Streams configuration for the specified table.
- LocalSecondary List<Pulumi.Indexes Aws Native. Dynamo Db. Inputs. Table Local Secondary Index> 
- Local secondary indexes to be created on the table. You can create up to 5 local secondary indexes. Each index is scoped to a given hash key value. The size of each hash key can be up to 10 gigabytes.
- OnDemand Pulumi.Throughput Aws Native. Dynamo Db. Inputs. Table On Demand Throughput 
- Sets the maximum number of read and write units for the specified on-demand table. If you use this property, you must specify MaxReadRequestUnits,MaxWriteRequestUnits, or both.
- PointIn Pulumi.Time Recovery Specification Aws Native. Dynamo Db. Inputs. Table Point In Time Recovery Specification 
- The settings used to enable point in time recovery.
- ProvisionedThroughput Pulumi.Aws Native. Dynamo Db. Inputs. Table Provisioned Throughput 
- Throughput for the specified table, which consists of values for ReadCapacityUnitsandWriteCapacityUnits. For more information about the contents of a provisioned throughput structure, see Amazon DynamoDB Table ProvisionedThroughput. If you setBillingModeasPROVISIONED, you must specify this property. If you setBillingModeasPAY_PER_REQUEST, you cannot specify this property.
- ResourcePolicy Pulumi.Aws Native. Dynamo Db. Inputs. Table Resource Policy 
- A resource-based policy document that contains permissions to add to the specified table. In a CFNshort template, you can provide the policy in JSON or YAML format because CFNshort converts YAML to JSON before submitting it to DDB. For more information about resource-based policies, see Using resource-based policies for and Resource-based policy examples. When you attach a resource-based policy while creating a table, the policy creation is strongly consistent. For information about the considerations that you should keep in mind while attaching a resource-based policy, see Resource-based policy considerations.
- SseSpecification Pulumi.Aws Native. Dynamo Db. Inputs. Table Sse Specification 
- Specifies the settings to enable server-side encryption.
- StreamSpecification Pulumi.Aws Native. Dynamo Db. Inputs. Table Stream Specification 
- The settings for the DDB table stream, which capture changes to items stored in the table.
- TableClass string
- The table class of the new table. Valid values are STANDARDandSTANDARD_INFREQUENT_ACCESS.
- TableName string
- A name for the table. If you don't specify a name, CFNlong generates a unique physical ID and uses that ID for the table name. For more information, see Name Type. If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
- 
List<Pulumi.Aws Native. Inputs. Tag> 
- An array of key-value pairs to apply to this resource. For more information, see Tag.
- TimeTo Pulumi.Live Specification Aws Native. Dynamo Db. Inputs. Table Time To Live Specification 
- Specifies the Time to Live (TTL) settings for the table. For detailed information about the limits in DynamoDB, see Limits in Amazon DynamoDB in the Amazon DynamoDB Developer Guide.
- WarmThroughput Pulumi.Aws Native. Dynamo Db. Inputs. Table Warm Throughput 
- Represents the warm throughput (in read units per second and write units per second) for creating a table.
- KeySchema []TableKey | interface{}Schema Args 
- Specifies the attributes that make up the primary key for the table. The attributes in the KeySchemaproperty must also be defined in theAttributeDefinitionsproperty.
- AttributeDefinitions []TableAttribute Definition Args 
- A list of attributes that describe the key schema for the table and indexes. This property is required to create a DDB table. Update requires: Some interruptions. Replacement if you edit an existing AttributeDefinition.
- BillingMode string
- Specify how you are charged for read and write throughput and how you manage capacity. Valid values include: - PAY_PER_REQUEST- We recommend using- PAY_PER_REQUESTfor most DynamoDB workloads.- PAY_PER_REQUESTsets the billing mode to On-demand capacity mode.
- PROVISIONED- We recommend using- PROVISIONEDfor steady workloads with predictable growth where capacity requirements can be reliably forecasted.- PROVISIONEDsets the billing mode to Provisioned capacity mode.
 - If not specified, the default is - PROVISIONED.
- ContributorInsights TableSpecification Contributor Insights Specification Args 
- The settings used to enable or disable CloudWatch Contributor Insights for the specified table.
- DeletionProtection boolEnabled 
- Determines if a table is protected from deletion. When enabled, the table cannot be deleted by any user or process. This setting is disabled by default. For more information, see Using deletion protection in the Developer Guide.
- GlobalSecondary []TableIndexes Global Secondary Index Args 
- Global secondary indexes to be created on the table. You can create up to 20 global secondary indexes.
If you update a table to include a new global secondary index, CFNlong initiates the index creation and then proceeds with the stack update. CFNlong doesn't wait for the index to complete creation because the backfilling phase can take a long time, depending on the size of the table. You can't use the index or update the table until the index's status is ACTIVE. You can track its status by using the DynamoDB DescribeTable command. If you add or delete an index during an update, we recommend that you don't update any other resources. If your stack fails to update and is rolled back while adding a new index, you must manually delete the index. Updates are not supported. The following are exceptions:- If you update either the contributor insights specification or the provisioned throughput values of global secondary indexes, you can update the table without interruption.
- You can delete or add one global secondary index without interruption. If you do both in the same update (for example, by changing the index's logical ID), the update fails.
 
- ImportSource TableSpecification Import Source Specification Args 
- Specifies the properties of data being imported from the S3 bucket source to the" table.
If you specify the ImportSourceSpecificationproperty, and also specify either theStreamSpecification, theTableClassproperty, theDeletionProtectionEnabledproperty, or theWarmThroughputproperty, the IAM entity creating/updating stack must haveUpdateTablepermission.
- KinesisStream TableSpecification Kinesis Stream Specification Args 
- The Kinesis Data Streams configuration for the specified table.
- LocalSecondary []TableIndexes Local Secondary Index Args 
- Local secondary indexes to be created on the table. You can create up to 5 local secondary indexes. Each index is scoped to a given hash key value. The size of each hash key can be up to 10 gigabytes.
- OnDemand TableThroughput On Demand Throughput Args 
- Sets the maximum number of read and write units for the specified on-demand table. If you use this property, you must specify MaxReadRequestUnits,MaxWriteRequestUnits, or both.
- PointIn TableTime Recovery Specification Point In Time Recovery Specification Args 
- The settings used to enable point in time recovery.
- ProvisionedThroughput TableProvisioned Throughput Args 
- Throughput for the specified table, which consists of values for ReadCapacityUnitsandWriteCapacityUnits. For more information about the contents of a provisioned throughput structure, see Amazon DynamoDB Table ProvisionedThroughput. If you setBillingModeasPROVISIONED, you must specify this property. If you setBillingModeasPAY_PER_REQUEST, you cannot specify this property.
- ResourcePolicy TableResource Policy Args 
- A resource-based policy document that contains permissions to add to the specified table. In a CFNshort template, you can provide the policy in JSON or YAML format because CFNshort converts YAML to JSON before submitting it to DDB. For more information about resource-based policies, see Using resource-based policies for and Resource-based policy examples. When you attach a resource-based policy while creating a table, the policy creation is strongly consistent. For information about the considerations that you should keep in mind while attaching a resource-based policy, see Resource-based policy considerations.
- SseSpecification TableSse Specification Args 
- Specifies the settings to enable server-side encryption.
- StreamSpecification TableStream Specification Args 
- The settings for the DDB table stream, which capture changes to items stored in the table.
- TableClass string
- The table class of the new table. Valid values are STANDARDandSTANDARD_INFREQUENT_ACCESS.
- TableName string
- A name for the table. If you don't specify a name, CFNlong generates a unique physical ID and uses that ID for the table name. For more information, see Name Type. If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
- 
TagArgs 
- An array of key-value pairs to apply to this resource. For more information, see Tag.
- TimeTo TableLive Specification Time To Live Specification Args 
- Specifies the Time to Live (TTL) settings for the table. For detailed information about the limits in DynamoDB, see Limits in Amazon DynamoDB in the Amazon DynamoDB Developer Guide.
- WarmThroughput TableWarm Throughput Args 
- Represents the warm throughput (in read units per second and write units per second) for creating a table.
- keySchema List<TableKey | ObjectSchema> 
- Specifies the attributes that make up the primary key for the table. The attributes in the KeySchemaproperty must also be defined in theAttributeDefinitionsproperty.
- attributeDefinitions List<TableAttribute Definition> 
- A list of attributes that describe the key schema for the table and indexes. This property is required to create a DDB table. Update requires: Some interruptions. Replacement if you edit an existing AttributeDefinition.
- billingMode String
- Specify how you are charged for read and write throughput and how you manage capacity. Valid values include: - PAY_PER_REQUEST- We recommend using- PAY_PER_REQUESTfor most DynamoDB workloads.- PAY_PER_REQUESTsets the billing mode to On-demand capacity mode.
- PROVISIONED- We recommend using- PROVISIONEDfor steady workloads with predictable growth where capacity requirements can be reliably forecasted.- PROVISIONEDsets the billing mode to Provisioned capacity mode.
 - If not specified, the default is - PROVISIONED.
- contributorInsights TableSpecification Contributor Insights Specification 
- The settings used to enable or disable CloudWatch Contributor Insights for the specified table.
- deletionProtection BooleanEnabled 
- Determines if a table is protected from deletion. When enabled, the table cannot be deleted by any user or process. This setting is disabled by default. For more information, see Using deletion protection in the Developer Guide.
- globalSecondary List<TableIndexes Global Secondary Index> 
- Global secondary indexes to be created on the table. You can create up to 20 global secondary indexes.
If you update a table to include a new global secondary index, CFNlong initiates the index creation and then proceeds with the stack update. CFNlong doesn't wait for the index to complete creation because the backfilling phase can take a long time, depending on the size of the table. You can't use the index or update the table until the index's status is ACTIVE. You can track its status by using the DynamoDB DescribeTable command. If you add or delete an index during an update, we recommend that you don't update any other resources. If your stack fails to update and is rolled back while adding a new index, you must manually delete the index. Updates are not supported. The following are exceptions:- If you update either the contributor insights specification or the provisioned throughput values of global secondary indexes, you can update the table without interruption.
- You can delete or add one global secondary index without interruption. If you do both in the same update (for example, by changing the index's logical ID), the update fails.
 
- importSource TableSpecification Import Source Specification 
- Specifies the properties of data being imported from the S3 bucket source to the" table.
If you specify the ImportSourceSpecificationproperty, and also specify either theStreamSpecification, theTableClassproperty, theDeletionProtectionEnabledproperty, or theWarmThroughputproperty, the IAM entity creating/updating stack must haveUpdateTablepermission.
- kinesisStream TableSpecification Kinesis Stream Specification 
- The Kinesis Data Streams configuration for the specified table.
- localSecondary List<TableIndexes Local Secondary Index> 
- Local secondary indexes to be created on the table. You can create up to 5 local secondary indexes. Each index is scoped to a given hash key value. The size of each hash key can be up to 10 gigabytes.
- onDemand TableThroughput On Demand Throughput 
- Sets the maximum number of read and write units for the specified on-demand table. If you use this property, you must specify MaxReadRequestUnits,MaxWriteRequestUnits, or both.
- pointIn TableTime Recovery Specification Point In Time Recovery Specification 
- The settings used to enable point in time recovery.
- provisionedThroughput TableProvisioned Throughput 
- Throughput for the specified table, which consists of values for ReadCapacityUnitsandWriteCapacityUnits. For more information about the contents of a provisioned throughput structure, see Amazon DynamoDB Table ProvisionedThroughput. If you setBillingModeasPROVISIONED, you must specify this property. If you setBillingModeasPAY_PER_REQUEST, you cannot specify this property.
- resourcePolicy TableResource Policy 
- A resource-based policy document that contains permissions to add to the specified table. In a CFNshort template, you can provide the policy in JSON or YAML format because CFNshort converts YAML to JSON before submitting it to DDB. For more information about resource-based policies, see Using resource-based policies for and Resource-based policy examples. When you attach a resource-based policy while creating a table, the policy creation is strongly consistent. For information about the considerations that you should keep in mind while attaching a resource-based policy, see Resource-based policy considerations.
- sseSpecification TableSse Specification 
- Specifies the settings to enable server-side encryption.
- streamSpecification TableStream Specification 
- The settings for the DDB table stream, which capture changes to items stored in the table.
- tableClass String
- The table class of the new table. Valid values are STANDARDandSTANDARD_INFREQUENT_ACCESS.
- tableName String
- A name for the table. If you don't specify a name, CFNlong generates a unique physical ID and uses that ID for the table name. For more information, see Name Type. If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
- List<Tag>
- An array of key-value pairs to apply to this resource. For more information, see Tag.
- timeTo TableLive Specification Time To Live Specification 
- Specifies the Time to Live (TTL) settings for the table. For detailed information about the limits in DynamoDB, see Limits in Amazon DynamoDB in the Amazon DynamoDB Developer Guide.
- warmThroughput TableWarm Throughput 
- Represents the warm throughput (in read units per second and write units per second) for creating a table.
- keySchema TableKey | anySchema[] 
- Specifies the attributes that make up the primary key for the table. The attributes in the KeySchemaproperty must also be defined in theAttributeDefinitionsproperty.
- attributeDefinitions TableAttribute Definition[] 
- A list of attributes that describe the key schema for the table and indexes. This property is required to create a DDB table. Update requires: Some interruptions. Replacement if you edit an existing AttributeDefinition.
- billingMode string
- Specify how you are charged for read and write throughput and how you manage capacity. Valid values include: - PAY_PER_REQUEST- We recommend using- PAY_PER_REQUESTfor most DynamoDB workloads.- PAY_PER_REQUESTsets the billing mode to On-demand capacity mode.
- PROVISIONED- We recommend using- PROVISIONEDfor steady workloads with predictable growth where capacity requirements can be reliably forecasted.- PROVISIONEDsets the billing mode to Provisioned capacity mode.
 - If not specified, the default is - PROVISIONED.
- contributorInsights TableSpecification Contributor Insights Specification 
- The settings used to enable or disable CloudWatch Contributor Insights for the specified table.
- deletionProtection booleanEnabled 
- Determines if a table is protected from deletion. When enabled, the table cannot be deleted by any user or process. This setting is disabled by default. For more information, see Using deletion protection in the Developer Guide.
- globalSecondary TableIndexes Global Secondary Index[] 
- Global secondary indexes to be created on the table. You can create up to 20 global secondary indexes.
If you update a table to include a new global secondary index, CFNlong initiates the index creation and then proceeds with the stack update. CFNlong doesn't wait for the index to complete creation because the backfilling phase can take a long time, depending on the size of the table. You can't use the index or update the table until the index's status is ACTIVE. You can track its status by using the DynamoDB DescribeTable command. If you add or delete an index during an update, we recommend that you don't update any other resources. If your stack fails to update and is rolled back while adding a new index, you must manually delete the index. Updates are not supported. The following are exceptions:- If you update either the contributor insights specification or the provisioned throughput values of global secondary indexes, you can update the table without interruption.
- You can delete or add one global secondary index without interruption. If you do both in the same update (for example, by changing the index's logical ID), the update fails.
 
- importSource TableSpecification Import Source Specification 
- Specifies the properties of data being imported from the S3 bucket source to the" table.
If you specify the ImportSourceSpecificationproperty, and also specify either theStreamSpecification, theTableClassproperty, theDeletionProtectionEnabledproperty, or theWarmThroughputproperty, the IAM entity creating/updating stack must haveUpdateTablepermission.
- kinesisStream TableSpecification Kinesis Stream Specification 
- The Kinesis Data Streams configuration for the specified table.
- localSecondary TableIndexes Local Secondary Index[] 
- Local secondary indexes to be created on the table. You can create up to 5 local secondary indexes. Each index is scoped to a given hash key value. The size of each hash key can be up to 10 gigabytes.
- onDemand TableThroughput On Demand Throughput 
- Sets the maximum number of read and write units for the specified on-demand table. If you use this property, you must specify MaxReadRequestUnits,MaxWriteRequestUnits, or both.
- pointIn TableTime Recovery Specification Point In Time Recovery Specification 
- The settings used to enable point in time recovery.
- provisionedThroughput TableProvisioned Throughput 
- Throughput for the specified table, which consists of values for ReadCapacityUnitsandWriteCapacityUnits. For more information about the contents of a provisioned throughput structure, see Amazon DynamoDB Table ProvisionedThroughput. If you setBillingModeasPROVISIONED, you must specify this property. If you setBillingModeasPAY_PER_REQUEST, you cannot specify this property.
- resourcePolicy TableResource Policy 
- A resource-based policy document that contains permissions to add to the specified table. In a CFNshort template, you can provide the policy in JSON or YAML format because CFNshort converts YAML to JSON before submitting it to DDB. For more information about resource-based policies, see Using resource-based policies for and Resource-based policy examples. When you attach a resource-based policy while creating a table, the policy creation is strongly consistent. For information about the considerations that you should keep in mind while attaching a resource-based policy, see Resource-based policy considerations.
- sseSpecification TableSse Specification 
- Specifies the settings to enable server-side encryption.
- streamSpecification TableStream Specification 
- The settings for the DDB table stream, which capture changes to items stored in the table.
- tableClass string
- The table class of the new table. Valid values are STANDARDandSTANDARD_INFREQUENT_ACCESS.
- tableName string
- A name for the table. If you don't specify a name, CFNlong generates a unique physical ID and uses that ID for the table name. For more information, see Name Type. If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
- Tag[]
- An array of key-value pairs to apply to this resource. For more information, see Tag.
- timeTo TableLive Specification Time To Live Specification 
- Specifies the Time to Live (TTL) settings for the table. For detailed information about the limits in DynamoDB, see Limits in Amazon DynamoDB in the Amazon DynamoDB Developer Guide.
- warmThroughput TableWarm Throughput 
- Represents the warm throughput (in read units per second and write units per second) for creating a table.
- key_schema Sequence[TableKey | AnySchema Args] 
- Specifies the attributes that make up the primary key for the table. The attributes in the KeySchemaproperty must also be defined in theAttributeDefinitionsproperty.
- attribute_definitions Sequence[TableAttribute Definition Args] 
- A list of attributes that describe the key schema for the table and indexes. This property is required to create a DDB table. Update requires: Some interruptions. Replacement if you edit an existing AttributeDefinition.
- billing_mode str
- Specify how you are charged for read and write throughput and how you manage capacity. Valid values include: - PAY_PER_REQUEST- We recommend using- PAY_PER_REQUESTfor most DynamoDB workloads.- PAY_PER_REQUESTsets the billing mode to On-demand capacity mode.
- PROVISIONED- We recommend using- PROVISIONEDfor steady workloads with predictable growth where capacity requirements can be reliably forecasted.- PROVISIONEDsets the billing mode to Provisioned capacity mode.
 - If not specified, the default is - PROVISIONED.
- contributor_insights_ Tablespecification Contributor Insights Specification Args 
- The settings used to enable or disable CloudWatch Contributor Insights for the specified table.
- deletion_protection_ boolenabled 
- Determines if a table is protected from deletion. When enabled, the table cannot be deleted by any user or process. This setting is disabled by default. For more information, see Using deletion protection in the Developer Guide.
- global_secondary_ Sequence[Tableindexes Global Secondary Index Args] 
- Global secondary indexes to be created on the table. You can create up to 20 global secondary indexes.
If you update a table to include a new global secondary index, CFNlong initiates the index creation and then proceeds with the stack update. CFNlong doesn't wait for the index to complete creation because the backfilling phase can take a long time, depending on the size of the table. You can't use the index or update the table until the index's status is ACTIVE. You can track its status by using the DynamoDB DescribeTable command. If you add or delete an index during an update, we recommend that you don't update any other resources. If your stack fails to update and is rolled back while adding a new index, you must manually delete the index. Updates are not supported. The following are exceptions:- If you update either the contributor insights specification or the provisioned throughput values of global secondary indexes, you can update the table without interruption.
- You can delete or add one global secondary index without interruption. If you do both in the same update (for example, by changing the index's logical ID), the update fails.
 
- import_source_ Tablespecification Import Source Specification Args 
- Specifies the properties of data being imported from the S3 bucket source to the" table.
If you specify the ImportSourceSpecificationproperty, and also specify either theStreamSpecification, theTableClassproperty, theDeletionProtectionEnabledproperty, or theWarmThroughputproperty, the IAM entity creating/updating stack must haveUpdateTablepermission.
- kinesis_stream_ Tablespecification Kinesis Stream Specification Args 
- The Kinesis Data Streams configuration for the specified table.
- local_secondary_ Sequence[Tableindexes Local Secondary Index Args] 
- Local secondary indexes to be created on the table. You can create up to 5 local secondary indexes. Each index is scoped to a given hash key value. The size of each hash key can be up to 10 gigabytes.
- on_demand_ Tablethroughput On Demand Throughput Args 
- Sets the maximum number of read and write units for the specified on-demand table. If you use this property, you must specify MaxReadRequestUnits,MaxWriteRequestUnits, or both.
- point_in_ Tabletime_ recovery_ specification Point In Time Recovery Specification Args 
- The settings used to enable point in time recovery.
- provisioned_throughput TableProvisioned Throughput Args 
- Throughput for the specified table, which consists of values for ReadCapacityUnitsandWriteCapacityUnits. For more information about the contents of a provisioned throughput structure, see Amazon DynamoDB Table ProvisionedThroughput. If you setBillingModeasPROVISIONED, you must specify this property. If you setBillingModeasPAY_PER_REQUEST, you cannot specify this property.
- resource_policy TableResource Policy Args 
- A resource-based policy document that contains permissions to add to the specified table. In a CFNshort template, you can provide the policy in JSON or YAML format because CFNshort converts YAML to JSON before submitting it to DDB. For more information about resource-based policies, see Using resource-based policies for and Resource-based policy examples. When you attach a resource-based policy while creating a table, the policy creation is strongly consistent. For information about the considerations that you should keep in mind while attaching a resource-based policy, see Resource-based policy considerations.
- sse_specification TableSse Specification Args 
- Specifies the settings to enable server-side encryption.
- stream_specification TableStream Specification Args 
- The settings for the DDB table stream, which capture changes to items stored in the table.
- table_class str
- The table class of the new table. Valid values are STANDARDandSTANDARD_INFREQUENT_ACCESS.
- table_name str
- A name for the table. If you don't specify a name, CFNlong generates a unique physical ID and uses that ID for the table name. For more information, see Name Type. If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
- 
Sequence[TagArgs] 
- An array of key-value pairs to apply to this resource. For more information, see Tag.
- time_to_ Tablelive_ specification Time To Live Specification Args 
- Specifies the Time to Live (TTL) settings for the table. For detailed information about the limits in DynamoDB, see Limits in Amazon DynamoDB in the Amazon DynamoDB Developer Guide.
- warm_throughput TableWarm Throughput Args 
- Represents the warm throughput (in read units per second and write units per second) for creating a table.
- keySchema List<Property Map> | Any
- Specifies the attributes that make up the primary key for the table. The attributes in the KeySchemaproperty must also be defined in theAttributeDefinitionsproperty.
- attributeDefinitions List<Property Map>
- A list of attributes that describe the key schema for the table and indexes. This property is required to create a DDB table. Update requires: Some interruptions. Replacement if you edit an existing AttributeDefinition.
- billingMode String
- Specify how you are charged for read and write throughput and how you manage capacity. Valid values include: - PAY_PER_REQUEST- We recommend using- PAY_PER_REQUESTfor most DynamoDB workloads.- PAY_PER_REQUESTsets the billing mode to On-demand capacity mode.
- PROVISIONED- We recommend using- PROVISIONEDfor steady workloads with predictable growth where capacity requirements can be reliably forecasted.- PROVISIONEDsets the billing mode to Provisioned capacity mode.
 - If not specified, the default is - PROVISIONED.
- contributorInsights Property MapSpecification 
- The settings used to enable or disable CloudWatch Contributor Insights for the specified table.
- deletionProtection BooleanEnabled 
- Determines if a table is protected from deletion. When enabled, the table cannot be deleted by any user or process. This setting is disabled by default. For more information, see Using deletion protection in the Developer Guide.
- globalSecondary List<Property Map>Indexes 
- Global secondary indexes to be created on the table. You can create up to 20 global secondary indexes.
If you update a table to include a new global secondary index, CFNlong initiates the index creation and then proceeds with the stack update. CFNlong doesn't wait for the index to complete creation because the backfilling phase can take a long time, depending on the size of the table. You can't use the index or update the table until the index's status is ACTIVE. You can track its status by using the DynamoDB DescribeTable command. If you add or delete an index during an update, we recommend that you don't update any other resources. If your stack fails to update and is rolled back while adding a new index, you must manually delete the index. Updates are not supported. The following are exceptions:- If you update either the contributor insights specification or the provisioned throughput values of global secondary indexes, you can update the table without interruption.
- You can delete or add one global secondary index without interruption. If you do both in the same update (for example, by changing the index's logical ID), the update fails.
 
- importSource Property MapSpecification 
- Specifies the properties of data being imported from the S3 bucket source to the" table.
If you specify the ImportSourceSpecificationproperty, and also specify either theStreamSpecification, theTableClassproperty, theDeletionProtectionEnabledproperty, or theWarmThroughputproperty, the IAM entity creating/updating stack must haveUpdateTablepermission.
- kinesisStream Property MapSpecification 
- The Kinesis Data Streams configuration for the specified table.
- localSecondary List<Property Map>Indexes 
- Local secondary indexes to be created on the table. You can create up to 5 local secondary indexes. Each index is scoped to a given hash key value. The size of each hash key can be up to 10 gigabytes.
- onDemand Property MapThroughput 
- Sets the maximum number of read and write units for the specified on-demand table. If you use this property, you must specify MaxReadRequestUnits,MaxWriteRequestUnits, or both.
- pointIn Property MapTime Recovery Specification 
- The settings used to enable point in time recovery.
- provisionedThroughput Property Map
- Throughput for the specified table, which consists of values for ReadCapacityUnitsandWriteCapacityUnits. For more information about the contents of a provisioned throughput structure, see Amazon DynamoDB Table ProvisionedThroughput. If you setBillingModeasPROVISIONED, you must specify this property. If you setBillingModeasPAY_PER_REQUEST, you cannot specify this property.
- resourcePolicy Property Map
- A resource-based policy document that contains permissions to add to the specified table. In a CFNshort template, you can provide the policy in JSON or YAML format because CFNshort converts YAML to JSON before submitting it to DDB. For more information about resource-based policies, see Using resource-based policies for and Resource-based policy examples. When you attach a resource-based policy while creating a table, the policy creation is strongly consistent. For information about the considerations that you should keep in mind while attaching a resource-based policy, see Resource-based policy considerations.
- sseSpecification Property Map
- Specifies the settings to enable server-side encryption.
- streamSpecification Property Map
- The settings for the DDB table stream, which capture changes to items stored in the table.
- tableClass String
- The table class of the new table. Valid values are STANDARDandSTANDARD_INFREQUENT_ACCESS.
- tableName String
- A name for the table. If you don't specify a name, CFNlong generates a unique physical ID and uses that ID for the table name. For more information, see Name Type. If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
- List<Property Map>
- An array of key-value pairs to apply to this resource. For more information, see Tag.
- timeTo Property MapLive Specification 
- Specifies the Time to Live (TTL) settings for the table. For detailed information about the limits in DynamoDB, see Limits in Amazon DynamoDB in the Amazon DynamoDB Developer Guide.
- warmThroughput Property Map
- Represents the warm throughput (in read units per second and write units per second) for creating a table.
Outputs
All input properties are implicitly available as output properties. Additionally, the Table resource produces the following output properties:
- Arn string
- The Amazon Resource Name (ARN) of the DynamoDB table, such as arn:aws:dynamodb:us-east-2:123456789012:table/myDynamoDBTable.
- Id string
- The provider-assigned unique ID for this managed resource.
- StreamArn string
- The ARN of the DynamoDB stream, such as - arn:aws:dynamodb:us-east-1:123456789012:table/testddbstack-myDynamoDBTable-012A1SL7SMP5Q/stream/2015-11-30T20:10:00.000.- You must specify the - StreamSpecificationproperty to use this attribute.
- Arn string
- The Amazon Resource Name (ARN) of the DynamoDB table, such as arn:aws:dynamodb:us-east-2:123456789012:table/myDynamoDBTable.
- Id string
- The provider-assigned unique ID for this managed resource.
- StreamArn string
- The ARN of the DynamoDB stream, such as - arn:aws:dynamodb:us-east-1:123456789012:table/testddbstack-myDynamoDBTable-012A1SL7SMP5Q/stream/2015-11-30T20:10:00.000.- You must specify the - StreamSpecificationproperty to use this attribute.
- arn String
- The Amazon Resource Name (ARN) of the DynamoDB table, such as arn:aws:dynamodb:us-east-2:123456789012:table/myDynamoDBTable.
- id String
- The provider-assigned unique ID for this managed resource.
- streamArn String
- The ARN of the DynamoDB stream, such as - arn:aws:dynamodb:us-east-1:123456789012:table/testddbstack-myDynamoDBTable-012A1SL7SMP5Q/stream/2015-11-30T20:10:00.000.- You must specify the - StreamSpecificationproperty to use this attribute.
- arn string
- The Amazon Resource Name (ARN) of the DynamoDB table, such as arn:aws:dynamodb:us-east-2:123456789012:table/myDynamoDBTable.
- id string
- The provider-assigned unique ID for this managed resource.
- streamArn string
- The ARN of the DynamoDB stream, such as - arn:aws:dynamodb:us-east-1:123456789012:table/testddbstack-myDynamoDBTable-012A1SL7SMP5Q/stream/2015-11-30T20:10:00.000.- You must specify the - StreamSpecificationproperty to use this attribute.
- arn str
- The Amazon Resource Name (ARN) of the DynamoDB table, such as arn:aws:dynamodb:us-east-2:123456789012:table/myDynamoDBTable.
- id str
- The provider-assigned unique ID for this managed resource.
- stream_arn str
- The ARN of the DynamoDB stream, such as - arn:aws:dynamodb:us-east-1:123456789012:table/testddbstack-myDynamoDBTable-012A1SL7SMP5Q/stream/2015-11-30T20:10:00.000.- You must specify the - StreamSpecificationproperty to use this attribute.
- arn String
- The Amazon Resource Name (ARN) of the DynamoDB table, such as arn:aws:dynamodb:us-east-2:123456789012:table/myDynamoDBTable.
- id String
- The provider-assigned unique ID for this managed resource.
- streamArn String
- The ARN of the DynamoDB stream, such as - arn:aws:dynamodb:us-east-1:123456789012:table/testddbstack-myDynamoDBTable-012A1SL7SMP5Q/stream/2015-11-30T20:10:00.000.- You must specify the - StreamSpecificationproperty to use this attribute.
Supporting Types
TableAttributeDefinition, TableAttributeDefinitionArgs      
- AttributeName string
- A name for the attribute.
- AttributeType string
- The data type for the attribute, where:- S- the attribute is of type String
- N- the attribute is of type Number
- B- the attribute is of type Binary
 
- AttributeName string
- A name for the attribute.
- AttributeType string
- The data type for the attribute, where:- S- the attribute is of type String
- N- the attribute is of type Number
- B- the attribute is of type Binary
 
- attributeName String
- A name for the attribute.
- attributeType String
- The data type for the attribute, where:- S- the attribute is of type String
- N- the attribute is of type Number
- B- the attribute is of type Binary
 
- attributeName string
- A name for the attribute.
- attributeType string
- The data type for the attribute, where:- S- the attribute is of type String
- N- the attribute is of type Number
- B- the attribute is of type Binary
 
- attribute_name str
- A name for the attribute.
- attribute_type str
- The data type for the attribute, where:- S- the attribute is of type String
- N- the attribute is of type Number
- B- the attribute is of type Binary
 
- attributeName String
- A name for the attribute.
- attributeType String
- The data type for the attribute, where:- S- the attribute is of type String
- N- the attribute is of type Number
- B- the attribute is of type Binary
 
TableContributorInsightsSpecification, TableContributorInsightsSpecificationArgs        
- Enabled bool
- Indicates whether CloudWatch Contributor Insights are to be enabled (true) or disabled (false).
- Enabled bool
- Indicates whether CloudWatch Contributor Insights are to be enabled (true) or disabled (false).
- enabled Boolean
- Indicates whether CloudWatch Contributor Insights are to be enabled (true) or disabled (false).
- enabled boolean
- Indicates whether CloudWatch Contributor Insights are to be enabled (true) or disabled (false).
- enabled bool
- Indicates whether CloudWatch Contributor Insights are to be enabled (true) or disabled (false).
- enabled Boolean
- Indicates whether CloudWatch Contributor Insights are to be enabled (true) or disabled (false).
TableCsv, TableCsvArgs    
- Delimiter string
- The delimiter used for separating items in the CSV file being imported.
- HeaderList List<string>
- List of the headers used to specify a common header for all source CSV files being imported. If this field is specified then the first line of each CSV file is treated as data instead of the header. If this field is not specified the the first line of each CSV file is treated as the header.
- Delimiter string
- The delimiter used for separating items in the CSV file being imported.
- HeaderList []string
- List of the headers used to specify a common header for all source CSV files being imported. If this field is specified then the first line of each CSV file is treated as data instead of the header. If this field is not specified the the first line of each CSV file is treated as the header.
- delimiter String
- The delimiter used for separating items in the CSV file being imported.
- headerList List<String>
- List of the headers used to specify a common header for all source CSV files being imported. If this field is specified then the first line of each CSV file is treated as data instead of the header. If this field is not specified the the first line of each CSV file is treated as the header.
- delimiter string
- The delimiter used for separating items in the CSV file being imported.
- headerList string[]
- List of the headers used to specify a common header for all source CSV files being imported. If this field is specified then the first line of each CSV file is treated as data instead of the header. If this field is not specified the the first line of each CSV file is treated as the header.
- delimiter str
- The delimiter used for separating items in the CSV file being imported.
- header_list Sequence[str]
- List of the headers used to specify a common header for all source CSV files being imported. If this field is specified then the first line of each CSV file is treated as data instead of the header. If this field is not specified the the first line of each CSV file is treated as the header.
- delimiter String
- The delimiter used for separating items in the CSV file being imported.
- headerList List<String>
- List of the headers used to specify a common header for all source CSV files being imported. If this field is specified then the first line of each CSV file is treated as data instead of the header. If this field is not specified the the first line of each CSV file is treated as the header.
TableGlobalSecondaryIndex, TableGlobalSecondaryIndexArgs        
- IndexName string
- The name of the global secondary index. The name must be unique among all other indexes on this table.
- KeySchema List<Pulumi.Aws Native. Dynamo Db. Inputs. Table Key Schema> 
- The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types: - HASH- partition key
- RANGE- sort key
 - The partition key of an item is also known as its hash attribute. The term "hash attribute" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values. The sort key of an item is also known as its range attribute. The term "range attribute" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value. 
- Projection
Pulumi.Aws Native. Dynamo Db. Inputs. Table Projection 
- Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.
- ContributorInsights Pulumi.Specification Aws Native. Dynamo Db. Inputs. Table Contributor Insights Specification 
- The settings used to enable or disable CloudWatch Contributor Insights for the specified global secondary index.
- OnDemand Pulumi.Throughput Aws Native. Dynamo Db. Inputs. Table On Demand Throughput 
- The maximum number of read and write units for the specified global secondary index. If you use this parameter, you must specify MaxReadRequestUnits,MaxWriteRequestUnits, or both.
- ProvisionedThroughput Pulumi.Aws Native. Dynamo Db. Inputs. Table Provisioned Throughput 
- Represents the provisioned throughput settings for the specified global secondary index. For current minimum and maximum provisioned throughput values, see Service, Account, and Table Quotas in the Amazon DynamoDB Developer Guide.
- WarmThroughput Pulumi.Aws Native. Dynamo Db. Inputs. Table Warm Throughput 
- Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify ReadUnitsPerSecond,WriteUnitsPerSecond, or both.
- IndexName string
- The name of the global secondary index. The name must be unique among all other indexes on this table.
- KeySchema []TableKey Schema 
- The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types: - HASH- partition key
- RANGE- sort key
 - The partition key of an item is also known as its hash attribute. The term "hash attribute" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values. The sort key of an item is also known as its range attribute. The term "range attribute" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value. 
- Projection
TableProjection 
- Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.
- ContributorInsights TableSpecification Contributor Insights Specification 
- The settings used to enable or disable CloudWatch Contributor Insights for the specified global secondary index.
- OnDemand TableThroughput On Demand Throughput 
- The maximum number of read and write units for the specified global secondary index. If you use this parameter, you must specify MaxReadRequestUnits,MaxWriteRequestUnits, or both.
- ProvisionedThroughput TableProvisioned Throughput 
- Represents the provisioned throughput settings for the specified global secondary index. For current minimum and maximum provisioned throughput values, see Service, Account, and Table Quotas in the Amazon DynamoDB Developer Guide.
- WarmThroughput TableWarm Throughput 
- Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify ReadUnitsPerSecond,WriteUnitsPerSecond, or both.
- indexName String
- The name of the global secondary index. The name must be unique among all other indexes on this table.
- keySchema List<TableKey Schema> 
- The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types: - HASH- partition key
- RANGE- sort key
 - The partition key of an item is also known as its hash attribute. The term "hash attribute" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values. The sort key of an item is also known as its range attribute. The term "range attribute" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value. 
- projection
TableProjection 
- Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.
- contributorInsights TableSpecification Contributor Insights Specification 
- The settings used to enable or disable CloudWatch Contributor Insights for the specified global secondary index.
- onDemand TableThroughput On Demand Throughput 
- The maximum number of read and write units for the specified global secondary index. If you use this parameter, you must specify MaxReadRequestUnits,MaxWriteRequestUnits, or both.
- provisionedThroughput TableProvisioned Throughput 
- Represents the provisioned throughput settings for the specified global secondary index. For current minimum and maximum provisioned throughput values, see Service, Account, and Table Quotas in the Amazon DynamoDB Developer Guide.
- warmThroughput TableWarm Throughput 
- Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify ReadUnitsPerSecond,WriteUnitsPerSecond, or both.
- indexName string
- The name of the global secondary index. The name must be unique among all other indexes on this table.
- keySchema TableKey Schema[] 
- The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types: - HASH- partition key
- RANGE- sort key
 - The partition key of an item is also known as its hash attribute. The term "hash attribute" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values. The sort key of an item is also known as its range attribute. The term "range attribute" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value. 
- projection
TableProjection 
- Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.
- contributorInsights TableSpecification Contributor Insights Specification 
- The settings used to enable or disable CloudWatch Contributor Insights for the specified global secondary index.
- onDemand TableThroughput On Demand Throughput 
- The maximum number of read and write units for the specified global secondary index. If you use this parameter, you must specify MaxReadRequestUnits,MaxWriteRequestUnits, or both.
- provisionedThroughput TableProvisioned Throughput 
- Represents the provisioned throughput settings for the specified global secondary index. For current minimum and maximum provisioned throughput values, see Service, Account, and Table Quotas in the Amazon DynamoDB Developer Guide.
- warmThroughput TableWarm Throughput 
- Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify ReadUnitsPerSecond,WriteUnitsPerSecond, or both.
- index_name str
- The name of the global secondary index. The name must be unique among all other indexes on this table.
- key_schema Sequence[TableKey Schema] 
- The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types: - HASH- partition key
- RANGE- sort key
 - The partition key of an item is also known as its hash attribute. The term "hash attribute" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values. The sort key of an item is also known as its range attribute. The term "range attribute" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value. 
- projection
TableProjection 
- Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.
- contributor_insights_ Tablespecification Contributor Insights Specification 
- The settings used to enable or disable CloudWatch Contributor Insights for the specified global secondary index.
- on_demand_ Tablethroughput On Demand Throughput 
- The maximum number of read and write units for the specified global secondary index. If you use this parameter, you must specify MaxReadRequestUnits,MaxWriteRequestUnits, or both.
- provisioned_throughput TableProvisioned Throughput 
- Represents the provisioned throughput settings for the specified global secondary index. For current minimum and maximum provisioned throughput values, see Service, Account, and Table Quotas in the Amazon DynamoDB Developer Guide.
- warm_throughput TableWarm Throughput 
- Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify ReadUnitsPerSecond,WriteUnitsPerSecond, or both.
- indexName String
- The name of the global secondary index. The name must be unique among all other indexes on this table.
- keySchema List<Property Map>
- The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types: - HASH- partition key
- RANGE- sort key
 - The partition key of an item is also known as its hash attribute. The term "hash attribute" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values. The sort key of an item is also known as its range attribute. The term "range attribute" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value. 
- projection Property Map
- Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.
- contributorInsights Property MapSpecification 
- The settings used to enable or disable CloudWatch Contributor Insights for the specified global secondary index.
- onDemand Property MapThroughput 
- The maximum number of read and write units for the specified global secondary index. If you use this parameter, you must specify MaxReadRequestUnits,MaxWriteRequestUnits, or both.
- provisionedThroughput Property Map
- Represents the provisioned throughput settings for the specified global secondary index. For current minimum and maximum provisioned throughput values, see Service, Account, and Table Quotas in the Amazon DynamoDB Developer Guide.
- warmThroughput Property Map
- Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify ReadUnitsPerSecond,WriteUnitsPerSecond, or both.
TableImportSourceSpecification, TableImportSourceSpecificationArgs        
- InputFormat string
- The format of the source data. Valid values for ImportFormatareCSV,DYNAMODB_JSONorION.
- S3BucketSource Pulumi.Aws Native. Dynamo Db. Inputs. Table S3Bucket Source 
- The S3 bucket that provides the source for the import.
- InputCompression stringType 
- Type of compression to be used on the input coming from the imported table.
- InputFormat Pulumi.Options Aws Native. Dynamo Db. Inputs. Table Input Format Options 
- Additional properties that specify how the input is formatted,
- InputFormat string
- The format of the source data. Valid values for ImportFormatareCSV,DYNAMODB_JSONorION.
- S3BucketSource TableS3Bucket Source 
- The S3 bucket that provides the source for the import.
- InputCompression stringType 
- Type of compression to be used on the input coming from the imported table.
- InputFormat TableOptions Input Format Options 
- Additional properties that specify how the input is formatted,
- inputFormat String
- The format of the source data. Valid values for ImportFormatareCSV,DYNAMODB_JSONorION.
- s3BucketSource TableS3Bucket Source 
- The S3 bucket that provides the source for the import.
- inputCompression StringType 
- Type of compression to be used on the input coming from the imported table.
- inputFormat TableOptions Input Format Options 
- Additional properties that specify how the input is formatted,
- inputFormat string
- The format of the source data. Valid values for ImportFormatareCSV,DYNAMODB_JSONorION.
- s3BucketSource TableS3Bucket Source 
- The S3 bucket that provides the source for the import.
- inputCompression stringType 
- Type of compression to be used on the input coming from the imported table.
- inputFormat TableOptions Input Format Options 
- Additional properties that specify how the input is formatted,
- input_format str
- The format of the source data. Valid values for ImportFormatareCSV,DYNAMODB_JSONorION.
- s3_bucket_ Tablesource S3Bucket Source 
- The S3 bucket that provides the source for the import.
- input_compression_ strtype 
- Type of compression to be used on the input coming from the imported table.
- input_format_ Tableoptions Input Format Options 
- Additional properties that specify how the input is formatted,
- inputFormat String
- The format of the source data. Valid values for ImportFormatareCSV,DYNAMODB_JSONorION.
- s3BucketSource Property Map
- The S3 bucket that provides the source for the import.
- inputCompression StringType 
- Type of compression to be used on the input coming from the imported table.
- inputFormat Property MapOptions 
- Additional properties that specify how the input is formatted,
TableInputFormatOptions, TableInputFormatOptionsArgs        
- Csv
Pulumi.Aws Native. Dynamo Db. Inputs. Table Csv 
- The options for imported source files in CSV format. The values are Delimiter and HeaderList.
- csv Property Map
- The options for imported source files in CSV format. The values are Delimiter and HeaderList.
TableKeySchema, TableKeySchemaArgs      
- AttributeName string
- The name of a key attribute.
- KeyType string
- The role that this key attribute will assume: - HASH- partition key
- RANGE- sort key
 - The partition key of an item is also known as its hash attribute. The term "hash attribute" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values. The sort key of an item is also known as its range attribute. The term "range attribute" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value. 
- AttributeName string
- The name of a key attribute.
- KeyType string
- The role that this key attribute will assume: - HASH- partition key
- RANGE- sort key
 - The partition key of an item is also known as its hash attribute. The term "hash attribute" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values. The sort key of an item is also known as its range attribute. The term "range attribute" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value. 
- attributeName String
- The name of a key attribute.
- keyType String
- The role that this key attribute will assume: - HASH- partition key
- RANGE- sort key
 - The partition key of an item is also known as its hash attribute. The term "hash attribute" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values. The sort key of an item is also known as its range attribute. The term "range attribute" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value. 
- attributeName string
- The name of a key attribute.
- keyType string
- The role that this key attribute will assume: - HASH- partition key
- RANGE- sort key
 - The partition key of an item is also known as its hash attribute. The term "hash attribute" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values. The sort key of an item is also known as its range attribute. The term "range attribute" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value. 
- attribute_name str
- The name of a key attribute.
- key_type str
- The role that this key attribute will assume: - HASH- partition key
- RANGE- sort key
 - The partition key of an item is also known as its hash attribute. The term "hash attribute" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values. The sort key of an item is also known as its range attribute. The term "range attribute" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value. 
- attributeName String
- The name of a key attribute.
- keyType String
- The role that this key attribute will assume: - HASH- partition key
- RANGE- sort key
 - The partition key of an item is also known as its hash attribute. The term "hash attribute" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values. The sort key of an item is also known as its range attribute. The term "range attribute" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value. 
TableKinesisStreamSpecification, TableKinesisStreamSpecificationArgs        
- StreamArn string
- The ARN for a specific Kinesis data stream. Length Constraints: Minimum length of 37. Maximum length of 1024.
- ApproximateCreation Pulumi.Date Time Precision Aws Native. Dynamo Db. Table Kinesis Stream Specification Approximate Creation Date Time Precision 
- The precision for the time and date that the stream was created.
- StreamArn string
- The ARN for a specific Kinesis data stream. Length Constraints: Minimum length of 37. Maximum length of 1024.
- ApproximateCreation TableDate Time Precision Kinesis Stream Specification Approximate Creation Date Time Precision 
- The precision for the time and date that the stream was created.
- streamArn String
- The ARN for a specific Kinesis data stream. Length Constraints: Minimum length of 37. Maximum length of 1024.
- approximateCreation TableDate Time Precision Kinesis Stream Specification Approximate Creation Date Time Precision 
- The precision for the time and date that the stream was created.
- streamArn string
- The ARN for a specific Kinesis data stream. Length Constraints: Minimum length of 37. Maximum length of 1024.
- approximateCreation TableDate Time Precision Kinesis Stream Specification Approximate Creation Date Time Precision 
- The precision for the time and date that the stream was created.
- stream_arn str
- The ARN for a specific Kinesis data stream. Length Constraints: Minimum length of 37. Maximum length of 1024.
- approximate_creation_ Tabledate_ time_ precision Kinesis Stream Specification Approximate Creation Date Time Precision 
- The precision for the time and date that the stream was created.
- streamArn String
- The ARN for a specific Kinesis data stream. Length Constraints: Minimum length of 37. Maximum length of 1024.
- approximateCreation "MICROSECOND" | "MILLISECOND"Date Time Precision 
- The precision for the time and date that the stream was created.
TableKinesisStreamSpecificationApproximateCreationDateTimePrecision, TableKinesisStreamSpecificationApproximateCreationDateTimePrecisionArgs                  
- Microsecond
- MICROSECOND
- Millisecond
- MILLISECOND
- TableKinesis Stream Specification Approximate Creation Date Time Precision Microsecond 
- MICROSECOND
- TableKinesis Stream Specification Approximate Creation Date Time Precision Millisecond 
- MILLISECOND
- Microsecond
- MICROSECOND
- Millisecond
- MILLISECOND
- Microsecond
- MICROSECOND
- Millisecond
- MILLISECOND
- MICROSECOND
- MICROSECOND
- MILLISECOND
- MILLISECOND
- "MICROSECOND"
- MICROSECOND
- "MILLISECOND"
- MILLISECOND
TableLocalSecondaryIndex, TableLocalSecondaryIndexArgs        
- IndexName string
- The name of the local secondary index. The name must be unique among all other indexes on this table.
- KeySchema List<Pulumi.Aws Native. Dynamo Db. Inputs. Table Key Schema> 
- The complete key schema for the local secondary index, consisting of one or more pairs of attribute names and key types: - HASH- partition key
- RANGE- sort key
 - The partition key of an item is also known as its hash attribute. The term "hash attribute" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values. The sort key of an item is also known as its range attribute. The term "range attribute" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value. 
- Projection
Pulumi.Aws Native. Dynamo Db. Inputs. Table Projection 
- Represents attributes that are copied (projected) from the table into the local secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.
- IndexName string
- The name of the local secondary index. The name must be unique among all other indexes on this table.
- KeySchema []TableKey Schema 
- The complete key schema for the local secondary index, consisting of one or more pairs of attribute names and key types: - HASH- partition key
- RANGE- sort key
 - The partition key of an item is also known as its hash attribute. The term "hash attribute" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values. The sort key of an item is also known as its range attribute. The term "range attribute" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value. 
- Projection
TableProjection 
- Represents attributes that are copied (projected) from the table into the local secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.
- indexName String
- The name of the local secondary index. The name must be unique among all other indexes on this table.
- keySchema List<TableKey Schema> 
- The complete key schema for the local secondary index, consisting of one or more pairs of attribute names and key types: - HASH- partition key
- RANGE- sort key
 - The partition key of an item is also known as its hash attribute. The term "hash attribute" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values. The sort key of an item is also known as its range attribute. The term "range attribute" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value. 
- projection
TableProjection 
- Represents attributes that are copied (projected) from the table into the local secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.
- indexName string
- The name of the local secondary index. The name must be unique among all other indexes on this table.
- keySchema TableKey Schema[] 
- The complete key schema for the local secondary index, consisting of one or more pairs of attribute names and key types: - HASH- partition key
- RANGE- sort key
 - The partition key of an item is also known as its hash attribute. The term "hash attribute" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values. The sort key of an item is also known as its range attribute. The term "range attribute" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value. 
- projection
TableProjection 
- Represents attributes that are copied (projected) from the table into the local secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.
- index_name str
- The name of the local secondary index. The name must be unique among all other indexes on this table.
- key_schema Sequence[TableKey Schema] 
- The complete key schema for the local secondary index, consisting of one or more pairs of attribute names and key types: - HASH- partition key
- RANGE- sort key
 - The partition key of an item is also known as its hash attribute. The term "hash attribute" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values. The sort key of an item is also known as its range attribute. The term "range attribute" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value. 
- projection
TableProjection 
- Represents attributes that are copied (projected) from the table into the local secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.
- indexName String
- The name of the local secondary index. The name must be unique among all other indexes on this table.
- keySchema List<Property Map>
- The complete key schema for the local secondary index, consisting of one or more pairs of attribute names and key types: - HASH- partition key
- RANGE- sort key
 - The partition key of an item is also known as its hash attribute. The term "hash attribute" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values. The sort key of an item is also known as its range attribute. The term "range attribute" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value. 
- projection Property Map
- Represents attributes that are copied (projected) from the table into the local secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.
TableOnDemandThroughput, TableOnDemandThroughputArgs        
- MaxRead intRequest Units 
- Maximum number of read request units for the specified table.
To specify a maximum OnDemandThroughputon your table, set the value ofMaxReadRequestUnitsas greater than or equal to 1. To remove the maximumOnDemandThroughputthat is currently set on your table, set the value ofMaxReadRequestUnitsto -1.
- MaxWrite intRequest Units 
- Maximum number of write request units for the specified table.
To specify a maximum OnDemandThroughputon your table, set the value ofMaxWriteRequestUnitsas greater than or equal to 1. To remove the maximumOnDemandThroughputthat is currently set on your table, set the value ofMaxWriteRequestUnitsto -1.
- MaxRead intRequest Units 
- Maximum number of read request units for the specified table.
To specify a maximum OnDemandThroughputon your table, set the value ofMaxReadRequestUnitsas greater than or equal to 1. To remove the maximumOnDemandThroughputthat is currently set on your table, set the value ofMaxReadRequestUnitsto -1.
- MaxWrite intRequest Units 
- Maximum number of write request units for the specified table.
To specify a maximum OnDemandThroughputon your table, set the value ofMaxWriteRequestUnitsas greater than or equal to 1. To remove the maximumOnDemandThroughputthat is currently set on your table, set the value ofMaxWriteRequestUnitsto -1.
- maxRead IntegerRequest Units 
- Maximum number of read request units for the specified table.
To specify a maximum OnDemandThroughputon your table, set the value ofMaxReadRequestUnitsas greater than or equal to 1. To remove the maximumOnDemandThroughputthat is currently set on your table, set the value ofMaxReadRequestUnitsto -1.
- maxWrite IntegerRequest Units 
- Maximum number of write request units for the specified table.
To specify a maximum OnDemandThroughputon your table, set the value ofMaxWriteRequestUnitsas greater than or equal to 1. To remove the maximumOnDemandThroughputthat is currently set on your table, set the value ofMaxWriteRequestUnitsto -1.
- maxRead numberRequest Units 
- Maximum number of read request units for the specified table.
To specify a maximum OnDemandThroughputon your table, set the value ofMaxReadRequestUnitsas greater than or equal to 1. To remove the maximumOnDemandThroughputthat is currently set on your table, set the value ofMaxReadRequestUnitsto -1.
- maxWrite numberRequest Units 
- Maximum number of write request units for the specified table.
To specify a maximum OnDemandThroughputon your table, set the value ofMaxWriteRequestUnitsas greater than or equal to 1. To remove the maximumOnDemandThroughputthat is currently set on your table, set the value ofMaxWriteRequestUnitsto -1.
- max_read_ intrequest_ units 
- Maximum number of read request units for the specified table.
To specify a maximum OnDemandThroughputon your table, set the value ofMaxReadRequestUnitsas greater than or equal to 1. To remove the maximumOnDemandThroughputthat is currently set on your table, set the value ofMaxReadRequestUnitsto -1.
- max_write_ intrequest_ units 
- Maximum number of write request units for the specified table.
To specify a maximum OnDemandThroughputon your table, set the value ofMaxWriteRequestUnitsas greater than or equal to 1. To remove the maximumOnDemandThroughputthat is currently set on your table, set the value ofMaxWriteRequestUnitsto -1.
- maxRead NumberRequest Units 
- Maximum number of read request units for the specified table.
To specify a maximum OnDemandThroughputon your table, set the value ofMaxReadRequestUnitsas greater than or equal to 1. To remove the maximumOnDemandThroughputthat is currently set on your table, set the value ofMaxReadRequestUnitsto -1.
- maxWrite NumberRequest Units 
- Maximum number of write request units for the specified table.
To specify a maximum OnDemandThroughputon your table, set the value ofMaxWriteRequestUnitsas greater than or equal to 1. To remove the maximumOnDemandThroughputthat is currently set on your table, set the value ofMaxWriteRequestUnitsto -1.
TablePointInTimeRecoverySpecification, TablePointInTimeRecoverySpecificationArgs            
- PointIn boolTime Recovery Enabled 
- Indicates whether point in time recovery is enabled (true) or disabled (false) on the table.
- RecoveryPeriod intIn Days 
- The number of preceding days for which continuous backups are taken and maintained. Your table data is only recoverable to any point-in-time from within the configured recovery period. This parameter is optional. If no value is provided, the value will default to 35.
- PointIn boolTime Recovery Enabled 
- Indicates whether point in time recovery is enabled (true) or disabled (false) on the table.
- RecoveryPeriod intIn Days 
- The number of preceding days for which continuous backups are taken and maintained. Your table data is only recoverable to any point-in-time from within the configured recovery period. This parameter is optional. If no value is provided, the value will default to 35.
- pointIn BooleanTime Recovery Enabled 
- Indicates whether point in time recovery is enabled (true) or disabled (false) on the table.
- recoveryPeriod IntegerIn Days 
- The number of preceding days for which continuous backups are taken and maintained. Your table data is only recoverable to any point-in-time from within the configured recovery period. This parameter is optional. If no value is provided, the value will default to 35.
- pointIn booleanTime Recovery Enabled 
- Indicates whether point in time recovery is enabled (true) or disabled (false) on the table.
- recoveryPeriod numberIn Days 
- The number of preceding days for which continuous backups are taken and maintained. Your table data is only recoverable to any point-in-time from within the configured recovery period. This parameter is optional. If no value is provided, the value will default to 35.
- point_in_ booltime_ recovery_ enabled 
- Indicates whether point in time recovery is enabled (true) or disabled (false) on the table.
- recovery_period_ intin_ days 
- The number of preceding days for which continuous backups are taken and maintained. Your table data is only recoverable to any point-in-time from within the configured recovery period. This parameter is optional. If no value is provided, the value will default to 35.
- pointIn BooleanTime Recovery Enabled 
- Indicates whether point in time recovery is enabled (true) or disabled (false) on the table.
- recoveryPeriod NumberIn Days 
- The number of preceding days for which continuous backups are taken and maintained. Your table data is only recoverable to any point-in-time from within the configured recovery period. This parameter is optional. If no value is provided, the value will default to 35.
TableProjection, TableProjectionArgs    
- NonKey List<string>Attributes 
- Represents the non-key attribute names which will be projected into the index.
For local secondary indexes, the total count of NonKeyAttributessummed across all of the local secondary indexes, must not exceed 100. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.
- ProjectionType string
- The set of attributes that are projected into the index: - KEYS_ONLY- Only the index and primary keys are projected into the index.
- INCLUDE- In addition to the attributes described in- KEYS_ONLY, the secondary index will include other non-key attributes that you specify.
- ALL- All of the table attributes are projected into the index.
 - When using the DynamoDB console, - ALLis selected by default.
- NonKey []stringAttributes 
- Represents the non-key attribute names which will be projected into the index.
For local secondary indexes, the total count of NonKeyAttributessummed across all of the local secondary indexes, must not exceed 100. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.
- ProjectionType string
- The set of attributes that are projected into the index: - KEYS_ONLY- Only the index and primary keys are projected into the index.
- INCLUDE- In addition to the attributes described in- KEYS_ONLY, the secondary index will include other non-key attributes that you specify.
- ALL- All of the table attributes are projected into the index.
 - When using the DynamoDB console, - ALLis selected by default.
- nonKey List<String>Attributes 
- Represents the non-key attribute names which will be projected into the index.
For local secondary indexes, the total count of NonKeyAttributessummed across all of the local secondary indexes, must not exceed 100. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.
- projectionType String
- The set of attributes that are projected into the index: - KEYS_ONLY- Only the index and primary keys are projected into the index.
- INCLUDE- In addition to the attributes described in- KEYS_ONLY, the secondary index will include other non-key attributes that you specify.
- ALL- All of the table attributes are projected into the index.
 - When using the DynamoDB console, - ALLis selected by default.
- nonKey string[]Attributes 
- Represents the non-key attribute names which will be projected into the index.
For local secondary indexes, the total count of NonKeyAttributessummed across all of the local secondary indexes, must not exceed 100. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.
- projectionType string
- The set of attributes that are projected into the index: - KEYS_ONLY- Only the index and primary keys are projected into the index.
- INCLUDE- In addition to the attributes described in- KEYS_ONLY, the secondary index will include other non-key attributes that you specify.
- ALL- All of the table attributes are projected into the index.
 - When using the DynamoDB console, - ALLis selected by default.
- non_key_ Sequence[str]attributes 
- Represents the non-key attribute names which will be projected into the index.
For local secondary indexes, the total count of NonKeyAttributessummed across all of the local secondary indexes, must not exceed 100. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.
- projection_type str
- The set of attributes that are projected into the index: - KEYS_ONLY- Only the index and primary keys are projected into the index.
- INCLUDE- In addition to the attributes described in- KEYS_ONLY, the secondary index will include other non-key attributes that you specify.
- ALL- All of the table attributes are projected into the index.
 - When using the DynamoDB console, - ALLis selected by default.
- nonKey List<String>Attributes 
- Represents the non-key attribute names which will be projected into the index.
For local secondary indexes, the total count of NonKeyAttributessummed across all of the local secondary indexes, must not exceed 100. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.
- projectionType String
- The set of attributes that are projected into the index: - KEYS_ONLY- Only the index and primary keys are projected into the index.
- INCLUDE- In addition to the attributes described in- KEYS_ONLY, the secondary index will include other non-key attributes that you specify.
- ALL- All of the table attributes are projected into the index.
 - When using the DynamoDB console, - ALLis selected by default.
TableProvisionedThroughput, TableProvisionedThroughputArgs      
- ReadCapacity intUnits 
- The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB Developer Guide. If read/write capacity mode isPAY_PER_REQUESTthe value is set to 0.
- WriteCapacity intUnits 
- The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB Developer Guide. If read/write capacity mode isPAY_PER_REQUESTthe value is set to 0.
- ReadCapacity intUnits 
- The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB Developer Guide. If read/write capacity mode isPAY_PER_REQUESTthe value is set to 0.
- WriteCapacity intUnits 
- The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB Developer Guide. If read/write capacity mode isPAY_PER_REQUESTthe value is set to 0.
- readCapacity IntegerUnits 
- The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB Developer Guide. If read/write capacity mode isPAY_PER_REQUESTthe value is set to 0.
- writeCapacity IntegerUnits 
- The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB Developer Guide. If read/write capacity mode isPAY_PER_REQUESTthe value is set to 0.
- readCapacity numberUnits 
- The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB Developer Guide. If read/write capacity mode isPAY_PER_REQUESTthe value is set to 0.
- writeCapacity numberUnits 
- The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB Developer Guide. If read/write capacity mode isPAY_PER_REQUESTthe value is set to 0.
- read_capacity_ intunits 
- The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB Developer Guide. If read/write capacity mode isPAY_PER_REQUESTthe value is set to 0.
- write_capacity_ intunits 
- The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB Developer Guide. If read/write capacity mode isPAY_PER_REQUESTthe value is set to 0.
- readCapacity NumberUnits 
- The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB Developer Guide. If read/write capacity mode isPAY_PER_REQUESTthe value is set to 0.
- writeCapacity NumberUnits 
- The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB Developer Guide. If read/write capacity mode isPAY_PER_REQUESTthe value is set to 0.
TableResourcePolicy, TableResourcePolicyArgs      
- PolicyDocument object
- A resource-based policy document that contains permissions to add to the specified DDB table, index, or both. In a CFNshort template, you can provide the policy in JSON or YAML format because CFNshort converts YAML to JSON before submitting it to DDB. For more information about resource-based policies, see Using resource-based policies for and Resource-based policy examples.
- PolicyDocument interface{}
- A resource-based policy document that contains permissions to add to the specified DDB table, index, or both. In a CFNshort template, you can provide the policy in JSON or YAML format because CFNshort converts YAML to JSON before submitting it to DDB. For more information about resource-based policies, see Using resource-based policies for and Resource-based policy examples.
- policyDocument Object
- A resource-based policy document that contains permissions to add to the specified DDB table, index, or both. In a CFNshort template, you can provide the policy in JSON or YAML format because CFNshort converts YAML to JSON before submitting it to DDB. For more information about resource-based policies, see Using resource-based policies for and Resource-based policy examples.
- policyDocument any
- A resource-based policy document that contains permissions to add to the specified DDB table, index, or both. In a CFNshort template, you can provide the policy in JSON or YAML format because CFNshort converts YAML to JSON before submitting it to DDB. For more information about resource-based policies, see Using resource-based policies for and Resource-based policy examples.
- policy_document Any
- A resource-based policy document that contains permissions to add to the specified DDB table, index, or both. In a CFNshort template, you can provide the policy in JSON or YAML format because CFNshort converts YAML to JSON before submitting it to DDB. For more information about resource-based policies, see Using resource-based policies for and Resource-based policy examples.
- policyDocument Any
- A resource-based policy document that contains permissions to add to the specified DDB table, index, or both. In a CFNshort template, you can provide the policy in JSON or YAML format because CFNshort converts YAML to JSON before submitting it to DDB. For more information about resource-based policies, see Using resource-based policies for and Resource-based policy examples.
TableS3BucketSource, TableS3BucketSourceArgs      
- S3Bucket string
- The S3 bucket that is being imported from.
- S3BucketOwner string
- The account number of the S3 bucket that is being imported from. If the bucket is owned by the requester this is optional.
- S3KeyPrefix string
- The key prefix shared by all S3 Objects that are being imported.
- S3Bucket string
- The S3 bucket that is being imported from.
- S3BucketOwner string
- The account number of the S3 bucket that is being imported from. If the bucket is owned by the requester this is optional.
- S3KeyPrefix string
- The key prefix shared by all S3 Objects that are being imported.
- s3Bucket String
- The S3 bucket that is being imported from.
- s3BucketOwner String
- The account number of the S3 bucket that is being imported from. If the bucket is owned by the requester this is optional.
- s3KeyPrefix String
- The key prefix shared by all S3 Objects that are being imported.
- s3Bucket string
- The S3 bucket that is being imported from.
- s3BucketOwner string
- The account number of the S3 bucket that is being imported from. If the bucket is owned by the requester this is optional.
- s3KeyPrefix string
- The key prefix shared by all S3 Objects that are being imported.
- s3_bucket str
- The S3 bucket that is being imported from.
- s3_bucket_ strowner 
- The account number of the S3 bucket that is being imported from. If the bucket is owned by the requester this is optional.
- s3_key_ strprefix 
- The key prefix shared by all S3 Objects that are being imported.
- s3Bucket String
- The S3 bucket that is being imported from.
- s3BucketOwner String
- The account number of the S3 bucket that is being imported from. If the bucket is owned by the requester this is optional.
- s3KeyPrefix String
- The key prefix shared by all S3 Objects that are being imported.
TableSseSpecification, TableSseSpecificationArgs      
- SseEnabled bool
- Indicates whether server-side encryption is done using an AWS managed key or an AWS owned key. If enabled (true), server-side encryption type is set to KMSand an AWS managed key is used (KMS charges apply). If disabled (false) or not specified, server-side encryption is set to AWS owned key.
- KmsMaster stringKey Id 
- The KMS key that should be used for the KMS encryption. To specify a key, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. Note that you should only provide this parameter if the key is different from the default DynamoDB key alias/aws/dynamodb.
- SseType string
- Server-side encryption type. The only supported value is:- KMS- Server-side encryption that uses KMSlong. The key is stored in your account and is managed by KMS (KMS charges apply).
 
- SseEnabled bool
- Indicates whether server-side encryption is done using an AWS managed key or an AWS owned key. If enabled (true), server-side encryption type is set to KMSand an AWS managed key is used (KMS charges apply). If disabled (false) or not specified, server-side encryption is set to AWS owned key.
- KmsMaster stringKey Id 
- The KMS key that should be used for the KMS encryption. To specify a key, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. Note that you should only provide this parameter if the key is different from the default DynamoDB key alias/aws/dynamodb.
- SseType string
- Server-side encryption type. The only supported value is:- KMS- Server-side encryption that uses KMSlong. The key is stored in your account and is managed by KMS (KMS charges apply).
 
- sseEnabled Boolean
- Indicates whether server-side encryption is done using an AWS managed key or an AWS owned key. If enabled (true), server-side encryption type is set to KMSand an AWS managed key is used (KMS charges apply). If disabled (false) or not specified, server-side encryption is set to AWS owned key.
- kmsMaster StringKey Id 
- The KMS key that should be used for the KMS encryption. To specify a key, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. Note that you should only provide this parameter if the key is different from the default DynamoDB key alias/aws/dynamodb.
- sseType String
- Server-side encryption type. The only supported value is:- KMS- Server-side encryption that uses KMSlong. The key is stored in your account and is managed by KMS (KMS charges apply).
 
- sseEnabled boolean
- Indicates whether server-side encryption is done using an AWS managed key or an AWS owned key. If enabled (true), server-side encryption type is set to KMSand an AWS managed key is used (KMS charges apply). If disabled (false) or not specified, server-side encryption is set to AWS owned key.
- kmsMaster stringKey Id 
- The KMS key that should be used for the KMS encryption. To specify a key, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. Note that you should only provide this parameter if the key is different from the default DynamoDB key alias/aws/dynamodb.
- sseType string
- Server-side encryption type. The only supported value is:- KMS- Server-side encryption that uses KMSlong. The key is stored in your account and is managed by KMS (KMS charges apply).
 
- sse_enabled bool
- Indicates whether server-side encryption is done using an AWS managed key or an AWS owned key. If enabled (true), server-side encryption type is set to KMSand an AWS managed key is used (KMS charges apply). If disabled (false) or not specified, server-side encryption is set to AWS owned key.
- kms_master_ strkey_ id 
- The KMS key that should be used for the KMS encryption. To specify a key, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. Note that you should only provide this parameter if the key is different from the default DynamoDB key alias/aws/dynamodb.
- sse_type str
- Server-side encryption type. The only supported value is:- KMS- Server-side encryption that uses KMSlong. The key is stored in your account and is managed by KMS (KMS charges apply).
 
- sseEnabled Boolean
- Indicates whether server-side encryption is done using an AWS managed key or an AWS owned key. If enabled (true), server-side encryption type is set to KMSand an AWS managed key is used (KMS charges apply). If disabled (false) or not specified, server-side encryption is set to AWS owned key.
- kmsMaster StringKey Id 
- The KMS key that should be used for the KMS encryption. To specify a key, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. Note that you should only provide this parameter if the key is different from the default DynamoDB key alias/aws/dynamodb.
- sseType String
- Server-side encryption type. The only supported value is:- KMS- Server-side encryption that uses KMSlong. The key is stored in your account and is managed by KMS (KMS charges apply).
 
TableStreamSpecification, TableStreamSpecificationArgs      
- StreamView stringType 
- When an item in the table is modified, StreamViewTypedetermines what information is written to the stream for this table. Valid values forStreamViewTypeare:- KEYS_ONLY- Only the key attributes of the modified item are written to the stream.
- NEW_IMAGE- The entire item, as it appears after it was modified, is written to the stream.
- OLD_IMAGE- The entire item, as it appeared before it was modified, is written to the stream.
- NEW_AND_OLD_IMAGES- Both the new and the old item images of the item are written to the stream.
 
- ResourcePolicy Pulumi.Aws Native. Dynamo Db. Inputs. Table Resource Policy 
- Creates or updates a resource-based policy document that contains the permissions for DDB resources, such as a table's streams. Resource-based policies let you define access permissions by specifying who has access to each resource, and the actions they are allowed to perform on each resource. In a CFNshort template, you can provide the policy in JSON or YAML format because CFNshort converts YAML to JSON before submitting it to DDB. For more information about resource-based policies, see Using resource-based policies for and Resource-based policy examples.
- StreamView stringType 
- When an item in the table is modified, StreamViewTypedetermines what information is written to the stream for this table. Valid values forStreamViewTypeare:- KEYS_ONLY- Only the key attributes of the modified item are written to the stream.
- NEW_IMAGE- The entire item, as it appears after it was modified, is written to the stream.
- OLD_IMAGE- The entire item, as it appeared before it was modified, is written to the stream.
- NEW_AND_OLD_IMAGES- Both the new and the old item images of the item are written to the stream.
 
- ResourcePolicy TableResource Policy 
- Creates or updates a resource-based policy document that contains the permissions for DDB resources, such as a table's streams. Resource-based policies let you define access permissions by specifying who has access to each resource, and the actions they are allowed to perform on each resource. In a CFNshort template, you can provide the policy in JSON or YAML format because CFNshort converts YAML to JSON before submitting it to DDB. For more information about resource-based policies, see Using resource-based policies for and Resource-based policy examples.
- streamView StringType 
- When an item in the table is modified, StreamViewTypedetermines what information is written to the stream for this table. Valid values forStreamViewTypeare:- KEYS_ONLY- Only the key attributes of the modified item are written to the stream.
- NEW_IMAGE- The entire item, as it appears after it was modified, is written to the stream.
- OLD_IMAGE- The entire item, as it appeared before it was modified, is written to the stream.
- NEW_AND_OLD_IMAGES- Both the new and the old item images of the item are written to the stream.
 
- resourcePolicy TableResource Policy 
- Creates or updates a resource-based policy document that contains the permissions for DDB resources, such as a table's streams. Resource-based policies let you define access permissions by specifying who has access to each resource, and the actions they are allowed to perform on each resource. In a CFNshort template, you can provide the policy in JSON or YAML format because CFNshort converts YAML to JSON before submitting it to DDB. For more information about resource-based policies, see Using resource-based policies for and Resource-based policy examples.
- streamView stringType 
- When an item in the table is modified, StreamViewTypedetermines what information is written to the stream for this table. Valid values forStreamViewTypeare:- KEYS_ONLY- Only the key attributes of the modified item are written to the stream.
- NEW_IMAGE- The entire item, as it appears after it was modified, is written to the stream.
- OLD_IMAGE- The entire item, as it appeared before it was modified, is written to the stream.
- NEW_AND_OLD_IMAGES- Both the new and the old item images of the item are written to the stream.
 
- resourcePolicy TableResource Policy 
- Creates or updates a resource-based policy document that contains the permissions for DDB resources, such as a table's streams. Resource-based policies let you define access permissions by specifying who has access to each resource, and the actions they are allowed to perform on each resource. In a CFNshort template, you can provide the policy in JSON or YAML format because CFNshort converts YAML to JSON before submitting it to DDB. For more information about resource-based policies, see Using resource-based policies for and Resource-based policy examples.
- stream_view_ strtype 
- When an item in the table is modified, StreamViewTypedetermines what information is written to the stream for this table. Valid values forStreamViewTypeare:- KEYS_ONLY- Only the key attributes of the modified item are written to the stream.
- NEW_IMAGE- The entire item, as it appears after it was modified, is written to the stream.
- OLD_IMAGE- The entire item, as it appeared before it was modified, is written to the stream.
- NEW_AND_OLD_IMAGES- Both the new and the old item images of the item are written to the stream.
 
- resource_policy TableResource Policy 
- Creates or updates a resource-based policy document that contains the permissions for DDB resources, such as a table's streams. Resource-based policies let you define access permissions by specifying who has access to each resource, and the actions they are allowed to perform on each resource. In a CFNshort template, you can provide the policy in JSON or YAML format because CFNshort converts YAML to JSON before submitting it to DDB. For more information about resource-based policies, see Using resource-based policies for and Resource-based policy examples.
- streamView StringType 
- When an item in the table is modified, StreamViewTypedetermines what information is written to the stream for this table. Valid values forStreamViewTypeare:- KEYS_ONLY- Only the key attributes of the modified item are written to the stream.
- NEW_IMAGE- The entire item, as it appears after it was modified, is written to the stream.
- OLD_IMAGE- The entire item, as it appeared before it was modified, is written to the stream.
- NEW_AND_OLD_IMAGES- Both the new and the old item images of the item are written to the stream.
 
- resourcePolicy Property Map
- Creates or updates a resource-based policy document that contains the permissions for DDB resources, such as a table's streams. Resource-based policies let you define access permissions by specifying who has access to each resource, and the actions they are allowed to perform on each resource. In a CFNshort template, you can provide the policy in JSON or YAML format because CFNshort converts YAML to JSON before submitting it to DDB. For more information about resource-based policies, see Using resource-based policies for and Resource-based policy examples.
TableTimeToLiveSpecification, TableTimeToLiveSpecificationArgs          
- Enabled bool
- Indicates whether TTL is to be enabled (true) or disabled (false) on the table.
- AttributeName string
- The name of the TTL attribute used to store the expiration time for items in the table.- The AttributeNameproperty is required when enabling the TTL, or when TTL is already enabled.
- To update this property, you must first disable TTL and then enable TTL with the new attribute name.
 
- The 
- Enabled bool
- Indicates whether TTL is to be enabled (true) or disabled (false) on the table.
- AttributeName string
- The name of the TTL attribute used to store the expiration time for items in the table.- The AttributeNameproperty is required when enabling the TTL, or when TTL is already enabled.
- To update this property, you must first disable TTL and then enable TTL with the new attribute name.
 
- The 
- enabled Boolean
- Indicates whether TTL is to be enabled (true) or disabled (false) on the table.
- attributeName String
- The name of the TTL attribute used to store the expiration time for items in the table.- The AttributeNameproperty is required when enabling the TTL, or when TTL is already enabled.
- To update this property, you must first disable TTL and then enable TTL with the new attribute name.
 
- The 
- enabled boolean
- Indicates whether TTL is to be enabled (true) or disabled (false) on the table.
- attributeName string
- The name of the TTL attribute used to store the expiration time for items in the table.- The AttributeNameproperty is required when enabling the TTL, or when TTL is already enabled.
- To update this property, you must first disable TTL and then enable TTL with the new attribute name.
 
- The 
- enabled bool
- Indicates whether TTL is to be enabled (true) or disabled (false) on the table.
- attribute_name str
- The name of the TTL attribute used to store the expiration time for items in the table.- The AttributeNameproperty is required when enabling the TTL, or when TTL is already enabled.
- To update this property, you must first disable TTL and then enable TTL with the new attribute name.
 
- The 
- enabled Boolean
- Indicates whether TTL is to be enabled (true) or disabled (false) on the table.
- attributeName String
- The name of the TTL attribute used to store the expiration time for items in the table.- The AttributeNameproperty is required when enabling the TTL, or when TTL is already enabled.
- To update this property, you must first disable TTL and then enable TTL with the new attribute name.
 
- The 
TableWarmThroughput, TableWarmThroughputArgs      
- ReadUnits intPer Second 
- Represents the number of read operations your base table can instantaneously support.
- WriteUnits intPer Second 
- Represents the number of write operations your base table can instantaneously support.
- ReadUnits intPer Second 
- Represents the number of read operations your base table can instantaneously support.
- WriteUnits intPer Second 
- Represents the number of write operations your base table can instantaneously support.
- readUnits IntegerPer Second 
- Represents the number of read operations your base table can instantaneously support.
- writeUnits IntegerPer Second 
- Represents the number of write operations your base table can instantaneously support.
- readUnits numberPer Second 
- Represents the number of read operations your base table can instantaneously support.
- writeUnits numberPer Second 
- Represents the number of write operations your base table can instantaneously support.
- read_units_ intper_ second 
- Represents the number of read operations your base table can instantaneously support.
- write_units_ intper_ second 
- Represents the number of write operations your base table can instantaneously support.
- readUnits NumberPer Second 
- Represents the number of read operations your base table can instantaneously support.
- writeUnits NumberPer Second 
- Represents the number of write operations your base table can instantaneously support.
Tag, TagArgs  
Package Details
- Repository
- AWS Native pulumi/pulumi-aws-native
- License
- Apache-2.0
We recommend new projects start with resources from the AWS provider.