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

AWS Native is in preview. AWS Classic is fully supported.

AWS Native v0.109.0 published on Wednesday, Jun 26, 2024 by Pulumi

aws-native.dynamodb.Table

Explore with Pulumi AI

aws-native logo

AWS Native is in preview. AWS Classic is fully supported.

AWS Native v0.109.0 published on Wednesday, Jun 26, 2024 by Pulumi

    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 here 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.TableKeySchemaArgs{
    						{
    							AttributeName: pulumi.String("Sales"),
    							KeyType:       pulumi.String("HASH"),
    						},
    						{
    							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.TableKeySchemaArgs{
    						{
    							AttributeName: pulumi.String("NumberOfSongs"),
    							KeyType:       pulumi.String("HASH"),
    						},
    						{
    							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.TableKeySchemaArgs{
    						{
    							AttributeName: pulumi.String("Album"),
    							KeyType:       pulumi.String("HASH"),
    						},
    						{
    							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 pulumi
    import pulumi_aws_native as aws_native
    
    my_dynamo_db_table = aws_native.dynamodb.Table("myDynamoDBTable",
        attribute_definitions=[
            aws_native.dynamodb.TableAttributeDefinitionArgs(
                attribute_name="Album",
                attribute_type="S",
            ),
            aws_native.dynamodb.TableAttributeDefinitionArgs(
                attribute_name="Artist",
                attribute_type="S",
            ),
            aws_native.dynamodb.TableAttributeDefinitionArgs(
                attribute_name="Sales",
                attribute_type="N",
            ),
            aws_native.dynamodb.TableAttributeDefinitionArgs(
                attribute_name="NumberOfSongs",
                attribute_type="N",
            ),
        ],
        key_schema=[
            aws_native.dynamodb.TableKeySchemaArgs(
                attribute_name="Album",
                key_type="HASH",
            ),
            aws_native.dynamodb.TableKeySchemaArgs(
                attribute_name="Artist",
                key_type="RANGE",
            ),
        ],
        provisioned_throughput=aws_native.dynamodb.TableProvisionedThroughputArgs(
            read_capacity_units=5,
            write_capacity_units=5,
        ),
        table_name="myTableName",
        global_secondary_indexes=[
            aws_native.dynamodb.TableGlobalSecondaryIndexArgs(
                index_name="myGSI",
                key_schema=[
                    aws_native.dynamodb.TableKeySchemaArgs(
                        attribute_name="Sales",
                        key_type="HASH",
                    ),
                    aws_native.dynamodb.TableKeySchemaArgs(
                        attribute_name="Artist",
                        key_type="RANGE",
                    ),
                ],
                projection=aws_native.dynamodb.TableProjectionArgs(
                    non_key_attributes=[
                        "Album",
                        "NumberOfSongs",
                    ],
                    projection_type="INCLUDE",
                ),
                provisioned_throughput=aws_native.dynamodb.TableProvisionedThroughputArgs(
                    read_capacity_units=5,
                    write_capacity_units=5,
                ),
            ),
            aws_native.dynamodb.TableGlobalSecondaryIndexArgs(
                index_name="myGSI2",
                key_schema=[
                    aws_native.dynamodb.TableKeySchemaArgs(
                        attribute_name="NumberOfSongs",
                        key_type="HASH",
                    ),
                    aws_native.dynamodb.TableKeySchemaArgs(
                        attribute_name="Sales",
                        key_type="RANGE",
                    ),
                ],
                projection=aws_native.dynamodb.TableProjectionArgs(
                    non_key_attributes=[
                        "Album",
                        "Artist",
                    ],
                    projection_type="INCLUDE",
                ),
                provisioned_throughput=aws_native.dynamodb.TableProvisionedThroughputArgs(
                    read_capacity_units=5,
                    write_capacity_units=5,
                ),
            ),
        ],
        local_secondary_indexes=[aws_native.dynamodb.TableLocalSecondaryIndexArgs(
            index_name="myLSI",
            key_schema=[
                aws_native.dynamodb.TableKeySchemaArgs(
                    attribute_name="Album",
                    key_type="HASH",
                ),
                aws_native.dynamodb.TableKeySchemaArgs(
                    attribute_name="Sales",
                    key_type="RANGE",
                ),
            ],
            projection=aws_native.dynamodb.TableProjectionArgs(
                non_key_attributes=[
                    "Artist",
                    "NumberOfSongs",
                ],
                projection_type="INCLUDE",
            ),
        )])
    
    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",
            },
        }],
    });
    

    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.TableKeySchemaArgs{
    						{
    							AttributeName: pulumi.String("Sales"),
    							KeyType:       pulumi.String("HASH"),
    						},
    						{
    							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.TableKeySchemaArgs{
    						{
    							AttributeName: pulumi.String("NumberOfSongs"),
    							KeyType:       pulumi.String("HASH"),
    						},
    						{
    							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.TableKeySchemaArgs{
    						{
    							AttributeName: pulumi.String("Album"),
    							KeyType:       pulumi.String("HASH"),
    						},
    						{
    							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 pulumi
    import pulumi_aws_native as aws_native
    
    my_dynamo_db_table = aws_native.dynamodb.Table("myDynamoDBTable",
        attribute_definitions=[
            aws_native.dynamodb.TableAttributeDefinitionArgs(
                attribute_name="Album",
                attribute_type="S",
            ),
            aws_native.dynamodb.TableAttributeDefinitionArgs(
                attribute_name="Artist",
                attribute_type="S",
            ),
            aws_native.dynamodb.TableAttributeDefinitionArgs(
                attribute_name="Sales",
                attribute_type="N",
            ),
            aws_native.dynamodb.TableAttributeDefinitionArgs(
                attribute_name="NumberOfSongs",
                attribute_type="N",
            ),
        ],
        key_schema=[
            aws_native.dynamodb.TableKeySchemaArgs(
                attribute_name="Album",
                key_type="HASH",
            ),
            aws_native.dynamodb.TableKeySchemaArgs(
                attribute_name="Artist",
                key_type="RANGE",
            ),
        ],
        provisioned_throughput=aws_native.dynamodb.TableProvisionedThroughputArgs(
            read_capacity_units=5,
            write_capacity_units=5,
        ),
        table_name="myTableName",
        global_secondary_indexes=[
            aws_native.dynamodb.TableGlobalSecondaryIndexArgs(
                index_name="myGSI",
                key_schema=[
                    aws_native.dynamodb.TableKeySchemaArgs(
                        attribute_name="Sales",
                        key_type="HASH",
                    ),
                    aws_native.dynamodb.TableKeySchemaArgs(
                        attribute_name="Artist",
                        key_type="RANGE",
                    ),
                ],
                projection=aws_native.dynamodb.TableProjectionArgs(
                    non_key_attributes=[
                        "Album",
                        "NumberOfSongs",
                    ],
                    projection_type="INCLUDE",
                ),
                provisioned_throughput=aws_native.dynamodb.TableProvisionedThroughputArgs(
                    read_capacity_units=5,
                    write_capacity_units=5,
                ),
            ),
            aws_native.dynamodb.TableGlobalSecondaryIndexArgs(
                index_name="myGSI2",
                key_schema=[
                    aws_native.dynamodb.TableKeySchemaArgs(
                        attribute_name="NumberOfSongs",
                        key_type="HASH",
                    ),
                    aws_native.dynamodb.TableKeySchemaArgs(
                        attribute_name="Sales",
                        key_type="RANGE",
                    ),
                ],
                projection=aws_native.dynamodb.TableProjectionArgs(
                    non_key_attributes=[
                        "Album",
                        "Artist",
                    ],
                    projection_type="INCLUDE",
                ),
                provisioned_throughput=aws_native.dynamodb.TableProvisionedThroughputArgs(
                    read_capacity_units=5,
                    write_capacity_units=5,
                ),
            ),
        ],
        local_secondary_indexes=[aws_native.dynamodb.TableLocalSecondaryIndexArgs(
            index_name="myLSI",
            key_schema=[
                aws_native.dynamodb.TableKeySchemaArgs(
                    attribute_name="Album",
                    key_type="HASH",
                ),
                aws_native.dynamodb.TableKeySchemaArgs(
                    attribute_name="Sales",
                    key_type="RANGE",
                ),
            ],
            projection=aws_native.dynamodb.TableProjectionArgs(
                non_key_attributes=[
                    "Artist",
                    "NumberOfSongs",
                ],
                projection_type="INCLUDE",
            ),
        )])
    
    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",
            },
        }],
    });
    

    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,
              local_secondary_indexes: Optional[Sequence[TableLocalSecondaryIndexArgs]] = None,
              deletion_protection_enabled: Optional[bool] = None,
              point_in_time_recovery_specification: Optional[TablePointInTimeRecoverySpecificationArgs] = None,
              provisioned_throughput: Optional[TableProvisionedThroughputArgs] = None,
              import_source_specification: Optional[TableImportSourceSpecificationArgs] = None,
              billing_mode: Optional[str] = None,
              kinesis_stream_specification: Optional[TableKinesisStreamSpecificationArgs] = None,
              attribute_definitions: Optional[Sequence[TableAttributeDefinitionArgs]] = None,
              time_to_live_specification: Optional[TableTimeToLiveSpecificationArgs] = None,
              contributor_insights_specification: Optional[TableContributorInsightsSpecificationArgs] = None,
              global_secondary_indexes: Optional[Sequence[TableGlobalSecondaryIndexArgs]] = None,
              resource_policy: Optional[TableResourcePolicyArgs] = 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,
              on_demand_throughput: Optional[TableOnDemandThroughputArgs] = None)
    func NewTable(ctx *Context, name string, args TableArgs, opts ...ResourceOption) (*Table, error)
    public Table(string name, TableArgs args, CustomResourceOptions? opts = null)
    public Table(String name, TableArgs args)
    public Table(String name, TableArgs args, CustomResourceOptions options)
    
    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

    The Table resource accepts the following input properties:

    KeySchema List<Pulumi.AwsNative.DynamoDb.Inputs.TableKeySchema> | object
    Specifies the attributes that make up the primary key for the table. The attributes in the KeySchema property must also be defined in the AttributeDefinitions property.
    AttributeDefinitions List<Pulumi.AwsNative.DynamoDb.Inputs.TableAttributeDefinition>
    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:

    • PROVISIONED - We recommend using PROVISIONED for predictable workloads. PROVISIONED sets the billing mode to Provisioned Mode.
    • PAY_PER_REQUEST - We recommend using PAY_PER_REQUEST for unpredictable workloads. PAY_PER_REQUEST sets the billing mode to On-Demand Mode.

    If not specified, the default is PROVISIONED.

    ContributorInsightsSpecification Pulumi.AwsNative.DynamoDb.Inputs.TableContributorInsightsSpecification
    The settings used to enable or disable CloudWatch Contributor Insights for the specified table.
    DeletionProtectionEnabled bool
    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.
    GlobalSecondaryIndexes List<Pulumi.AwsNative.DynamoDb.Inputs.TableGlobalSecondaryIndex>
    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.
    ImportSourceSpecification Pulumi.AwsNative.DynamoDb.Inputs.TableImportSourceSpecification
    Specifies the properties of data being imported from the S3 bucket source to the table. If you specify the ImportSourceSpecification property, and also specify either the StreamSpecification, the TableClass property, or the DeletionProtectionEnabled property, the IAM entity creating/updating stack must have UpdateTable permission.
    KinesisStreamSpecification Pulumi.AwsNative.DynamoDb.Inputs.TableKinesisStreamSpecification
    The Kinesis Data Streams configuration for the specified table.
    LocalSecondaryIndexes List<Pulumi.AwsNative.DynamoDb.Inputs.TableLocalSecondaryIndex>
    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.
    OnDemandThroughput Pulumi.AwsNative.DynamoDb.Inputs.TableOnDemandThroughput
    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.
    PointInTimeRecoverySpecification Pulumi.AwsNative.DynamoDb.Inputs.TablePointInTimeRecoverySpecification
    The settings used to enable point in time recovery.
    ProvisionedThroughput Pulumi.AwsNative.DynamoDb.Inputs.TableProvisionedThroughput
    Throughput for the specified table, which consists of values for ReadCapacityUnits and WriteCapacityUnits. For more information about the contents of a provisioned throughput structure, see Amazon DynamoDB Table ProvisionedThroughput. If you set BillingMode as PROVISIONED, you must specify this property. If you set BillingMode as PAY_PER_REQUEST, you cannot specify this property.
    ResourcePolicy Pulumi.AwsNative.DynamoDb.Inputs.TableResourcePolicy
    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.AwsNative.DynamoDb.Inputs.TableSseSpecification
    Specifies the settings to enable server-side encryption.
    StreamSpecification Pulumi.AwsNative.DynamoDb.Inputs.TableStreamSpecification
    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 STANDARD and STANDARD_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.
    Tags List<Pulumi.AwsNative.Inputs.Tag>
    An array of key-value pairs to apply to this resource. For more information, see Tag.
    TimeToLiveSpecification Pulumi.AwsNative.DynamoDb.Inputs.TableTimeToLiveSpecification
    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.
    KeySchema []TableKeySchemaArgs | interface{}
    Specifies the attributes that make up the primary key for the table. The attributes in the KeySchema property must also be defined in the AttributeDefinitions property.
    AttributeDefinitions []TableAttributeDefinitionArgs
    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:

    • PROVISIONED - We recommend using PROVISIONED for predictable workloads. PROVISIONED sets the billing mode to Provisioned Mode.
    • PAY_PER_REQUEST - We recommend using PAY_PER_REQUEST for unpredictable workloads. PAY_PER_REQUEST sets the billing mode to On-Demand Mode.

    If not specified, the default is PROVISIONED.

    ContributorInsightsSpecification TableContributorInsightsSpecificationArgs
    The settings used to enable or disable CloudWatch Contributor Insights for the specified table.
    DeletionProtectionEnabled bool
    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.
    GlobalSecondaryIndexes []TableGlobalSecondaryIndexArgs
    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.
    ImportSourceSpecification TableImportSourceSpecificationArgs
    Specifies the properties of data being imported from the S3 bucket source to the table. If you specify the ImportSourceSpecification property, and also specify either the StreamSpecification, the TableClass property, or the DeletionProtectionEnabled property, the IAM entity creating/updating stack must have UpdateTable permission.
    KinesisStreamSpecification TableKinesisStreamSpecificationArgs
    The Kinesis Data Streams configuration for the specified table.
    LocalSecondaryIndexes []TableLocalSecondaryIndexArgs
    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.
    OnDemandThroughput TableOnDemandThroughputArgs
    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.
    PointInTimeRecoverySpecification TablePointInTimeRecoverySpecificationArgs
    The settings used to enable point in time recovery.
    ProvisionedThroughput TableProvisionedThroughputArgs
    Throughput for the specified table, which consists of values for ReadCapacityUnits and WriteCapacityUnits. For more information about the contents of a provisioned throughput structure, see Amazon DynamoDB Table ProvisionedThroughput. If you set BillingMode as PROVISIONED, you must specify this property. If you set BillingMode as PAY_PER_REQUEST, you cannot specify this property.
    ResourcePolicy TableResourcePolicyArgs
    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 TableSseSpecificationArgs
    Specifies the settings to enable server-side encryption.
    StreamSpecification TableStreamSpecificationArgs
    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 STANDARD and STANDARD_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.
    Tags TagArgs
    An array of key-value pairs to apply to this resource. For more information, see Tag.
    TimeToLiveSpecification TableTimeToLiveSpecificationArgs
    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.
    keySchema List<TableKeySchema> | Object
    Specifies the attributes that make up the primary key for the table. The attributes in the KeySchema property must also be defined in the AttributeDefinitions property.
    attributeDefinitions List<TableAttributeDefinition>
    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:

    • PROVISIONED - We recommend using PROVISIONED for predictable workloads. PROVISIONED sets the billing mode to Provisioned Mode.
    • PAY_PER_REQUEST - We recommend using PAY_PER_REQUEST for unpredictable workloads. PAY_PER_REQUEST sets the billing mode to On-Demand Mode.

    If not specified, the default is PROVISIONED.

    contributorInsightsSpecification TableContributorInsightsSpecification
    The settings used to enable or disable CloudWatch Contributor Insights for the specified table.
    deletionProtectionEnabled Boolean
    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.
    globalSecondaryIndexes List<TableGlobalSecondaryIndex>
    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.
    importSourceSpecification TableImportSourceSpecification
    Specifies the properties of data being imported from the S3 bucket source to the table. If you specify the ImportSourceSpecification property, and also specify either the StreamSpecification, the TableClass property, or the DeletionProtectionEnabled property, the IAM entity creating/updating stack must have UpdateTable permission.
    kinesisStreamSpecification TableKinesisStreamSpecification
    The Kinesis Data Streams configuration for the specified table.
    localSecondaryIndexes List<TableLocalSecondaryIndex>
    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.
    onDemandThroughput TableOnDemandThroughput
    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.
    pointInTimeRecoverySpecification TablePointInTimeRecoverySpecification
    The settings used to enable point in time recovery.
    provisionedThroughput TableProvisionedThroughput
    Throughput for the specified table, which consists of values for ReadCapacityUnits and WriteCapacityUnits. For more information about the contents of a provisioned throughput structure, see Amazon DynamoDB Table ProvisionedThroughput. If you set BillingMode as PROVISIONED, you must specify this property. If you set BillingMode as PAY_PER_REQUEST, you cannot specify this property.
    resourcePolicy TableResourcePolicy
    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 TableSseSpecification
    Specifies the settings to enable server-side encryption.
    streamSpecification TableStreamSpecification
    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 STANDARD and STANDARD_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.
    tags List<Tag>
    An array of key-value pairs to apply to this resource. For more information, see Tag.
    timeToLiveSpecification TableTimeToLiveSpecification
    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.
    keySchema TableKeySchema[] | any
    Specifies the attributes that make up the primary key for the table. The attributes in the KeySchema property must also be defined in the AttributeDefinitions property.
    attributeDefinitions TableAttributeDefinition[]
    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:

    • PROVISIONED - We recommend using PROVISIONED for predictable workloads. PROVISIONED sets the billing mode to Provisioned Mode.
    • PAY_PER_REQUEST - We recommend using PAY_PER_REQUEST for unpredictable workloads. PAY_PER_REQUEST sets the billing mode to On-Demand Mode.

    If not specified, the default is PROVISIONED.

    contributorInsightsSpecification TableContributorInsightsSpecification
    The settings used to enable or disable CloudWatch Contributor Insights for the specified table.
    deletionProtectionEnabled boolean
    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.
    globalSecondaryIndexes TableGlobalSecondaryIndex[]
    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.
    importSourceSpecification TableImportSourceSpecification
    Specifies the properties of data being imported from the S3 bucket source to the table. If you specify the ImportSourceSpecification property, and also specify either the StreamSpecification, the TableClass property, or the DeletionProtectionEnabled property, the IAM entity creating/updating stack must have UpdateTable permission.
    kinesisStreamSpecification TableKinesisStreamSpecification
    The Kinesis Data Streams configuration for the specified table.
    localSecondaryIndexes TableLocalSecondaryIndex[]
    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.
    onDemandThroughput TableOnDemandThroughput
    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.
    pointInTimeRecoverySpecification TablePointInTimeRecoverySpecification
    The settings used to enable point in time recovery.
    provisionedThroughput TableProvisionedThroughput
    Throughput for the specified table, which consists of values for ReadCapacityUnits and WriteCapacityUnits. For more information about the contents of a provisioned throughput structure, see Amazon DynamoDB Table ProvisionedThroughput. If you set BillingMode as PROVISIONED, you must specify this property. If you set BillingMode as PAY_PER_REQUEST, you cannot specify this property.
    resourcePolicy TableResourcePolicy
    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 TableSseSpecification
    Specifies the settings to enable server-side encryption.
    streamSpecification TableStreamSpecification
    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 STANDARD and STANDARD_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.
    tags Tag[]
    An array of key-value pairs to apply to this resource. For more information, see Tag.
    timeToLiveSpecification TableTimeToLiveSpecification
    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.
    key_schema Sequence[TableKeySchemaArgs] | Any
    Specifies the attributes that make up the primary key for the table. The attributes in the KeySchema property must also be defined in the AttributeDefinitions property.
    attribute_definitions Sequence[TableAttributeDefinitionArgs]
    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:

    • PROVISIONED - We recommend using PROVISIONED for predictable workloads. PROVISIONED sets the billing mode to Provisioned Mode.
    • PAY_PER_REQUEST - We recommend using PAY_PER_REQUEST for unpredictable workloads. PAY_PER_REQUEST sets the billing mode to On-Demand Mode.

    If not specified, the default is PROVISIONED.

    contributor_insights_specification TableContributorInsightsSpecificationArgs
    The settings used to enable or disable CloudWatch Contributor Insights for the specified table.
    deletion_protection_enabled bool
    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_indexes Sequence[TableGlobalSecondaryIndexArgs]
    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_specification TableImportSourceSpecificationArgs
    Specifies the properties of data being imported from the S3 bucket source to the table. If you specify the ImportSourceSpecification property, and also specify either the StreamSpecification, the TableClass property, or the DeletionProtectionEnabled property, the IAM entity creating/updating stack must have UpdateTable permission.
    kinesis_stream_specification TableKinesisStreamSpecificationArgs
    The Kinesis Data Streams configuration for the specified table.
    local_secondary_indexes Sequence[TableLocalSecondaryIndexArgs]
    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_throughput TableOnDemandThroughputArgs
    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_time_recovery_specification TablePointInTimeRecoverySpecificationArgs
    The settings used to enable point in time recovery.
    provisioned_throughput TableProvisionedThroughputArgs
    Throughput for the specified table, which consists of values for ReadCapacityUnits and WriteCapacityUnits. For more information about the contents of a provisioned throughput structure, see Amazon DynamoDB Table ProvisionedThroughput. If you set BillingMode as PROVISIONED, you must specify this property. If you set BillingMode as PAY_PER_REQUEST, you cannot specify this property.
    resource_policy TableResourcePolicyArgs
    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 TableSseSpecificationArgs
    Specifies the settings to enable server-side encryption.
    stream_specification TableStreamSpecificationArgs
    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 STANDARD and STANDARD_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.
    tags Sequence[TagArgs]
    An array of key-value pairs to apply to this resource. For more information, see Tag.
    time_to_live_specification TableTimeToLiveSpecificationArgs
    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.
    keySchema List<Property Map> | Any
    Specifies the attributes that make up the primary key for the table. The attributes in the KeySchema property must also be defined in the AttributeDefinitions property.
    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:

    • PROVISIONED - We recommend using PROVISIONED for predictable workloads. PROVISIONED sets the billing mode to Provisioned Mode.
    • PAY_PER_REQUEST - We recommend using PAY_PER_REQUEST for unpredictable workloads. PAY_PER_REQUEST sets the billing mode to On-Demand Mode.

    If not specified, the default is PROVISIONED.

    contributorInsightsSpecification Property Map
    The settings used to enable or disable CloudWatch Contributor Insights for the specified table.
    deletionProtectionEnabled Boolean
    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.
    globalSecondaryIndexes List<Property Map>
    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.
    importSourceSpecification Property Map
    Specifies the properties of data being imported from the S3 bucket source to the table. If you specify the ImportSourceSpecification property, and also specify either the StreamSpecification, the TableClass property, or the DeletionProtectionEnabled property, the IAM entity creating/updating stack must have UpdateTable permission.
    kinesisStreamSpecification Property Map
    The Kinesis Data Streams configuration for the specified table.
    localSecondaryIndexes List<Property Map>
    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.
    onDemandThroughput Property Map
    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.
    pointInTimeRecoverySpecification Property Map
    The settings used to enable point in time recovery.
    provisionedThroughput Property Map
    Throughput for the specified table, which consists of values for ReadCapacityUnits and WriteCapacityUnits. For more information about the contents of a provisioned throughput structure, see Amazon DynamoDB Table ProvisionedThroughput. If you set BillingMode as PROVISIONED, you must specify this property. If you set BillingMode as PAY_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 STANDARD and STANDARD_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.
    tags List<Property Map>
    An array of key-value pairs to apply to this resource. For more information, see Tag.
    timeToLiveSpecification Property Map
    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.

    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 StreamSpecification property 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 StreamSpecification property 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 StreamSpecification property 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 StreamSpecification property 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 StreamSpecification property 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 StreamSpecification property 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.AwsNative.DynamoDb.Inputs.TableKeySchema>

    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.AwsNative.DynamoDb.Inputs.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.
    ContributorInsightsSpecification Pulumi.AwsNative.DynamoDb.Inputs.TableContributorInsightsSpecification
    The settings used to enable or disable CloudWatch Contributor Insights for the specified global secondary index.
    OnDemandThroughput Pulumi.AwsNative.DynamoDb.Inputs.TableOnDemandThroughput
    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.AwsNative.DynamoDb.Inputs.TableProvisionedThroughput
    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.
    IndexName string
    The name of the global secondary index. The name must be unique among all other indexes on this table.
    KeySchema []TableKeySchema

    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.
    ContributorInsightsSpecification TableContributorInsightsSpecification
    The settings used to enable or disable CloudWatch Contributor Insights for the specified global secondary index.
    OnDemandThroughput TableOnDemandThroughput
    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 TableProvisionedThroughput
    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.
    indexName String
    The name of the global secondary index. The name must be unique among all other indexes on this table.
    keySchema List<TableKeySchema>

    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.
    contributorInsightsSpecification TableContributorInsightsSpecification
    The settings used to enable or disable CloudWatch Contributor Insights for the specified global secondary index.
    onDemandThroughput TableOnDemandThroughput
    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 TableProvisionedThroughput
    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.
    indexName string
    The name of the global secondary index. The name must be unique among all other indexes on this table.
    keySchema TableKeySchema[]

    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.
    contributorInsightsSpecification TableContributorInsightsSpecification
    The settings used to enable or disable CloudWatch Contributor Insights for the specified global secondary index.
    onDemandThroughput TableOnDemandThroughput
    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 TableProvisionedThroughput
    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.
    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[TableKeySchema]

    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_specification TableContributorInsightsSpecification
    The settings used to enable or disable CloudWatch Contributor Insights for the specified global secondary index.
    on_demand_throughput TableOnDemandThroughput
    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 TableProvisionedThroughput
    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.
    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.
    contributorInsightsSpecification Property Map
    The settings used to enable or disable CloudWatch Contributor Insights for the specified global secondary index.
    onDemandThroughput Property Map
    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.

    TableImportSourceSpecification, TableImportSourceSpecificationArgs

    InputFormat string
    The format of the source data. Valid values for ImportFormat are CSV, DYNAMODB_JSON or ION.
    S3BucketSource Pulumi.AwsNative.DynamoDb.Inputs.TableS3BucketSource
    The S3 bucket that provides the source for the import.
    InputCompressionType string
    Type of compression to be used on the input coming from the imported table.
    InputFormatOptions Pulumi.AwsNative.DynamoDb.Inputs.TableInputFormatOptions
    Additional properties that specify how the input is formatted,
    InputFormat string
    The format of the source data. Valid values for ImportFormat are CSV, DYNAMODB_JSON or ION.
    S3BucketSource TableS3BucketSource
    The S3 bucket that provides the source for the import.
    InputCompressionType string
    Type of compression to be used on the input coming from the imported table.
    InputFormatOptions TableInputFormatOptions
    Additional properties that specify how the input is formatted,
    inputFormat String
    The format of the source data. Valid values for ImportFormat are CSV, DYNAMODB_JSON or ION.
    s3BucketSource TableS3BucketSource
    The S3 bucket that provides the source for the import.
    inputCompressionType String
    Type of compression to be used on the input coming from the imported table.
    inputFormatOptions TableInputFormatOptions
    Additional properties that specify how the input is formatted,
    inputFormat string
    The format of the source data. Valid values for ImportFormat are CSV, DYNAMODB_JSON or ION.
    s3BucketSource TableS3BucketSource
    The S3 bucket that provides the source for the import.
    inputCompressionType string
    Type of compression to be used on the input coming from the imported table.
    inputFormatOptions TableInputFormatOptions
    Additional properties that specify how the input is formatted,
    input_format str
    The format of the source data. Valid values for ImportFormat are CSV, DYNAMODB_JSON or ION.
    s3_bucket_source TableS3BucketSource
    The S3 bucket that provides the source for the import.
    input_compression_type str
    Type of compression to be used on the input coming from the imported table.
    input_format_options TableInputFormatOptions
    Additional properties that specify how the input is formatted,
    inputFormat String
    The format of the source data. Valid values for ImportFormat are CSV, DYNAMODB_JSON or ION.
    s3BucketSource Property Map
    The S3 bucket that provides the source for the import.
    inputCompressionType String
    Type of compression to be used on the input coming from the imported table.
    inputFormatOptions Property Map
    Additional properties that specify how the input is formatted,

    TableInputFormatOptions, TableInputFormatOptionsArgs

    Csv Pulumi.AwsNative.DynamoDb.Inputs.TableCsv
    The options for imported source files in CSV format. The values are Delimiter and HeaderList.
    Csv TableCsv
    The options for imported source files in CSV format. The values are Delimiter and HeaderList.
    csv TableCsv
    The options for imported source files in CSV format. The values are Delimiter and HeaderList.
    csv TableCsv
    The options for imported source files in CSV format. The values are Delimiter and HeaderList.
    csv TableCsv
    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.
    ApproximateCreationDateTimePrecision Pulumi.AwsNative.DynamoDb.TableKinesisStreamSpecificationApproximateCreationDateTimePrecision
    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.
    ApproximateCreationDateTimePrecision TableKinesisStreamSpecificationApproximateCreationDateTimePrecision
    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.
    approximateCreationDateTimePrecision TableKinesisStreamSpecificationApproximateCreationDateTimePrecision
    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.
    approximateCreationDateTimePrecision TableKinesisStreamSpecificationApproximateCreationDateTimePrecision
    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_date_time_precision TableKinesisStreamSpecificationApproximateCreationDateTimePrecision
    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.
    approximateCreationDateTimePrecision "MICROSECOND" | "MILLISECOND"
    The precision for the time and date that the stream was created.

    TableKinesisStreamSpecificationApproximateCreationDateTimePrecision, TableKinesisStreamSpecificationApproximateCreationDateTimePrecisionArgs

    Microsecond
    MICROSECOND
    Millisecond
    MILLISECOND
    TableKinesisStreamSpecificationApproximateCreationDateTimePrecisionMicrosecond
    MICROSECOND
    TableKinesisStreamSpecificationApproximateCreationDateTimePrecisionMillisecond
    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.AwsNative.DynamoDb.Inputs.TableKeySchema>

    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.AwsNative.DynamoDb.Inputs.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 []TableKeySchema

    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<TableKeySchema>

    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 TableKeySchema[]

    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[TableKeySchema]

    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

    MaxReadRequestUnits int
    Maximum number of read request units for the specified table. To specify a maximum OnDemandThroughput on your table, set the value of MaxReadRequestUnits as greater than or equal to 1. To remove the maximum OnDemandThroughput that is currently set on your table, set the value of MaxReadRequestUnits to -1.
    MaxWriteRequestUnits int
    Maximum number of write request units for the specified table. To specify a maximum OnDemandThroughput on your table, set the value of MaxWriteRequestUnits as greater than or equal to 1. To remove the maximum OnDemandThroughput that is currently set on your table, set the value of MaxWriteRequestUnits to -1.
    MaxReadRequestUnits int
    Maximum number of read request units for the specified table. To specify a maximum OnDemandThroughput on your table, set the value of MaxReadRequestUnits as greater than or equal to 1. To remove the maximum OnDemandThroughput that is currently set on your table, set the value of MaxReadRequestUnits to -1.
    MaxWriteRequestUnits int
    Maximum number of write request units for the specified table. To specify a maximum OnDemandThroughput on your table, set the value of MaxWriteRequestUnits as greater than or equal to 1. To remove the maximum OnDemandThroughput that is currently set on your table, set the value of MaxWriteRequestUnits to -1.
    maxReadRequestUnits Integer
    Maximum number of read request units for the specified table. To specify a maximum OnDemandThroughput on your table, set the value of MaxReadRequestUnits as greater than or equal to 1. To remove the maximum OnDemandThroughput that is currently set on your table, set the value of MaxReadRequestUnits to -1.
    maxWriteRequestUnits Integer
    Maximum number of write request units for the specified table. To specify a maximum OnDemandThroughput on your table, set the value of MaxWriteRequestUnits as greater than or equal to 1. To remove the maximum OnDemandThroughput that is currently set on your table, set the value of MaxWriteRequestUnits to -1.
    maxReadRequestUnits number
    Maximum number of read request units for the specified table. To specify a maximum OnDemandThroughput on your table, set the value of MaxReadRequestUnits as greater than or equal to 1. To remove the maximum OnDemandThroughput that is currently set on your table, set the value of MaxReadRequestUnits to -1.
    maxWriteRequestUnits number
    Maximum number of write request units for the specified table. To specify a maximum OnDemandThroughput on your table, set the value of MaxWriteRequestUnits as greater than or equal to 1. To remove the maximum OnDemandThroughput that is currently set on your table, set the value of MaxWriteRequestUnits to -1.
    max_read_request_units int
    Maximum number of read request units for the specified table. To specify a maximum OnDemandThroughput on your table, set the value of MaxReadRequestUnits as greater than or equal to 1. To remove the maximum OnDemandThroughput that is currently set on your table, set the value of MaxReadRequestUnits to -1.
    max_write_request_units int
    Maximum number of write request units for the specified table. To specify a maximum OnDemandThroughput on your table, set the value of MaxWriteRequestUnits as greater than or equal to 1. To remove the maximum OnDemandThroughput that is currently set on your table, set the value of MaxWriteRequestUnits to -1.
    maxReadRequestUnits Number
    Maximum number of read request units for the specified table. To specify a maximum OnDemandThroughput on your table, set the value of MaxReadRequestUnits as greater than or equal to 1. To remove the maximum OnDemandThroughput that is currently set on your table, set the value of MaxReadRequestUnits to -1.
    maxWriteRequestUnits Number
    Maximum number of write request units for the specified table. To specify a maximum OnDemandThroughput on your table, set the value of MaxWriteRequestUnits as greater than or equal to 1. To remove the maximum OnDemandThroughput that is currently set on your table, set the value of MaxWriteRequestUnits to -1.

    TablePointInTimeRecoverySpecification, TablePointInTimeRecoverySpecificationArgs

    PointInTimeRecoveryEnabled bool
    Indicates whether point in time recovery is enabled (true) or disabled (false) on the table.
    PointInTimeRecoveryEnabled bool
    Indicates whether point in time recovery is enabled (true) or disabled (false) on the table.
    pointInTimeRecoveryEnabled Boolean
    Indicates whether point in time recovery is enabled (true) or disabled (false) on the table.
    pointInTimeRecoveryEnabled boolean
    Indicates whether point in time recovery is enabled (true) or disabled (false) on the table.
    point_in_time_recovery_enabled bool
    Indicates whether point in time recovery is enabled (true) or disabled (false) on the table.
    pointInTimeRecoveryEnabled Boolean
    Indicates whether point in time recovery is enabled (true) or disabled (false) on the table.

    TableProjection, TableProjectionArgs

    NonKeyAttributes List<string>
    Represents the non-key attribute names which will be projected into the index. For local secondary indexes, the total count of NonKeyAttributes summed 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, ALL is selected by default.

    NonKeyAttributes []string
    Represents the non-key attribute names which will be projected into the index. For local secondary indexes, the total count of NonKeyAttributes summed 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, ALL is selected by default.

    nonKeyAttributes List<String>
    Represents the non-key attribute names which will be projected into the index. For local secondary indexes, the total count of NonKeyAttributes summed 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, ALL is selected by default.

    nonKeyAttributes string[]
    Represents the non-key attribute names which will be projected into the index. For local secondary indexes, the total count of NonKeyAttributes summed 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, ALL is selected by default.

    non_key_attributes Sequence[str]
    Represents the non-key attribute names which will be projected into the index. For local secondary indexes, the total count of NonKeyAttributes summed 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, ALL is selected by default.

    nonKeyAttributes List<String>
    Represents the non-key attribute names which will be projected into the index. For local secondary indexes, the total count of NonKeyAttributes summed 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, ALL is selected by default.

    TableProvisionedThroughput, TableProvisionedThroughputArgs

    ReadCapacityUnits int
    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 is PAY_PER_REQUEST the value is set to 0.
    WriteCapacityUnits int
    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 is PAY_PER_REQUEST the value is set to 0.
    ReadCapacityUnits int
    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 is PAY_PER_REQUEST the value is set to 0.
    WriteCapacityUnits int
    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 is PAY_PER_REQUEST the value is set to 0.
    readCapacityUnits Integer
    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 is PAY_PER_REQUEST the value is set to 0.
    writeCapacityUnits Integer
    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 is PAY_PER_REQUEST the value is set to 0.
    readCapacityUnits number
    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 is PAY_PER_REQUEST the value is set to 0.
    writeCapacityUnits number
    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 is PAY_PER_REQUEST the value is set to 0.
    read_capacity_units int
    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 is PAY_PER_REQUEST the value is set to 0.
    write_capacity_units int
    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 is PAY_PER_REQUEST the value is set to 0.
    readCapacityUnits Number
    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 is PAY_PER_REQUEST the value is set to 0.
    writeCapacityUnits Number
    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 is PAY_PER_REQUEST the 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_owner str
    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_prefix str
    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 KMS and an AWS managed key is used (KMS charges apply). If disabled (false) or not specified, server-side encryption is set to AWS owned key.
    KmsMasterKeyId string
    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 KMS and an AWS managed key is used (KMS charges apply). If disabled (false) or not specified, server-side encryption is set to AWS owned key.
    KmsMasterKeyId string
    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 KMS and an AWS managed key is used (KMS charges apply). If disabled (false) or not specified, server-side encryption is set to AWS owned key.
    kmsMasterKeyId String
    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 KMS and an AWS managed key is used (KMS charges apply). If disabled (false) or not specified, server-side encryption is set to AWS owned key.
    kmsMasterKeyId string
    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 KMS and 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_key_id str
    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 KMS and an AWS managed key is used (KMS charges apply). If disabled (false) or not specified, server-side encryption is set to AWS owned key.
    kmsMasterKeyId String
    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

    StreamViewType string
    When an item in the table is modified, StreamViewType determines what information is written to the stream for this table. Valid values for StreamViewType are:

    • 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.AwsNative.DynamoDb.Inputs.TableResourcePolicy
    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.
    StreamViewType string
    When an item in the table is modified, StreamViewType determines what information is written to the stream for this table. Valid values for StreamViewType are:

    • 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 TableResourcePolicy
    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.
    streamViewType String
    When an item in the table is modified, StreamViewType determines what information is written to the stream for this table. Valid values for StreamViewType are:

    • 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 TableResourcePolicy
    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.
    streamViewType string
    When an item in the table is modified, StreamViewType determines what information is written to the stream for this table. Valid values for StreamViewType are:

    • 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 TableResourcePolicy
    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_type str
    When an item in the table is modified, StreamViewType determines what information is written to the stream for this table. Valid values for StreamViewType are:

    • 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 TableResourcePolicy
    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.
    streamViewType String
    When an item in the table is modified, StreamViewType determines what information is written to the stream for this table. Valid values for StreamViewType are:

    • 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 AttributeName property 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.
    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 AttributeName property 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.
    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 AttributeName property 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.
    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 AttributeName property 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.
    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 AttributeName property 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.
    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 AttributeName property 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.

    Tag, TagArgs

    Key string
    The key name of the tag
    Value string
    The value of the tag
    Key string
    The key name of the tag
    Value string
    The value of the tag
    key String
    The key name of the tag
    value String
    The value of the tag
    key string
    The key name of the tag
    value string
    The value of the tag
    key str
    The key name of the tag
    value str
    The value of the tag
    key String
    The key name of the tag
    value String
    The value of the tag

    Package Details

    Repository
    AWS Native pulumi/pulumi-aws-native
    License
    Apache-2.0
    aws-native logo

    AWS Native is in preview. AWS Classic is fully supported.

    AWS Native v0.109.0 published on Wednesday, Jun 26, 2024 by Pulumi