dynamodb

package
v5.43.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 21, 2023 License: Apache-2.0 Imports: 7 Imported by: 3

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ContributorInsights added in v5.2.0

type ContributorInsights struct {
	pulumi.CustomResourceState

	// The global secondary index name
	IndexName pulumi.StringPtrOutput `pulumi:"indexName"`
	// The name of the table to enable contributor insights
	TableName pulumi.StringOutput `pulumi:"tableName"`
}

Provides a DynamoDB contributor insights resource

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/dynamodb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dynamodb.NewContributorInsights(ctx, "test", &dynamodb.ContributorInsightsArgs{
			TableName: pulumi.String("ExampleTableName"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

`aws_dynamodb_contributor_insights` can be imported using the format `name:table_name/index:index_name`, followed by the account number, e.g.,

```sh

$ pulumi import aws:dynamodb/contributorInsights:ContributorInsights test name:ExampleTableName/index:ExampleIndexName/123456789012

```

func GetContributorInsights added in v5.2.0

func GetContributorInsights(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ContributorInsightsState, opts ...pulumi.ResourceOption) (*ContributorInsights, error)

GetContributorInsights gets an existing ContributorInsights resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewContributorInsights added in v5.2.0

func NewContributorInsights(ctx *pulumi.Context,
	name string, args *ContributorInsightsArgs, opts ...pulumi.ResourceOption) (*ContributorInsights, error)

NewContributorInsights registers a new resource with the given unique name, arguments, and options.

func (*ContributorInsights) ElementType added in v5.2.0

func (*ContributorInsights) ElementType() reflect.Type

func (*ContributorInsights) ToContributorInsightsOutput added in v5.2.0

func (i *ContributorInsights) ToContributorInsightsOutput() ContributorInsightsOutput

func (*ContributorInsights) ToContributorInsightsOutputWithContext added in v5.2.0

func (i *ContributorInsights) ToContributorInsightsOutputWithContext(ctx context.Context) ContributorInsightsOutput

type ContributorInsightsArgs added in v5.2.0

type ContributorInsightsArgs struct {
	// The global secondary index name
	IndexName pulumi.StringPtrInput
	// The name of the table to enable contributor insights
	TableName pulumi.StringInput
}

The set of arguments for constructing a ContributorInsights resource.

func (ContributorInsightsArgs) ElementType added in v5.2.0

func (ContributorInsightsArgs) ElementType() reflect.Type

type ContributorInsightsArray added in v5.2.0

type ContributorInsightsArray []ContributorInsightsInput

func (ContributorInsightsArray) ElementType added in v5.2.0

func (ContributorInsightsArray) ElementType() reflect.Type

func (ContributorInsightsArray) ToContributorInsightsArrayOutput added in v5.2.0

func (i ContributorInsightsArray) ToContributorInsightsArrayOutput() ContributorInsightsArrayOutput

func (ContributorInsightsArray) ToContributorInsightsArrayOutputWithContext added in v5.2.0

func (i ContributorInsightsArray) ToContributorInsightsArrayOutputWithContext(ctx context.Context) ContributorInsightsArrayOutput

type ContributorInsightsArrayInput added in v5.2.0

type ContributorInsightsArrayInput interface {
	pulumi.Input

	ToContributorInsightsArrayOutput() ContributorInsightsArrayOutput
	ToContributorInsightsArrayOutputWithContext(context.Context) ContributorInsightsArrayOutput
}

ContributorInsightsArrayInput is an input type that accepts ContributorInsightsArray and ContributorInsightsArrayOutput values. You can construct a concrete instance of `ContributorInsightsArrayInput` via:

ContributorInsightsArray{ ContributorInsightsArgs{...} }

type ContributorInsightsArrayOutput added in v5.2.0

type ContributorInsightsArrayOutput struct{ *pulumi.OutputState }

func (ContributorInsightsArrayOutput) ElementType added in v5.2.0

func (ContributorInsightsArrayOutput) Index added in v5.2.0

func (ContributorInsightsArrayOutput) ToContributorInsightsArrayOutput added in v5.2.0

func (o ContributorInsightsArrayOutput) ToContributorInsightsArrayOutput() ContributorInsightsArrayOutput

func (ContributorInsightsArrayOutput) ToContributorInsightsArrayOutputWithContext added in v5.2.0

func (o ContributorInsightsArrayOutput) ToContributorInsightsArrayOutputWithContext(ctx context.Context) ContributorInsightsArrayOutput

type ContributorInsightsInput added in v5.2.0

type ContributorInsightsInput interface {
	pulumi.Input

	ToContributorInsightsOutput() ContributorInsightsOutput
	ToContributorInsightsOutputWithContext(ctx context.Context) ContributorInsightsOutput
}

type ContributorInsightsMap added in v5.2.0

type ContributorInsightsMap map[string]ContributorInsightsInput

func (ContributorInsightsMap) ElementType added in v5.2.0

func (ContributorInsightsMap) ElementType() reflect.Type

func (ContributorInsightsMap) ToContributorInsightsMapOutput added in v5.2.0

func (i ContributorInsightsMap) ToContributorInsightsMapOutput() ContributorInsightsMapOutput

func (ContributorInsightsMap) ToContributorInsightsMapOutputWithContext added in v5.2.0

func (i ContributorInsightsMap) ToContributorInsightsMapOutputWithContext(ctx context.Context) ContributorInsightsMapOutput

type ContributorInsightsMapInput added in v5.2.0

type ContributorInsightsMapInput interface {
	pulumi.Input

	ToContributorInsightsMapOutput() ContributorInsightsMapOutput
	ToContributorInsightsMapOutputWithContext(context.Context) ContributorInsightsMapOutput
}

ContributorInsightsMapInput is an input type that accepts ContributorInsightsMap and ContributorInsightsMapOutput values. You can construct a concrete instance of `ContributorInsightsMapInput` via:

ContributorInsightsMap{ "key": ContributorInsightsArgs{...} }

type ContributorInsightsMapOutput added in v5.2.0

type ContributorInsightsMapOutput struct{ *pulumi.OutputState }

func (ContributorInsightsMapOutput) ElementType added in v5.2.0

func (ContributorInsightsMapOutput) MapIndex added in v5.2.0

func (ContributorInsightsMapOutput) ToContributorInsightsMapOutput added in v5.2.0

func (o ContributorInsightsMapOutput) ToContributorInsightsMapOutput() ContributorInsightsMapOutput

func (ContributorInsightsMapOutput) ToContributorInsightsMapOutputWithContext added in v5.2.0

func (o ContributorInsightsMapOutput) ToContributorInsightsMapOutputWithContext(ctx context.Context) ContributorInsightsMapOutput

type ContributorInsightsOutput added in v5.2.0

type ContributorInsightsOutput struct{ *pulumi.OutputState }

func (ContributorInsightsOutput) ElementType added in v5.2.0

func (ContributorInsightsOutput) ElementType() reflect.Type

func (ContributorInsightsOutput) IndexName added in v5.4.0

The global secondary index name

func (ContributorInsightsOutput) TableName added in v5.4.0

The name of the table to enable contributor insights

func (ContributorInsightsOutput) ToContributorInsightsOutput added in v5.2.0

func (o ContributorInsightsOutput) ToContributorInsightsOutput() ContributorInsightsOutput

func (ContributorInsightsOutput) ToContributorInsightsOutputWithContext added in v5.2.0

func (o ContributorInsightsOutput) ToContributorInsightsOutputWithContext(ctx context.Context) ContributorInsightsOutput

type ContributorInsightsState added in v5.2.0

type ContributorInsightsState struct {
	// The global secondary index name
	IndexName pulumi.StringPtrInput
	// The name of the table to enable contributor insights
	TableName pulumi.StringPtrInput
}

func (ContributorInsightsState) ElementType added in v5.2.0

func (ContributorInsightsState) ElementType() reflect.Type

type GetTableAttribute

type GetTableAttribute struct {
	// Name of the DynamoDB table.
	Name string `pulumi:"name"`
	Type string `pulumi:"type"`
}

type GetTableAttributeArgs

type GetTableAttributeArgs struct {
	// Name of the DynamoDB table.
	Name pulumi.StringInput `pulumi:"name"`
	Type pulumi.StringInput `pulumi:"type"`
}

func (GetTableAttributeArgs) ElementType

func (GetTableAttributeArgs) ElementType() reflect.Type

func (GetTableAttributeArgs) ToGetTableAttributeOutput

func (i GetTableAttributeArgs) ToGetTableAttributeOutput() GetTableAttributeOutput

func (GetTableAttributeArgs) ToGetTableAttributeOutputWithContext

func (i GetTableAttributeArgs) ToGetTableAttributeOutputWithContext(ctx context.Context) GetTableAttributeOutput

type GetTableAttributeArray

type GetTableAttributeArray []GetTableAttributeInput

func (GetTableAttributeArray) ElementType

func (GetTableAttributeArray) ElementType() reflect.Type

func (GetTableAttributeArray) ToGetTableAttributeArrayOutput

func (i GetTableAttributeArray) ToGetTableAttributeArrayOutput() GetTableAttributeArrayOutput

func (GetTableAttributeArray) ToGetTableAttributeArrayOutputWithContext

func (i GetTableAttributeArray) ToGetTableAttributeArrayOutputWithContext(ctx context.Context) GetTableAttributeArrayOutput

type GetTableAttributeArrayInput

type GetTableAttributeArrayInput interface {
	pulumi.Input

	ToGetTableAttributeArrayOutput() GetTableAttributeArrayOutput
	ToGetTableAttributeArrayOutputWithContext(context.Context) GetTableAttributeArrayOutput
}

GetTableAttributeArrayInput is an input type that accepts GetTableAttributeArray and GetTableAttributeArrayOutput values. You can construct a concrete instance of `GetTableAttributeArrayInput` via:

GetTableAttributeArray{ GetTableAttributeArgs{...} }

type GetTableAttributeArrayOutput

type GetTableAttributeArrayOutput struct{ *pulumi.OutputState }

func (GetTableAttributeArrayOutput) ElementType

func (GetTableAttributeArrayOutput) Index

func (GetTableAttributeArrayOutput) ToGetTableAttributeArrayOutput

func (o GetTableAttributeArrayOutput) ToGetTableAttributeArrayOutput() GetTableAttributeArrayOutput

func (GetTableAttributeArrayOutput) ToGetTableAttributeArrayOutputWithContext

func (o GetTableAttributeArrayOutput) ToGetTableAttributeArrayOutputWithContext(ctx context.Context) GetTableAttributeArrayOutput

type GetTableAttributeInput

type GetTableAttributeInput interface {
	pulumi.Input

	ToGetTableAttributeOutput() GetTableAttributeOutput
	ToGetTableAttributeOutputWithContext(context.Context) GetTableAttributeOutput
}

GetTableAttributeInput is an input type that accepts GetTableAttributeArgs and GetTableAttributeOutput values. You can construct a concrete instance of `GetTableAttributeInput` via:

GetTableAttributeArgs{...}

type GetTableAttributeOutput

type GetTableAttributeOutput struct{ *pulumi.OutputState }

func (GetTableAttributeOutput) ElementType

func (GetTableAttributeOutput) ElementType() reflect.Type

func (GetTableAttributeOutput) Name

Name of the DynamoDB table.

func (GetTableAttributeOutput) ToGetTableAttributeOutput

func (o GetTableAttributeOutput) ToGetTableAttributeOutput() GetTableAttributeOutput

func (GetTableAttributeOutput) ToGetTableAttributeOutputWithContext

func (o GetTableAttributeOutput) ToGetTableAttributeOutputWithContext(ctx context.Context) GetTableAttributeOutput

func (GetTableAttributeOutput) Type

type GetTableGlobalSecondaryIndex

type GetTableGlobalSecondaryIndex struct {
	HashKey string `pulumi:"hashKey"`
	// Name of the DynamoDB table.
	Name             string   `pulumi:"name"`
	NonKeyAttributes []string `pulumi:"nonKeyAttributes"`
	ProjectionType   string   `pulumi:"projectionType"`
	RangeKey         string   `pulumi:"rangeKey"`
	ReadCapacity     int      `pulumi:"readCapacity"`
	WriteCapacity    int      `pulumi:"writeCapacity"`
}

type GetTableGlobalSecondaryIndexArgs

type GetTableGlobalSecondaryIndexArgs struct {
	HashKey pulumi.StringInput `pulumi:"hashKey"`
	// Name of the DynamoDB table.
	Name             pulumi.StringInput      `pulumi:"name"`
	NonKeyAttributes pulumi.StringArrayInput `pulumi:"nonKeyAttributes"`
	ProjectionType   pulumi.StringInput      `pulumi:"projectionType"`
	RangeKey         pulumi.StringInput      `pulumi:"rangeKey"`
	ReadCapacity     pulumi.IntInput         `pulumi:"readCapacity"`
	WriteCapacity    pulumi.IntInput         `pulumi:"writeCapacity"`
}

func (GetTableGlobalSecondaryIndexArgs) ElementType

func (GetTableGlobalSecondaryIndexArgs) ToGetTableGlobalSecondaryIndexOutput

func (i GetTableGlobalSecondaryIndexArgs) ToGetTableGlobalSecondaryIndexOutput() GetTableGlobalSecondaryIndexOutput

func (GetTableGlobalSecondaryIndexArgs) ToGetTableGlobalSecondaryIndexOutputWithContext

func (i GetTableGlobalSecondaryIndexArgs) ToGetTableGlobalSecondaryIndexOutputWithContext(ctx context.Context) GetTableGlobalSecondaryIndexOutput

type GetTableGlobalSecondaryIndexArray

type GetTableGlobalSecondaryIndexArray []GetTableGlobalSecondaryIndexInput

func (GetTableGlobalSecondaryIndexArray) ElementType

func (GetTableGlobalSecondaryIndexArray) ToGetTableGlobalSecondaryIndexArrayOutput

func (i GetTableGlobalSecondaryIndexArray) ToGetTableGlobalSecondaryIndexArrayOutput() GetTableGlobalSecondaryIndexArrayOutput

func (GetTableGlobalSecondaryIndexArray) ToGetTableGlobalSecondaryIndexArrayOutputWithContext

func (i GetTableGlobalSecondaryIndexArray) ToGetTableGlobalSecondaryIndexArrayOutputWithContext(ctx context.Context) GetTableGlobalSecondaryIndexArrayOutput

type GetTableGlobalSecondaryIndexArrayInput

type GetTableGlobalSecondaryIndexArrayInput interface {
	pulumi.Input

	ToGetTableGlobalSecondaryIndexArrayOutput() GetTableGlobalSecondaryIndexArrayOutput
	ToGetTableGlobalSecondaryIndexArrayOutputWithContext(context.Context) GetTableGlobalSecondaryIndexArrayOutput
}

GetTableGlobalSecondaryIndexArrayInput is an input type that accepts GetTableGlobalSecondaryIndexArray and GetTableGlobalSecondaryIndexArrayOutput values. You can construct a concrete instance of `GetTableGlobalSecondaryIndexArrayInput` via:

GetTableGlobalSecondaryIndexArray{ GetTableGlobalSecondaryIndexArgs{...} }

type GetTableGlobalSecondaryIndexArrayOutput

type GetTableGlobalSecondaryIndexArrayOutput struct{ *pulumi.OutputState }

func (GetTableGlobalSecondaryIndexArrayOutput) ElementType

func (GetTableGlobalSecondaryIndexArrayOutput) Index

func (GetTableGlobalSecondaryIndexArrayOutput) ToGetTableGlobalSecondaryIndexArrayOutput

func (o GetTableGlobalSecondaryIndexArrayOutput) ToGetTableGlobalSecondaryIndexArrayOutput() GetTableGlobalSecondaryIndexArrayOutput

func (GetTableGlobalSecondaryIndexArrayOutput) ToGetTableGlobalSecondaryIndexArrayOutputWithContext

func (o GetTableGlobalSecondaryIndexArrayOutput) ToGetTableGlobalSecondaryIndexArrayOutputWithContext(ctx context.Context) GetTableGlobalSecondaryIndexArrayOutput

type GetTableGlobalSecondaryIndexInput

type GetTableGlobalSecondaryIndexInput interface {
	pulumi.Input

	ToGetTableGlobalSecondaryIndexOutput() GetTableGlobalSecondaryIndexOutput
	ToGetTableGlobalSecondaryIndexOutputWithContext(context.Context) GetTableGlobalSecondaryIndexOutput
}

GetTableGlobalSecondaryIndexInput is an input type that accepts GetTableGlobalSecondaryIndexArgs and GetTableGlobalSecondaryIndexOutput values. You can construct a concrete instance of `GetTableGlobalSecondaryIndexInput` via:

GetTableGlobalSecondaryIndexArgs{...}

type GetTableGlobalSecondaryIndexOutput

type GetTableGlobalSecondaryIndexOutput struct{ *pulumi.OutputState }

func (GetTableGlobalSecondaryIndexOutput) ElementType

func (GetTableGlobalSecondaryIndexOutput) HashKey

func (GetTableGlobalSecondaryIndexOutput) Name

Name of the DynamoDB table.

func (GetTableGlobalSecondaryIndexOutput) NonKeyAttributes

func (GetTableGlobalSecondaryIndexOutput) ProjectionType

func (GetTableGlobalSecondaryIndexOutput) RangeKey

func (GetTableGlobalSecondaryIndexOutput) ReadCapacity

func (GetTableGlobalSecondaryIndexOutput) ToGetTableGlobalSecondaryIndexOutput

func (o GetTableGlobalSecondaryIndexOutput) ToGetTableGlobalSecondaryIndexOutput() GetTableGlobalSecondaryIndexOutput

func (GetTableGlobalSecondaryIndexOutput) ToGetTableGlobalSecondaryIndexOutputWithContext

func (o GetTableGlobalSecondaryIndexOutput) ToGetTableGlobalSecondaryIndexOutputWithContext(ctx context.Context) GetTableGlobalSecondaryIndexOutput

func (GetTableGlobalSecondaryIndexOutput) WriteCapacity

type GetTableLocalSecondaryIndex

type GetTableLocalSecondaryIndex struct {
	// Name of the DynamoDB table.
	Name             string   `pulumi:"name"`
	NonKeyAttributes []string `pulumi:"nonKeyAttributes"`
	ProjectionType   string   `pulumi:"projectionType"`
	RangeKey         string   `pulumi:"rangeKey"`
}

type GetTableLocalSecondaryIndexArgs

type GetTableLocalSecondaryIndexArgs struct {
	// Name of the DynamoDB table.
	Name             pulumi.StringInput      `pulumi:"name"`
	NonKeyAttributes pulumi.StringArrayInput `pulumi:"nonKeyAttributes"`
	ProjectionType   pulumi.StringInput      `pulumi:"projectionType"`
	RangeKey         pulumi.StringInput      `pulumi:"rangeKey"`
}

func (GetTableLocalSecondaryIndexArgs) ElementType

func (GetTableLocalSecondaryIndexArgs) ToGetTableLocalSecondaryIndexOutput

func (i GetTableLocalSecondaryIndexArgs) ToGetTableLocalSecondaryIndexOutput() GetTableLocalSecondaryIndexOutput

func (GetTableLocalSecondaryIndexArgs) ToGetTableLocalSecondaryIndexOutputWithContext

func (i GetTableLocalSecondaryIndexArgs) ToGetTableLocalSecondaryIndexOutputWithContext(ctx context.Context) GetTableLocalSecondaryIndexOutput

type GetTableLocalSecondaryIndexArray

type GetTableLocalSecondaryIndexArray []GetTableLocalSecondaryIndexInput

func (GetTableLocalSecondaryIndexArray) ElementType

func (GetTableLocalSecondaryIndexArray) ToGetTableLocalSecondaryIndexArrayOutput

func (i GetTableLocalSecondaryIndexArray) ToGetTableLocalSecondaryIndexArrayOutput() GetTableLocalSecondaryIndexArrayOutput

func (GetTableLocalSecondaryIndexArray) ToGetTableLocalSecondaryIndexArrayOutputWithContext

func (i GetTableLocalSecondaryIndexArray) ToGetTableLocalSecondaryIndexArrayOutputWithContext(ctx context.Context) GetTableLocalSecondaryIndexArrayOutput

type GetTableLocalSecondaryIndexArrayInput

type GetTableLocalSecondaryIndexArrayInput interface {
	pulumi.Input

	ToGetTableLocalSecondaryIndexArrayOutput() GetTableLocalSecondaryIndexArrayOutput
	ToGetTableLocalSecondaryIndexArrayOutputWithContext(context.Context) GetTableLocalSecondaryIndexArrayOutput
}

GetTableLocalSecondaryIndexArrayInput is an input type that accepts GetTableLocalSecondaryIndexArray and GetTableLocalSecondaryIndexArrayOutput values. You can construct a concrete instance of `GetTableLocalSecondaryIndexArrayInput` via:

GetTableLocalSecondaryIndexArray{ GetTableLocalSecondaryIndexArgs{...} }

type GetTableLocalSecondaryIndexArrayOutput

type GetTableLocalSecondaryIndexArrayOutput struct{ *pulumi.OutputState }

func (GetTableLocalSecondaryIndexArrayOutput) ElementType

func (GetTableLocalSecondaryIndexArrayOutput) Index

func (GetTableLocalSecondaryIndexArrayOutput) ToGetTableLocalSecondaryIndexArrayOutput

func (o GetTableLocalSecondaryIndexArrayOutput) ToGetTableLocalSecondaryIndexArrayOutput() GetTableLocalSecondaryIndexArrayOutput

func (GetTableLocalSecondaryIndexArrayOutput) ToGetTableLocalSecondaryIndexArrayOutputWithContext

func (o GetTableLocalSecondaryIndexArrayOutput) ToGetTableLocalSecondaryIndexArrayOutputWithContext(ctx context.Context) GetTableLocalSecondaryIndexArrayOutput

type GetTableLocalSecondaryIndexInput

type GetTableLocalSecondaryIndexInput interface {
	pulumi.Input

	ToGetTableLocalSecondaryIndexOutput() GetTableLocalSecondaryIndexOutput
	ToGetTableLocalSecondaryIndexOutputWithContext(context.Context) GetTableLocalSecondaryIndexOutput
}

GetTableLocalSecondaryIndexInput is an input type that accepts GetTableLocalSecondaryIndexArgs and GetTableLocalSecondaryIndexOutput values. You can construct a concrete instance of `GetTableLocalSecondaryIndexInput` via:

GetTableLocalSecondaryIndexArgs{...}

type GetTableLocalSecondaryIndexOutput

type GetTableLocalSecondaryIndexOutput struct{ *pulumi.OutputState }

func (GetTableLocalSecondaryIndexOutput) ElementType

func (GetTableLocalSecondaryIndexOutput) Name

Name of the DynamoDB table.

func (GetTableLocalSecondaryIndexOutput) NonKeyAttributes

func (GetTableLocalSecondaryIndexOutput) ProjectionType

func (GetTableLocalSecondaryIndexOutput) RangeKey

func (GetTableLocalSecondaryIndexOutput) ToGetTableLocalSecondaryIndexOutput

func (o GetTableLocalSecondaryIndexOutput) ToGetTableLocalSecondaryIndexOutput() GetTableLocalSecondaryIndexOutput

func (GetTableLocalSecondaryIndexOutput) ToGetTableLocalSecondaryIndexOutputWithContext

func (o GetTableLocalSecondaryIndexOutput) ToGetTableLocalSecondaryIndexOutputWithContext(ctx context.Context) GetTableLocalSecondaryIndexOutput

type GetTablePointInTimeRecovery

type GetTablePointInTimeRecovery struct {
	Enabled bool `pulumi:"enabled"`
}

type GetTablePointInTimeRecoveryArgs

type GetTablePointInTimeRecoveryArgs struct {
	Enabled pulumi.BoolInput `pulumi:"enabled"`
}

func (GetTablePointInTimeRecoveryArgs) ElementType

func (GetTablePointInTimeRecoveryArgs) ToGetTablePointInTimeRecoveryOutput

func (i GetTablePointInTimeRecoveryArgs) ToGetTablePointInTimeRecoveryOutput() GetTablePointInTimeRecoveryOutput

func (GetTablePointInTimeRecoveryArgs) ToGetTablePointInTimeRecoveryOutputWithContext

func (i GetTablePointInTimeRecoveryArgs) ToGetTablePointInTimeRecoveryOutputWithContext(ctx context.Context) GetTablePointInTimeRecoveryOutput

type GetTablePointInTimeRecoveryInput

type GetTablePointInTimeRecoveryInput interface {
	pulumi.Input

	ToGetTablePointInTimeRecoveryOutput() GetTablePointInTimeRecoveryOutput
	ToGetTablePointInTimeRecoveryOutputWithContext(context.Context) GetTablePointInTimeRecoveryOutput
}

GetTablePointInTimeRecoveryInput is an input type that accepts GetTablePointInTimeRecoveryArgs and GetTablePointInTimeRecoveryOutput values. You can construct a concrete instance of `GetTablePointInTimeRecoveryInput` via:

GetTablePointInTimeRecoveryArgs{...}

type GetTablePointInTimeRecoveryOutput

type GetTablePointInTimeRecoveryOutput struct{ *pulumi.OutputState }

func (GetTablePointInTimeRecoveryOutput) ElementType

func (GetTablePointInTimeRecoveryOutput) Enabled

func (GetTablePointInTimeRecoveryOutput) ToGetTablePointInTimeRecoveryOutput

func (o GetTablePointInTimeRecoveryOutput) ToGetTablePointInTimeRecoveryOutput() GetTablePointInTimeRecoveryOutput

func (GetTablePointInTimeRecoveryOutput) ToGetTablePointInTimeRecoveryOutputWithContext

func (o GetTablePointInTimeRecoveryOutput) ToGetTablePointInTimeRecoveryOutputWithContext(ctx context.Context) GetTablePointInTimeRecoveryOutput

type GetTableReplicaType added in v5.11.0

type GetTableReplicaType struct {
	KmsKeyArn  string `pulumi:"kmsKeyArn"`
	RegionName string `pulumi:"regionName"`
}

type GetTableReplicaTypeArgs added in v5.11.0

type GetTableReplicaTypeArgs struct {
	KmsKeyArn  pulumi.StringInput `pulumi:"kmsKeyArn"`
	RegionName pulumi.StringInput `pulumi:"regionName"`
}

func (GetTableReplicaTypeArgs) ElementType added in v5.11.0

func (GetTableReplicaTypeArgs) ElementType() reflect.Type

func (GetTableReplicaTypeArgs) ToGetTableReplicaTypeOutput added in v5.11.0

func (i GetTableReplicaTypeArgs) ToGetTableReplicaTypeOutput() GetTableReplicaTypeOutput

func (GetTableReplicaTypeArgs) ToGetTableReplicaTypeOutputWithContext added in v5.11.0

func (i GetTableReplicaTypeArgs) ToGetTableReplicaTypeOutputWithContext(ctx context.Context) GetTableReplicaTypeOutput

type GetTableReplicaTypeArray added in v5.11.0

type GetTableReplicaTypeArray []GetTableReplicaTypeInput

func (GetTableReplicaTypeArray) ElementType added in v5.11.0

func (GetTableReplicaTypeArray) ElementType() reflect.Type

func (GetTableReplicaTypeArray) ToGetTableReplicaTypeArrayOutput added in v5.11.0

func (i GetTableReplicaTypeArray) ToGetTableReplicaTypeArrayOutput() GetTableReplicaTypeArrayOutput

func (GetTableReplicaTypeArray) ToGetTableReplicaTypeArrayOutputWithContext added in v5.11.0

func (i GetTableReplicaTypeArray) ToGetTableReplicaTypeArrayOutputWithContext(ctx context.Context) GetTableReplicaTypeArrayOutput

type GetTableReplicaTypeArrayInput added in v5.11.0

type GetTableReplicaTypeArrayInput interface {
	pulumi.Input

	ToGetTableReplicaTypeArrayOutput() GetTableReplicaTypeArrayOutput
	ToGetTableReplicaTypeArrayOutputWithContext(context.Context) GetTableReplicaTypeArrayOutput
}

GetTableReplicaTypeArrayInput is an input type that accepts GetTableReplicaTypeArray and GetTableReplicaTypeArrayOutput values. You can construct a concrete instance of `GetTableReplicaTypeArrayInput` via:

GetTableReplicaTypeArray{ GetTableReplicaTypeArgs{...} }

type GetTableReplicaTypeArrayOutput added in v5.11.0

type GetTableReplicaTypeArrayOutput struct{ *pulumi.OutputState }

func (GetTableReplicaTypeArrayOutput) ElementType added in v5.11.0

func (GetTableReplicaTypeArrayOutput) Index added in v5.11.0

func (GetTableReplicaTypeArrayOutput) ToGetTableReplicaTypeArrayOutput added in v5.11.0

func (o GetTableReplicaTypeArrayOutput) ToGetTableReplicaTypeArrayOutput() GetTableReplicaTypeArrayOutput

func (GetTableReplicaTypeArrayOutput) ToGetTableReplicaTypeArrayOutputWithContext added in v5.11.0

func (o GetTableReplicaTypeArrayOutput) ToGetTableReplicaTypeArrayOutputWithContext(ctx context.Context) GetTableReplicaTypeArrayOutput

type GetTableReplicaTypeInput added in v5.11.0

type GetTableReplicaTypeInput interface {
	pulumi.Input

	ToGetTableReplicaTypeOutput() GetTableReplicaTypeOutput
	ToGetTableReplicaTypeOutputWithContext(context.Context) GetTableReplicaTypeOutput
}

GetTableReplicaTypeInput is an input type that accepts GetTableReplicaTypeArgs and GetTableReplicaTypeOutput values. You can construct a concrete instance of `GetTableReplicaTypeInput` via:

GetTableReplicaTypeArgs{...}

type GetTableReplicaTypeOutput added in v5.11.0

type GetTableReplicaTypeOutput struct{ *pulumi.OutputState }

func (GetTableReplicaTypeOutput) ElementType added in v5.11.0

func (GetTableReplicaTypeOutput) ElementType() reflect.Type

func (GetTableReplicaTypeOutput) KmsKeyArn added in v5.11.0

func (GetTableReplicaTypeOutput) RegionName added in v5.11.0

func (GetTableReplicaTypeOutput) ToGetTableReplicaTypeOutput added in v5.11.0

func (o GetTableReplicaTypeOutput) ToGetTableReplicaTypeOutput() GetTableReplicaTypeOutput

func (GetTableReplicaTypeOutput) ToGetTableReplicaTypeOutputWithContext added in v5.11.0

func (o GetTableReplicaTypeOutput) ToGetTableReplicaTypeOutputWithContext(ctx context.Context) GetTableReplicaTypeOutput

type GetTableServerSideEncryption

type GetTableServerSideEncryption struct {
	Enabled   bool   `pulumi:"enabled"`
	KmsKeyArn string `pulumi:"kmsKeyArn"`
}

type GetTableServerSideEncryptionArgs

type GetTableServerSideEncryptionArgs struct {
	Enabled   pulumi.BoolInput   `pulumi:"enabled"`
	KmsKeyArn pulumi.StringInput `pulumi:"kmsKeyArn"`
}

func (GetTableServerSideEncryptionArgs) ElementType

func (GetTableServerSideEncryptionArgs) ToGetTableServerSideEncryptionOutput

func (i GetTableServerSideEncryptionArgs) ToGetTableServerSideEncryptionOutput() GetTableServerSideEncryptionOutput

func (GetTableServerSideEncryptionArgs) ToGetTableServerSideEncryptionOutputWithContext

func (i GetTableServerSideEncryptionArgs) ToGetTableServerSideEncryptionOutputWithContext(ctx context.Context) GetTableServerSideEncryptionOutput

func (GetTableServerSideEncryptionArgs) ToGetTableServerSideEncryptionPtrOutput

func (i GetTableServerSideEncryptionArgs) ToGetTableServerSideEncryptionPtrOutput() GetTableServerSideEncryptionPtrOutput

func (GetTableServerSideEncryptionArgs) ToGetTableServerSideEncryptionPtrOutputWithContext

func (i GetTableServerSideEncryptionArgs) ToGetTableServerSideEncryptionPtrOutputWithContext(ctx context.Context) GetTableServerSideEncryptionPtrOutput

type GetTableServerSideEncryptionInput

type GetTableServerSideEncryptionInput interface {
	pulumi.Input

	ToGetTableServerSideEncryptionOutput() GetTableServerSideEncryptionOutput
	ToGetTableServerSideEncryptionOutputWithContext(context.Context) GetTableServerSideEncryptionOutput
}

GetTableServerSideEncryptionInput is an input type that accepts GetTableServerSideEncryptionArgs and GetTableServerSideEncryptionOutput values. You can construct a concrete instance of `GetTableServerSideEncryptionInput` via:

GetTableServerSideEncryptionArgs{...}

type GetTableServerSideEncryptionOutput

type GetTableServerSideEncryptionOutput struct{ *pulumi.OutputState }

func (GetTableServerSideEncryptionOutput) ElementType

func (GetTableServerSideEncryptionOutput) Enabled

func (GetTableServerSideEncryptionOutput) KmsKeyArn

func (GetTableServerSideEncryptionOutput) ToGetTableServerSideEncryptionOutput

func (o GetTableServerSideEncryptionOutput) ToGetTableServerSideEncryptionOutput() GetTableServerSideEncryptionOutput

func (GetTableServerSideEncryptionOutput) ToGetTableServerSideEncryptionOutputWithContext

func (o GetTableServerSideEncryptionOutput) ToGetTableServerSideEncryptionOutputWithContext(ctx context.Context) GetTableServerSideEncryptionOutput

func (GetTableServerSideEncryptionOutput) ToGetTableServerSideEncryptionPtrOutput

func (o GetTableServerSideEncryptionOutput) ToGetTableServerSideEncryptionPtrOutput() GetTableServerSideEncryptionPtrOutput

func (GetTableServerSideEncryptionOutput) ToGetTableServerSideEncryptionPtrOutputWithContext

func (o GetTableServerSideEncryptionOutput) ToGetTableServerSideEncryptionPtrOutputWithContext(ctx context.Context) GetTableServerSideEncryptionPtrOutput

type GetTableServerSideEncryptionPtrInput

type GetTableServerSideEncryptionPtrInput interface {
	pulumi.Input

	ToGetTableServerSideEncryptionPtrOutput() GetTableServerSideEncryptionPtrOutput
	ToGetTableServerSideEncryptionPtrOutputWithContext(context.Context) GetTableServerSideEncryptionPtrOutput
}

GetTableServerSideEncryptionPtrInput is an input type that accepts GetTableServerSideEncryptionArgs, GetTableServerSideEncryptionPtr and GetTableServerSideEncryptionPtrOutput values. You can construct a concrete instance of `GetTableServerSideEncryptionPtrInput` via:

        GetTableServerSideEncryptionArgs{...}

or:

        nil

type GetTableServerSideEncryptionPtrOutput

type GetTableServerSideEncryptionPtrOutput struct{ *pulumi.OutputState }

func (GetTableServerSideEncryptionPtrOutput) Elem

func (GetTableServerSideEncryptionPtrOutput) ElementType

func (GetTableServerSideEncryptionPtrOutput) Enabled

func (GetTableServerSideEncryptionPtrOutput) KmsKeyArn

func (GetTableServerSideEncryptionPtrOutput) ToGetTableServerSideEncryptionPtrOutput

func (o GetTableServerSideEncryptionPtrOutput) ToGetTableServerSideEncryptionPtrOutput() GetTableServerSideEncryptionPtrOutput

func (GetTableServerSideEncryptionPtrOutput) ToGetTableServerSideEncryptionPtrOutputWithContext

func (o GetTableServerSideEncryptionPtrOutput) ToGetTableServerSideEncryptionPtrOutputWithContext(ctx context.Context) GetTableServerSideEncryptionPtrOutput

type GetTableTtl

type GetTableTtl struct {
	AttributeName string `pulumi:"attributeName"`
	Enabled       bool   `pulumi:"enabled"`
}

type GetTableTtlArgs

type GetTableTtlArgs struct {
	AttributeName pulumi.StringInput `pulumi:"attributeName"`
	Enabled       pulumi.BoolInput   `pulumi:"enabled"`
}

func (GetTableTtlArgs) ElementType

func (GetTableTtlArgs) ElementType() reflect.Type

func (GetTableTtlArgs) ToGetTableTtlOutput

func (i GetTableTtlArgs) ToGetTableTtlOutput() GetTableTtlOutput

func (GetTableTtlArgs) ToGetTableTtlOutputWithContext

func (i GetTableTtlArgs) ToGetTableTtlOutputWithContext(ctx context.Context) GetTableTtlOutput

type GetTableTtlInput

type GetTableTtlInput interface {
	pulumi.Input

	ToGetTableTtlOutput() GetTableTtlOutput
	ToGetTableTtlOutputWithContext(context.Context) GetTableTtlOutput
}

GetTableTtlInput is an input type that accepts GetTableTtlArgs and GetTableTtlOutput values. You can construct a concrete instance of `GetTableTtlInput` via:

GetTableTtlArgs{...}

type GetTableTtlOutput

type GetTableTtlOutput struct{ *pulumi.OutputState }

func (GetTableTtlOutput) AttributeName

func (o GetTableTtlOutput) AttributeName() pulumi.StringOutput

func (GetTableTtlOutput) ElementType

func (GetTableTtlOutput) ElementType() reflect.Type

func (GetTableTtlOutput) Enabled

func (o GetTableTtlOutput) Enabled() pulumi.BoolOutput

func (GetTableTtlOutput) ToGetTableTtlOutput

func (o GetTableTtlOutput) ToGetTableTtlOutput() GetTableTtlOutput

func (GetTableTtlOutput) ToGetTableTtlOutputWithContext

func (o GetTableTtlOutput) ToGetTableTtlOutputWithContext(ctx context.Context) GetTableTtlOutput

type GlobalTable

type GlobalTable struct {
	pulumi.CustomResourceState

	// The ARN of the DynamoDB Global Table
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The name of the global table. Must match underlying DynamoDB Table names in all regions.
	Name pulumi.StringOutput `pulumi:"name"`
	// Underlying DynamoDB Table. At least 1 replica must be defined. See below.
	Replicas GlobalTableReplicaArrayOutput `pulumi:"replicas"`
}

Manages [DynamoDB Global Tables V1 (version 2017.11.29)](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html). These are layered on top of existing DynamoDB Tables.

> **NOTE:** To instead manage [DynamoDB Global Tables V2 (version 2019.11.21)](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html), use the `dynamodb.Table` resource `replica` configuration block.

> Note: There are many restrictions before you can properly create DynamoDB Global Tables in multiple regions. See the [AWS DynamoDB Global Table Requirements](http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables_reqs_bestpractices.html) for more information.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws"
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/dynamodb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := aws.NewProvider(ctx, "us-east-1", &aws.ProviderArgs{
			Region: pulumi.String("us-east-1"),
		})
		if err != nil {
			return err
		}
		_, err = aws.NewProvider(ctx, "us-west-2", &aws.ProviderArgs{
			Region: pulumi.String("us-west-2"),
		})
		if err != nil {
			return err
		}
		_, err = dynamodb.NewTable(ctx, "us-east-1Table", &dynamodb.TableArgs{
			HashKey:        pulumi.String("myAttribute"),
			StreamEnabled:  pulumi.Bool(true),
			StreamViewType: pulumi.String("NEW_AND_OLD_IMAGES"),
			ReadCapacity:   pulumi.Int(1),
			WriteCapacity:  pulumi.Int(1),
			Attributes: dynamodb.TableAttributeArray{
				&dynamodb.TableAttributeArgs{
					Name: pulumi.String("myAttribute"),
					Type: pulumi.String("S"),
				},
			},
		}, pulumi.Provider(aws.UsEast1))
		if err != nil {
			return err
		}
		_, err = dynamodb.NewTable(ctx, "us-west-2Table", &dynamodb.TableArgs{
			HashKey:        pulumi.String("myAttribute"),
			StreamEnabled:  pulumi.Bool(true),
			StreamViewType: pulumi.String("NEW_AND_OLD_IMAGES"),
			ReadCapacity:   pulumi.Int(1),
			WriteCapacity:  pulumi.Int(1),
			Attributes: dynamodb.TableAttributeArray{
				&dynamodb.TableAttributeArgs{
					Name: pulumi.String("myAttribute"),
					Type: pulumi.String("S"),
				},
			},
		}, pulumi.Provider(aws.UsWest2))
		if err != nil {
			return err
		}
		_, err = dynamodb.NewGlobalTable(ctx, "myTable", &dynamodb.GlobalTableArgs{
			Replicas: dynamodb.GlobalTableReplicaArray{
				&dynamodb.GlobalTableReplicaArgs{
					RegionName: pulumi.String("us-east-1"),
				},
				&dynamodb.GlobalTableReplicaArgs{
					RegionName: pulumi.String("us-west-2"),
				},
			},
		}, pulumi.Provider(aws.UsEast1), pulumi.DependsOn([]pulumi.Resource{
			us_east_1Table,
			us_west_2Table,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

DynamoDB Global Tables can be imported using the global table name, e.g.,

```sh

$ pulumi import aws:dynamodb/globalTable:GlobalTable MyTable MyTable

```

func GetGlobalTable

func GetGlobalTable(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GlobalTableState, opts ...pulumi.ResourceOption) (*GlobalTable, error)

GetGlobalTable gets an existing GlobalTable resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewGlobalTable

func NewGlobalTable(ctx *pulumi.Context,
	name string, args *GlobalTableArgs, opts ...pulumi.ResourceOption) (*GlobalTable, error)

NewGlobalTable registers a new resource with the given unique name, arguments, and options.

func (*GlobalTable) ElementType

func (*GlobalTable) ElementType() reflect.Type

func (*GlobalTable) ToGlobalTableOutput

func (i *GlobalTable) ToGlobalTableOutput() GlobalTableOutput

func (*GlobalTable) ToGlobalTableOutputWithContext

func (i *GlobalTable) ToGlobalTableOutputWithContext(ctx context.Context) GlobalTableOutput

type GlobalTableArgs

type GlobalTableArgs struct {
	// The name of the global table. Must match underlying DynamoDB Table names in all regions.
	Name pulumi.StringPtrInput
	// Underlying DynamoDB Table. At least 1 replica must be defined. See below.
	Replicas GlobalTableReplicaArrayInput
}

The set of arguments for constructing a GlobalTable resource.

func (GlobalTableArgs) ElementType

func (GlobalTableArgs) ElementType() reflect.Type

type GlobalTableArray

type GlobalTableArray []GlobalTableInput

func (GlobalTableArray) ElementType

func (GlobalTableArray) ElementType() reflect.Type

func (GlobalTableArray) ToGlobalTableArrayOutput

func (i GlobalTableArray) ToGlobalTableArrayOutput() GlobalTableArrayOutput

func (GlobalTableArray) ToGlobalTableArrayOutputWithContext

func (i GlobalTableArray) ToGlobalTableArrayOutputWithContext(ctx context.Context) GlobalTableArrayOutput

type GlobalTableArrayInput

type GlobalTableArrayInput interface {
	pulumi.Input

	ToGlobalTableArrayOutput() GlobalTableArrayOutput
	ToGlobalTableArrayOutputWithContext(context.Context) GlobalTableArrayOutput
}

GlobalTableArrayInput is an input type that accepts GlobalTableArray and GlobalTableArrayOutput values. You can construct a concrete instance of `GlobalTableArrayInput` via:

GlobalTableArray{ GlobalTableArgs{...} }

type GlobalTableArrayOutput

type GlobalTableArrayOutput struct{ *pulumi.OutputState }

func (GlobalTableArrayOutput) ElementType

func (GlobalTableArrayOutput) ElementType() reflect.Type

func (GlobalTableArrayOutput) Index

func (GlobalTableArrayOutput) ToGlobalTableArrayOutput

func (o GlobalTableArrayOutput) ToGlobalTableArrayOutput() GlobalTableArrayOutput

func (GlobalTableArrayOutput) ToGlobalTableArrayOutputWithContext

func (o GlobalTableArrayOutput) ToGlobalTableArrayOutputWithContext(ctx context.Context) GlobalTableArrayOutput

type GlobalTableInput

type GlobalTableInput interface {
	pulumi.Input

	ToGlobalTableOutput() GlobalTableOutput
	ToGlobalTableOutputWithContext(ctx context.Context) GlobalTableOutput
}

type GlobalTableMap

type GlobalTableMap map[string]GlobalTableInput

func (GlobalTableMap) ElementType

func (GlobalTableMap) ElementType() reflect.Type

func (GlobalTableMap) ToGlobalTableMapOutput

func (i GlobalTableMap) ToGlobalTableMapOutput() GlobalTableMapOutput

func (GlobalTableMap) ToGlobalTableMapOutputWithContext

func (i GlobalTableMap) ToGlobalTableMapOutputWithContext(ctx context.Context) GlobalTableMapOutput

type GlobalTableMapInput

type GlobalTableMapInput interface {
	pulumi.Input

	ToGlobalTableMapOutput() GlobalTableMapOutput
	ToGlobalTableMapOutputWithContext(context.Context) GlobalTableMapOutput
}

GlobalTableMapInput is an input type that accepts GlobalTableMap and GlobalTableMapOutput values. You can construct a concrete instance of `GlobalTableMapInput` via:

GlobalTableMap{ "key": GlobalTableArgs{...} }

type GlobalTableMapOutput

type GlobalTableMapOutput struct{ *pulumi.OutputState }

func (GlobalTableMapOutput) ElementType

func (GlobalTableMapOutput) ElementType() reflect.Type

func (GlobalTableMapOutput) MapIndex

func (GlobalTableMapOutput) ToGlobalTableMapOutput

func (o GlobalTableMapOutput) ToGlobalTableMapOutput() GlobalTableMapOutput

func (GlobalTableMapOutput) ToGlobalTableMapOutputWithContext

func (o GlobalTableMapOutput) ToGlobalTableMapOutputWithContext(ctx context.Context) GlobalTableMapOutput

type GlobalTableOutput

type GlobalTableOutput struct{ *pulumi.OutputState }

func (GlobalTableOutput) Arn added in v5.4.0

The ARN of the DynamoDB Global Table

func (GlobalTableOutput) ElementType

func (GlobalTableOutput) ElementType() reflect.Type

func (GlobalTableOutput) Name added in v5.4.0

The name of the global table. Must match underlying DynamoDB Table names in all regions.

func (GlobalTableOutput) Replicas added in v5.4.0

Underlying DynamoDB Table. At least 1 replica must be defined. See below.

func (GlobalTableOutput) ToGlobalTableOutput

func (o GlobalTableOutput) ToGlobalTableOutput() GlobalTableOutput

func (GlobalTableOutput) ToGlobalTableOutputWithContext

func (o GlobalTableOutput) ToGlobalTableOutputWithContext(ctx context.Context) GlobalTableOutput

type GlobalTableReplica

type GlobalTableReplica struct {
	// AWS region name of replica DynamoDB TableE.g., `us-east-1`
	RegionName string `pulumi:"regionName"`
}

type GlobalTableReplicaArgs

type GlobalTableReplicaArgs struct {
	// AWS region name of replica DynamoDB TableE.g., `us-east-1`
	RegionName pulumi.StringInput `pulumi:"regionName"`
}

func (GlobalTableReplicaArgs) ElementType

func (GlobalTableReplicaArgs) ElementType() reflect.Type

func (GlobalTableReplicaArgs) ToGlobalTableReplicaOutput

func (i GlobalTableReplicaArgs) ToGlobalTableReplicaOutput() GlobalTableReplicaOutput

func (GlobalTableReplicaArgs) ToGlobalTableReplicaOutputWithContext

func (i GlobalTableReplicaArgs) ToGlobalTableReplicaOutputWithContext(ctx context.Context) GlobalTableReplicaOutput

type GlobalTableReplicaArray

type GlobalTableReplicaArray []GlobalTableReplicaInput

func (GlobalTableReplicaArray) ElementType

func (GlobalTableReplicaArray) ElementType() reflect.Type

func (GlobalTableReplicaArray) ToGlobalTableReplicaArrayOutput

func (i GlobalTableReplicaArray) ToGlobalTableReplicaArrayOutput() GlobalTableReplicaArrayOutput

func (GlobalTableReplicaArray) ToGlobalTableReplicaArrayOutputWithContext

func (i GlobalTableReplicaArray) ToGlobalTableReplicaArrayOutputWithContext(ctx context.Context) GlobalTableReplicaArrayOutput

type GlobalTableReplicaArrayInput

type GlobalTableReplicaArrayInput interface {
	pulumi.Input

	ToGlobalTableReplicaArrayOutput() GlobalTableReplicaArrayOutput
	ToGlobalTableReplicaArrayOutputWithContext(context.Context) GlobalTableReplicaArrayOutput
}

GlobalTableReplicaArrayInput is an input type that accepts GlobalTableReplicaArray and GlobalTableReplicaArrayOutput values. You can construct a concrete instance of `GlobalTableReplicaArrayInput` via:

GlobalTableReplicaArray{ GlobalTableReplicaArgs{...} }

type GlobalTableReplicaArrayOutput

type GlobalTableReplicaArrayOutput struct{ *pulumi.OutputState }

func (GlobalTableReplicaArrayOutput) ElementType

func (GlobalTableReplicaArrayOutput) Index

func (GlobalTableReplicaArrayOutput) ToGlobalTableReplicaArrayOutput

func (o GlobalTableReplicaArrayOutput) ToGlobalTableReplicaArrayOutput() GlobalTableReplicaArrayOutput

func (GlobalTableReplicaArrayOutput) ToGlobalTableReplicaArrayOutputWithContext

func (o GlobalTableReplicaArrayOutput) ToGlobalTableReplicaArrayOutputWithContext(ctx context.Context) GlobalTableReplicaArrayOutput

type GlobalTableReplicaInput

type GlobalTableReplicaInput interface {
	pulumi.Input

	ToGlobalTableReplicaOutput() GlobalTableReplicaOutput
	ToGlobalTableReplicaOutputWithContext(context.Context) GlobalTableReplicaOutput
}

GlobalTableReplicaInput is an input type that accepts GlobalTableReplicaArgs and GlobalTableReplicaOutput values. You can construct a concrete instance of `GlobalTableReplicaInput` via:

GlobalTableReplicaArgs{...}

type GlobalTableReplicaOutput

type GlobalTableReplicaOutput struct{ *pulumi.OutputState }

func (GlobalTableReplicaOutput) ElementType

func (GlobalTableReplicaOutput) ElementType() reflect.Type

func (GlobalTableReplicaOutput) RegionName

AWS region name of replica DynamoDB TableE.g., `us-east-1`

func (GlobalTableReplicaOutput) ToGlobalTableReplicaOutput

func (o GlobalTableReplicaOutput) ToGlobalTableReplicaOutput() GlobalTableReplicaOutput

func (GlobalTableReplicaOutput) ToGlobalTableReplicaOutputWithContext

func (o GlobalTableReplicaOutput) ToGlobalTableReplicaOutputWithContext(ctx context.Context) GlobalTableReplicaOutput

type GlobalTableState

type GlobalTableState struct {
	// The ARN of the DynamoDB Global Table
	Arn pulumi.StringPtrInput
	// The name of the global table. Must match underlying DynamoDB Table names in all regions.
	Name pulumi.StringPtrInput
	// Underlying DynamoDB Table. At least 1 replica must be defined. See below.
	Replicas GlobalTableReplicaArrayInput
}

func (GlobalTableState) ElementType

func (GlobalTableState) ElementType() reflect.Type

type KinesisStreamingDestination

type KinesisStreamingDestination struct {
	pulumi.CustomResourceState

	// The ARN for a Kinesis data stream. This must exist in the same account and region as the DynamoDB table.
	StreamArn pulumi.StringOutput `pulumi:"streamArn"`
	// The name of the DynamoDB table. There
	// can only be one Kinesis streaming destination for a given DynamoDB table.
	TableName pulumi.StringOutput `pulumi:"tableName"`
}

Enables a [Kinesis streaming destination](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/kds.html) for data replication of a DynamoDB table.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/dynamodb"
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/kinesis"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleTable, err := dynamodb.NewTable(ctx, "exampleTable", &dynamodb.TableArgs{
			HashKey: pulumi.String("id"),
			Attributes: dynamodb.TableAttributeArray{
				&dynamodb.TableAttributeArgs{
					Name: pulumi.String("id"),
					Type: pulumi.String("S"),
				},
			},
		})
		if err != nil {
			return err
		}
		exampleStream, err := kinesis.NewStream(ctx, "exampleStream", &kinesis.StreamArgs{
			ShardCount: pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		_, err = dynamodb.NewKinesisStreamingDestination(ctx, "exampleKinesisStreamingDestination", &dynamodb.KinesisStreamingDestinationArgs{
			StreamArn: exampleStream.Arn,
			TableName: exampleTable.Name,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

DynamoDB Kinesis Streaming Destinations can be imported using the `table_name` and `stream_arn` separated by `,`, e.g.,

```sh

$ pulumi import aws:dynamodb/kinesisStreamingDestination:KinesisStreamingDestination example example,arn:aws:kinesis:us-east-1:111122223333:exampleStreamName

```

func GetKinesisStreamingDestination

func GetKinesisStreamingDestination(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *KinesisStreamingDestinationState, opts ...pulumi.ResourceOption) (*KinesisStreamingDestination, error)

GetKinesisStreamingDestination gets an existing KinesisStreamingDestination resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewKinesisStreamingDestination

func NewKinesisStreamingDestination(ctx *pulumi.Context,
	name string, args *KinesisStreamingDestinationArgs, opts ...pulumi.ResourceOption) (*KinesisStreamingDestination, error)

NewKinesisStreamingDestination registers a new resource with the given unique name, arguments, and options.

func (*KinesisStreamingDestination) ElementType

func (*KinesisStreamingDestination) ElementType() reflect.Type

func (*KinesisStreamingDestination) ToKinesisStreamingDestinationOutput

func (i *KinesisStreamingDestination) ToKinesisStreamingDestinationOutput() KinesisStreamingDestinationOutput

func (*KinesisStreamingDestination) ToKinesisStreamingDestinationOutputWithContext

func (i *KinesisStreamingDestination) ToKinesisStreamingDestinationOutputWithContext(ctx context.Context) KinesisStreamingDestinationOutput

type KinesisStreamingDestinationArgs

type KinesisStreamingDestinationArgs struct {
	// The ARN for a Kinesis data stream. This must exist in the same account and region as the DynamoDB table.
	StreamArn pulumi.StringInput
	// The name of the DynamoDB table. There
	// can only be one Kinesis streaming destination for a given DynamoDB table.
	TableName pulumi.StringInput
}

The set of arguments for constructing a KinesisStreamingDestination resource.

func (KinesisStreamingDestinationArgs) ElementType

type KinesisStreamingDestinationArray

type KinesisStreamingDestinationArray []KinesisStreamingDestinationInput

func (KinesisStreamingDestinationArray) ElementType

func (KinesisStreamingDestinationArray) ToKinesisStreamingDestinationArrayOutput

func (i KinesisStreamingDestinationArray) ToKinesisStreamingDestinationArrayOutput() KinesisStreamingDestinationArrayOutput

func (KinesisStreamingDestinationArray) ToKinesisStreamingDestinationArrayOutputWithContext

func (i KinesisStreamingDestinationArray) ToKinesisStreamingDestinationArrayOutputWithContext(ctx context.Context) KinesisStreamingDestinationArrayOutput

type KinesisStreamingDestinationArrayInput

type KinesisStreamingDestinationArrayInput interface {
	pulumi.Input

	ToKinesisStreamingDestinationArrayOutput() KinesisStreamingDestinationArrayOutput
	ToKinesisStreamingDestinationArrayOutputWithContext(context.Context) KinesisStreamingDestinationArrayOutput
}

KinesisStreamingDestinationArrayInput is an input type that accepts KinesisStreamingDestinationArray and KinesisStreamingDestinationArrayOutput values. You can construct a concrete instance of `KinesisStreamingDestinationArrayInput` via:

KinesisStreamingDestinationArray{ KinesisStreamingDestinationArgs{...} }

type KinesisStreamingDestinationArrayOutput

type KinesisStreamingDestinationArrayOutput struct{ *pulumi.OutputState }

func (KinesisStreamingDestinationArrayOutput) ElementType

func (KinesisStreamingDestinationArrayOutput) Index

func (KinesisStreamingDestinationArrayOutput) ToKinesisStreamingDestinationArrayOutput

func (o KinesisStreamingDestinationArrayOutput) ToKinesisStreamingDestinationArrayOutput() KinesisStreamingDestinationArrayOutput

func (KinesisStreamingDestinationArrayOutput) ToKinesisStreamingDestinationArrayOutputWithContext

func (o KinesisStreamingDestinationArrayOutput) ToKinesisStreamingDestinationArrayOutputWithContext(ctx context.Context) KinesisStreamingDestinationArrayOutput

type KinesisStreamingDestinationInput

type KinesisStreamingDestinationInput interface {
	pulumi.Input

	ToKinesisStreamingDestinationOutput() KinesisStreamingDestinationOutput
	ToKinesisStreamingDestinationOutputWithContext(ctx context.Context) KinesisStreamingDestinationOutput
}

type KinesisStreamingDestinationMap

type KinesisStreamingDestinationMap map[string]KinesisStreamingDestinationInput

func (KinesisStreamingDestinationMap) ElementType

func (KinesisStreamingDestinationMap) ToKinesisStreamingDestinationMapOutput

func (i KinesisStreamingDestinationMap) ToKinesisStreamingDestinationMapOutput() KinesisStreamingDestinationMapOutput

func (KinesisStreamingDestinationMap) ToKinesisStreamingDestinationMapOutputWithContext

func (i KinesisStreamingDestinationMap) ToKinesisStreamingDestinationMapOutputWithContext(ctx context.Context) KinesisStreamingDestinationMapOutput

type KinesisStreamingDestinationMapInput

type KinesisStreamingDestinationMapInput interface {
	pulumi.Input

	ToKinesisStreamingDestinationMapOutput() KinesisStreamingDestinationMapOutput
	ToKinesisStreamingDestinationMapOutputWithContext(context.Context) KinesisStreamingDestinationMapOutput
}

KinesisStreamingDestinationMapInput is an input type that accepts KinesisStreamingDestinationMap and KinesisStreamingDestinationMapOutput values. You can construct a concrete instance of `KinesisStreamingDestinationMapInput` via:

KinesisStreamingDestinationMap{ "key": KinesisStreamingDestinationArgs{...} }

type KinesisStreamingDestinationMapOutput

type KinesisStreamingDestinationMapOutput struct{ *pulumi.OutputState }

func (KinesisStreamingDestinationMapOutput) ElementType

func (KinesisStreamingDestinationMapOutput) MapIndex

func (KinesisStreamingDestinationMapOutput) ToKinesisStreamingDestinationMapOutput

func (o KinesisStreamingDestinationMapOutput) ToKinesisStreamingDestinationMapOutput() KinesisStreamingDestinationMapOutput

func (KinesisStreamingDestinationMapOutput) ToKinesisStreamingDestinationMapOutputWithContext

func (o KinesisStreamingDestinationMapOutput) ToKinesisStreamingDestinationMapOutputWithContext(ctx context.Context) KinesisStreamingDestinationMapOutput

type KinesisStreamingDestinationOutput

type KinesisStreamingDestinationOutput struct{ *pulumi.OutputState }

func (KinesisStreamingDestinationOutput) ElementType

func (KinesisStreamingDestinationOutput) StreamArn added in v5.4.0

The ARN for a Kinesis data stream. This must exist in the same account and region as the DynamoDB table.

func (KinesisStreamingDestinationOutput) TableName added in v5.4.0

The name of the DynamoDB table. There can only be one Kinesis streaming destination for a given DynamoDB table.

func (KinesisStreamingDestinationOutput) ToKinesisStreamingDestinationOutput

func (o KinesisStreamingDestinationOutput) ToKinesisStreamingDestinationOutput() KinesisStreamingDestinationOutput

func (KinesisStreamingDestinationOutput) ToKinesisStreamingDestinationOutputWithContext

func (o KinesisStreamingDestinationOutput) ToKinesisStreamingDestinationOutputWithContext(ctx context.Context) KinesisStreamingDestinationOutput

type KinesisStreamingDestinationState

type KinesisStreamingDestinationState struct {
	// The ARN for a Kinesis data stream. This must exist in the same account and region as the DynamoDB table.
	StreamArn pulumi.StringPtrInput
	// The name of the DynamoDB table. There
	// can only be one Kinesis streaming destination for a given DynamoDB table.
	TableName pulumi.StringPtrInput
}

func (KinesisStreamingDestinationState) ElementType

type LookupTableArgs

type LookupTableArgs struct {
	// Name of the DynamoDB table.
	Name                 string                        `pulumi:"name"`
	ServerSideEncryption *GetTableServerSideEncryption `pulumi:"serverSideEncryption"`
	Tags                 map[string]string             `pulumi:"tags"`
}

A collection of arguments for invoking getTable.

type LookupTableItemArgs added in v5.21.0

type LookupTableItemArgs struct {
	ExpressionAttributeNames map[string]string `pulumi:"expressionAttributeNames"`
	// A map of attribute names to AttributeValue objects, representing the primary key of the item to retrieve.
	// For the primary key, you must provide all of the attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.
	//
	// The following arguments are optional:
	Key string `pulumi:"key"`
	// A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.
	// If no attribute names are specified, then all attributes are returned. If any of the requested attributes are not found, they do not appear in the result.
	ProjectionExpression *string `pulumi:"projectionExpression"`
	// The name of the table containing the requested item.
	TableName string `pulumi:"tableName"`
}

A collection of arguments for invoking getTableItem.

type LookupTableItemOutputArgs added in v5.21.0

type LookupTableItemOutputArgs struct {
	ExpressionAttributeNames pulumi.StringMapInput `pulumi:"expressionAttributeNames"`
	// A map of attribute names to AttributeValue objects, representing the primary key of the item to retrieve.
	// For the primary key, you must provide all of the attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.
	//
	// The following arguments are optional:
	Key pulumi.StringInput `pulumi:"key"`
	// A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.
	// If no attribute names are specified, then all attributes are returned. If any of the requested attributes are not found, they do not appear in the result.
	ProjectionExpression pulumi.StringPtrInput `pulumi:"projectionExpression"`
	// The name of the table containing the requested item.
	TableName pulumi.StringInput `pulumi:"tableName"`
}

A collection of arguments for invoking getTableItem.

func (LookupTableItemOutputArgs) ElementType added in v5.21.0

func (LookupTableItemOutputArgs) ElementType() reflect.Type

type LookupTableItemResult added in v5.21.0

type LookupTableItemResult struct {
	ExpressionAttributeNames map[string]string `pulumi:"expressionAttributeNames"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// JSON representation of a map of attribute names to [AttributeValue](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_AttributeValue.html) objects, as specified by ProjectionExpression.
	Item                 string  `pulumi:"item"`
	Key                  string  `pulumi:"key"`
	ProjectionExpression *string `pulumi:"projectionExpression"`
	TableName            string  `pulumi:"tableName"`
}

A collection of values returned by getTableItem.

func LookupTableItem added in v5.21.0

func LookupTableItem(ctx *pulumi.Context, args *LookupTableItemArgs, opts ...pulumi.InvokeOption) (*LookupTableItemResult, error)

Data source for retrieving a value from an AWS DynamoDB table.

## Example Usage ### Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/dynamodb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dynamodb.LookupTableItem(ctx, &dynamodb.LookupTableItemArgs{
			TableName: aws_dynamodb_table.Example.Name,
			ExpressionAttributeNames: map[string]interface{}{
				"#P": "Percentile",
			},
			ProjectionExpression: pulumi.StringRef("#P"),
			Key:                  "{\n	\"hashKey\": {\"S\": \"example\"}\n}\n",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupTableItemResultOutput added in v5.21.0

type LookupTableItemResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getTableItem.

func LookupTableItemOutput added in v5.21.0

func (LookupTableItemResultOutput) ElementType added in v5.21.0

func (LookupTableItemResultOutput) ExpressionAttributeNames added in v5.21.0

func (o LookupTableItemResultOutput) ExpressionAttributeNames() pulumi.StringMapOutput

func (LookupTableItemResultOutput) Id added in v5.21.0

The provider-assigned unique ID for this managed resource.

func (LookupTableItemResultOutput) Item added in v5.21.0

JSON representation of a map of attribute names to [AttributeValue](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_AttributeValue.html) objects, as specified by ProjectionExpression.

func (LookupTableItemResultOutput) Key added in v5.21.0

func (LookupTableItemResultOutput) ProjectionExpression added in v5.21.0

func (o LookupTableItemResultOutput) ProjectionExpression() pulumi.StringPtrOutput

func (LookupTableItemResultOutput) TableName added in v5.21.0

func (LookupTableItemResultOutput) ToLookupTableItemResultOutput added in v5.21.0

func (o LookupTableItemResultOutput) ToLookupTableItemResultOutput() LookupTableItemResultOutput

func (LookupTableItemResultOutput) ToLookupTableItemResultOutputWithContext added in v5.21.0

func (o LookupTableItemResultOutput) ToLookupTableItemResultOutputWithContext(ctx context.Context) LookupTableItemResultOutput

type LookupTableOutputArgs

type LookupTableOutputArgs struct {
	// Name of the DynamoDB table.
	Name                 pulumi.StringInput                   `pulumi:"name"`
	ServerSideEncryption GetTableServerSideEncryptionPtrInput `pulumi:"serverSideEncryption"`
	Tags                 pulumi.StringMapInput                `pulumi:"tags"`
}

A collection of arguments for invoking getTable.

func (LookupTableOutputArgs) ElementType

func (LookupTableOutputArgs) ElementType() reflect.Type

type LookupTableResult

type LookupTableResult struct {
	Arn                       string                         `pulumi:"arn"`
	Attributes                []GetTableAttribute            `pulumi:"attributes"`
	BillingMode               string                         `pulumi:"billingMode"`
	DeletionProtectionEnabled bool                           `pulumi:"deletionProtectionEnabled"`
	GlobalSecondaryIndexes    []GetTableGlobalSecondaryIndex `pulumi:"globalSecondaryIndexes"`
	HashKey                   string                         `pulumi:"hashKey"`
	// The provider-assigned unique ID for this managed resource.
	Id                    string                        `pulumi:"id"`
	LocalSecondaryIndexes []GetTableLocalSecondaryIndex `pulumi:"localSecondaryIndexes"`
	Name                  string                        `pulumi:"name"`
	PointInTimeRecovery   GetTablePointInTimeRecovery   `pulumi:"pointInTimeRecovery"`
	RangeKey              string                        `pulumi:"rangeKey"`
	ReadCapacity          int                           `pulumi:"readCapacity"`
	Replicas              []GetTableReplicaType         `pulumi:"replicas"`
	ServerSideEncryption  GetTableServerSideEncryption  `pulumi:"serverSideEncryption"`
	StreamArn             string                        `pulumi:"streamArn"`
	StreamEnabled         bool                          `pulumi:"streamEnabled"`
	StreamLabel           string                        `pulumi:"streamLabel"`
	StreamViewType        string                        `pulumi:"streamViewType"`
	TableClass            string                        `pulumi:"tableClass"`
	Tags                  map[string]string             `pulumi:"tags"`
	Ttl                   GetTableTtl                   `pulumi:"ttl"`
	WriteCapacity         int                           `pulumi:"writeCapacity"`
}

A collection of values returned by getTable.

func LookupTable

func LookupTable(ctx *pulumi.Context, args *LookupTableArgs, opts ...pulumi.InvokeOption) (*LookupTableResult, error)

Provides information about a DynamoDB table.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/dynamodb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dynamodb.LookupTable(ctx, &dynamodb.LookupTableArgs{
			Name: "tableName",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupTableResultOutput

type LookupTableResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getTable.

func (LookupTableResultOutput) Arn

func (LookupTableResultOutput) Attributes

func (LookupTableResultOutput) BillingMode

func (LookupTableResultOutput) DeletionProtectionEnabled added in v5.33.0

func (o LookupTableResultOutput) DeletionProtectionEnabled() pulumi.BoolOutput

func (LookupTableResultOutput) ElementType

func (LookupTableResultOutput) ElementType() reflect.Type

func (LookupTableResultOutput) GlobalSecondaryIndexes

func (LookupTableResultOutput) HashKey

func (LookupTableResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupTableResultOutput) LocalSecondaryIndexes

func (LookupTableResultOutput) Name

func (LookupTableResultOutput) PointInTimeRecovery

func (LookupTableResultOutput) RangeKey

func (LookupTableResultOutput) ReadCapacity

func (o LookupTableResultOutput) ReadCapacity() pulumi.IntOutput

func (LookupTableResultOutput) Replicas

func (LookupTableResultOutput) ServerSideEncryption

func (LookupTableResultOutput) StreamArn

func (LookupTableResultOutput) StreamEnabled

func (o LookupTableResultOutput) StreamEnabled() pulumi.BoolOutput

func (LookupTableResultOutput) StreamLabel

func (LookupTableResultOutput) StreamViewType

func (o LookupTableResultOutput) StreamViewType() pulumi.StringOutput

func (LookupTableResultOutput) TableClass

func (LookupTableResultOutput) Tags

func (LookupTableResultOutput) ToLookupTableResultOutput

func (o LookupTableResultOutput) ToLookupTableResultOutput() LookupTableResultOutput

func (LookupTableResultOutput) ToLookupTableResultOutputWithContext

func (o LookupTableResultOutput) ToLookupTableResultOutputWithContext(ctx context.Context) LookupTableResultOutput

func (LookupTableResultOutput) Ttl

func (LookupTableResultOutput) WriteCapacity

func (o LookupTableResultOutput) WriteCapacity() pulumi.IntOutput

type Table

type Table struct {
	pulumi.CustomResourceState

	// ARN of the table
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Set of nested attribute definitions. Only required for `hashKey` and `rangeKey` attributes. See below.
	Attributes TableAttributeArrayOutput `pulumi:"attributes"`
	// Controls how you are charged for read and write throughput and how you manage capacity. The valid values are `PROVISIONED` and `PAY_PER_REQUEST`. Defaults to `PROVISIONED`.
	BillingMode pulumi.StringPtrOutput `pulumi:"billingMode"`
	// Enables deletion protection for table. Defaults to `false`.
	DeletionProtectionEnabled pulumi.BoolPtrOutput `pulumi:"deletionProtectionEnabled"`
	// Describe a GSI for the table; subject to the normal limits on the number of GSIs, projected attributes, etc. See below.
	GlobalSecondaryIndexes TableGlobalSecondaryIndexArrayOutput `pulumi:"globalSecondaryIndexes"`
	// Attribute to use as the hash (partition) key. Must also be defined as an `attribute`. See below.
	HashKey pulumi.StringOutput `pulumi:"hashKey"`
	// Describe an LSI on the table; these can only be allocated _at creation_ so you cannot change this definition after you have created the resource. See below.
	LocalSecondaryIndexes TableLocalSecondaryIndexArrayOutput `pulumi:"localSecondaryIndexes"`
	// Unique within a region name of the table.
	//
	// Optional arguments:
	Name pulumi.StringOutput `pulumi:"name"`
	// Enable point-in-time recovery options. See below.
	PointInTimeRecovery TablePointInTimeRecoveryOutput `pulumi:"pointInTimeRecovery"`
	// Attribute to use as the range (sort) key. Must also be defined as an `attribute`, see below.
	RangeKey pulumi.StringPtrOutput `pulumi:"rangeKey"`
	// Number of read units for this table. If the `billingMode` is `PROVISIONED`, this field is required.
	ReadCapacity pulumi.IntOutput `pulumi:"readCapacity"`
	// Configuration block(s) with [DynamoDB Global Tables V2 (version 2019.11.21)](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html) replication configurations. See below.
	Replicas TableReplicaTypeArrayOutput `pulumi:"replicas"`
	// Time of the point-in-time recovery point to restore.
	RestoreDateTime pulumi.StringPtrOutput `pulumi:"restoreDateTime"`
	// Name of the table to restore. Must match the name of an existing table.
	RestoreSourceName pulumi.StringPtrOutput `pulumi:"restoreSourceName"`
	// If set, restores table to the most recent point-in-time recovery point.
	RestoreToLatestTime pulumi.BoolPtrOutput `pulumi:"restoreToLatestTime"`
	// Encryption at rest options. AWS DynamoDB tables are automatically encrypted at rest with an AWS-owned Customer Master Key if this argument isn't specified. See below.
	ServerSideEncryption TableServerSideEncryptionOutput `pulumi:"serverSideEncryption"`
	// ARN of the Table Stream. Only available when `streamEnabled = true`
	StreamArn pulumi.StringOutput `pulumi:"streamArn"`
	// Whether Streams are enabled.
	StreamEnabled pulumi.BoolPtrOutput `pulumi:"streamEnabled"`
	// Timestamp, in ISO 8601 format, for this stream. Note that this timestamp is not a unique identifier for the stream on its own. However, the combination of AWS customer ID, table name and this field is guaranteed to be unique. It can be used for creating CloudWatch Alarms. Only available when `streamEnabled = true`.
	StreamLabel pulumi.StringOutput `pulumi:"streamLabel"`
	// When an item in the table is modified, StreamViewType determines what information is written to the table's stream. Valid values are `KEYS_ONLY`, `NEW_IMAGE`, `OLD_IMAGE`, `NEW_AND_OLD_IMAGES`.
	StreamViewType pulumi.StringOutput `pulumi:"streamViewType"`
	// Storage class of the table.
	// Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`.
	// Default value is `STANDARD`.
	TableClass pulumi.StringPtrOutput `pulumi:"tableClass"`
	// A map of tags to populate on the created table. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// Configuration block for TTL. See below.
	Ttl TableTtlOutput `pulumi:"ttl"`
	// Number of write units for this table. If the `billingMode` is `PROVISIONED`, this field is required.
	WriteCapacity pulumi.IntOutput `pulumi:"writeCapacity"`
}

Provides a DynamoDB table resource.

> **Note:** It is recommended to use [`ignoreChanges`](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) for `readCapacity` and/or `writeCapacity` if there's `autoscaling policy` attached to the table.

> **Note:** When using dynamodb.TableReplica with this resource, use `lifecycle` `ignoreChanges` for `replica`, _e.g._, `lifecycle { ignoreChanges = [replica] }`.

## DynamoDB Table attributes

Only define attributes on the table object that are going to be used as:

* Table hash key or range key * LSI or GSI hash key or range key

The DynamoDB API expects attribute structure (name and type) to be passed along when creating or updating GSI/LSIs or creating the initial table. In these cases it expects the Hash / Range keys to be provided. Because these get re-used in numerous places (i.e the table's range key could be a part of one or more GSIs), they are stored on the table object to prevent duplication and increase consistency. If you add attributes here that are not used in these scenarios it can cause an infinite loop in planning.

## Example Usage ### Basic Example

The following dynamodb table description models the table and GSI shown in the [AWS SDK example documentation](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.html)

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/dynamodb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dynamodb.NewTable(ctx, "basic-dynamodb-table", &dynamodb.TableArgs{
			Attributes: dynamodb.TableAttributeArray{
				&dynamodb.TableAttributeArgs{
					Name: pulumi.String("UserId"),
					Type: pulumi.String("S"),
				},
				&dynamodb.TableAttributeArgs{
					Name: pulumi.String("GameTitle"),
					Type: pulumi.String("S"),
				},
				&dynamodb.TableAttributeArgs{
					Name: pulumi.String("TopScore"),
					Type: pulumi.String("N"),
				},
			},
			BillingMode: pulumi.String("PROVISIONED"),
			GlobalSecondaryIndexes: dynamodb.TableGlobalSecondaryIndexArray{
				&dynamodb.TableGlobalSecondaryIndexArgs{
					HashKey: pulumi.String("GameTitle"),
					Name:    pulumi.String("GameTitleIndex"),
					NonKeyAttributes: pulumi.StringArray{
						pulumi.String("UserId"),
					},
					ProjectionType: pulumi.String("INCLUDE"),
					RangeKey:       pulumi.String("TopScore"),
					ReadCapacity:   pulumi.Int(10),
					WriteCapacity:  pulumi.Int(10),
				},
			},
			HashKey:      pulumi.String("UserId"),
			RangeKey:     pulumi.String("GameTitle"),
			ReadCapacity: pulumi.Int(20),
			Tags: pulumi.StringMap{
				"Environment": pulumi.String("production"),
				"Name":        pulumi.String("dynamodb-table-1"),
			},
			Ttl: &dynamodb.TableTtlArgs{
				AttributeName: pulumi.String("TimeToExist"),
				Enabled:       pulumi.Bool(false),
			},
			WriteCapacity: pulumi.Int(20),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Global Tables

This resource implements support for [DynamoDB Global Tables V2 (version 2019.11.21)](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html) via `replica` configuration blocks. For working with [DynamoDB Global Tables V1 (version 2017.11.29)](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html), see the `dynamodb.GlobalTable` resource.

> **Note:** dynamodb.TableReplica is an alternate way of configuring Global Tables. Do not use `replica` configuration blocks of `dynamodb.Table` together with aws_dynamodb_table_replica.

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/dynamodb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dynamodb.NewTable(ctx, "example", &dynamodb.TableArgs{
			Attributes: dynamodb.TableAttributeArray{
				&dynamodb.TableAttributeArgs{
					Name: pulumi.String("TestTableHashKey"),
					Type: pulumi.String("S"),
				},
			},
			BillingMode: pulumi.String("PAY_PER_REQUEST"),
			HashKey:     pulumi.String("TestTableHashKey"),
			Replicas: dynamodb.TableReplicaTypeArray{
				&dynamodb.TableReplicaTypeArgs{
					RegionName: pulumi.String("us-east-2"),
				},
				&dynamodb.TableReplicaTypeArgs{
					RegionName: pulumi.String("us-west-2"),
				},
			},
			StreamEnabled:  pulumi.Bool(true),
			StreamViewType: pulumi.String("NEW_AND_OLD_IMAGES"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

DynamoDB tables can be imported using the `name`, e.g.,

```sh

$ pulumi import aws:dynamodb/table:Table basic-dynamodb-table GameScores

```

func GetTable

func GetTable(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TableState, opts ...pulumi.ResourceOption) (*Table, error)

GetTable gets an existing Table resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewTable

func NewTable(ctx *pulumi.Context,
	name string, args *TableArgs, opts ...pulumi.ResourceOption) (*Table, error)

NewTable registers a new resource with the given unique name, arguments, and options.

func (*Table) ElementType

func (*Table) ElementType() reflect.Type

func (*Table) ToTableOutput

func (i *Table) ToTableOutput() TableOutput

func (*Table) ToTableOutputWithContext

func (i *Table) ToTableOutputWithContext(ctx context.Context) TableOutput

type TableArgs

type TableArgs struct {
	// Set of nested attribute definitions. Only required for `hashKey` and `rangeKey` attributes. See below.
	Attributes TableAttributeArrayInput
	// Controls how you are charged for read and write throughput and how you manage capacity. The valid values are `PROVISIONED` and `PAY_PER_REQUEST`. Defaults to `PROVISIONED`.
	BillingMode pulumi.StringPtrInput
	// Enables deletion protection for table. Defaults to `false`.
	DeletionProtectionEnabled pulumi.BoolPtrInput
	// Describe a GSI for the table; subject to the normal limits on the number of GSIs, projected attributes, etc. See below.
	GlobalSecondaryIndexes TableGlobalSecondaryIndexArrayInput
	// Attribute to use as the hash (partition) key. Must also be defined as an `attribute`. See below.
	HashKey pulumi.StringPtrInput
	// Describe an LSI on the table; these can only be allocated _at creation_ so you cannot change this definition after you have created the resource. See below.
	LocalSecondaryIndexes TableLocalSecondaryIndexArrayInput
	// Unique within a region name of the table.
	//
	// Optional arguments:
	Name pulumi.StringPtrInput
	// Enable point-in-time recovery options. See below.
	PointInTimeRecovery TablePointInTimeRecoveryPtrInput
	// Attribute to use as the range (sort) key. Must also be defined as an `attribute`, see below.
	RangeKey pulumi.StringPtrInput
	// Number of read units for this table. If the `billingMode` is `PROVISIONED`, this field is required.
	ReadCapacity pulumi.IntPtrInput
	// Configuration block(s) with [DynamoDB Global Tables V2 (version 2019.11.21)](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html) replication configurations. See below.
	Replicas TableReplicaTypeArrayInput
	// Time of the point-in-time recovery point to restore.
	RestoreDateTime pulumi.StringPtrInput
	// Name of the table to restore. Must match the name of an existing table.
	RestoreSourceName pulumi.StringPtrInput
	// If set, restores table to the most recent point-in-time recovery point.
	RestoreToLatestTime pulumi.BoolPtrInput
	// Encryption at rest options. AWS DynamoDB tables are automatically encrypted at rest with an AWS-owned Customer Master Key if this argument isn't specified. See below.
	ServerSideEncryption TableServerSideEncryptionPtrInput
	// Whether Streams are enabled.
	StreamEnabled pulumi.BoolPtrInput
	// When an item in the table is modified, StreamViewType determines what information is written to the table's stream. Valid values are `KEYS_ONLY`, `NEW_IMAGE`, `OLD_IMAGE`, `NEW_AND_OLD_IMAGES`.
	StreamViewType pulumi.StringPtrInput
	// Storage class of the table.
	// Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`.
	// Default value is `STANDARD`.
	TableClass pulumi.StringPtrInput
	// A map of tags to populate on the created table. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// Configuration block for TTL. See below.
	Ttl TableTtlPtrInput
	// Number of write units for this table. If the `billingMode` is `PROVISIONED`, this field is required.
	WriteCapacity pulumi.IntPtrInput
}

The set of arguments for constructing a Table resource.

func (TableArgs) ElementType

func (TableArgs) ElementType() reflect.Type

type TableArray

type TableArray []TableInput

func (TableArray) ElementType

func (TableArray) ElementType() reflect.Type

func (TableArray) ToTableArrayOutput

func (i TableArray) ToTableArrayOutput() TableArrayOutput

func (TableArray) ToTableArrayOutputWithContext

func (i TableArray) ToTableArrayOutputWithContext(ctx context.Context) TableArrayOutput

type TableArrayInput

type TableArrayInput interface {
	pulumi.Input

	ToTableArrayOutput() TableArrayOutput
	ToTableArrayOutputWithContext(context.Context) TableArrayOutput
}

TableArrayInput is an input type that accepts TableArray and TableArrayOutput values. You can construct a concrete instance of `TableArrayInput` via:

TableArray{ TableArgs{...} }

type TableArrayOutput

type TableArrayOutput struct{ *pulumi.OutputState }

func (TableArrayOutput) ElementType

func (TableArrayOutput) ElementType() reflect.Type

func (TableArrayOutput) Index

func (TableArrayOutput) ToTableArrayOutput

func (o TableArrayOutput) ToTableArrayOutput() TableArrayOutput

func (TableArrayOutput) ToTableArrayOutputWithContext

func (o TableArrayOutput) ToTableArrayOutputWithContext(ctx context.Context) TableArrayOutput

type TableAttribute

type TableAttribute struct {
	// Name of the attribute
	Name string `pulumi:"name"`
	// Attribute type. Valid values are `S` (string), `N` (number), `B` (binary).
	Type string `pulumi:"type"`
}

type TableAttributeArgs

type TableAttributeArgs struct {
	// Name of the attribute
	Name pulumi.StringInput `pulumi:"name"`
	// Attribute type. Valid values are `S` (string), `N` (number), `B` (binary).
	Type pulumi.StringInput `pulumi:"type"`
}

func (TableAttributeArgs) ElementType

func (TableAttributeArgs) ElementType() reflect.Type

func (TableAttributeArgs) ToTableAttributeOutput

func (i TableAttributeArgs) ToTableAttributeOutput() TableAttributeOutput

func (TableAttributeArgs) ToTableAttributeOutputWithContext

func (i TableAttributeArgs) ToTableAttributeOutputWithContext(ctx context.Context) TableAttributeOutput

type TableAttributeArray

type TableAttributeArray []TableAttributeInput

func (TableAttributeArray) ElementType

func (TableAttributeArray) ElementType() reflect.Type

func (TableAttributeArray) ToTableAttributeArrayOutput

func (i TableAttributeArray) ToTableAttributeArrayOutput() TableAttributeArrayOutput

func (TableAttributeArray) ToTableAttributeArrayOutputWithContext

func (i TableAttributeArray) ToTableAttributeArrayOutputWithContext(ctx context.Context) TableAttributeArrayOutput

type TableAttributeArrayInput

type TableAttributeArrayInput interface {
	pulumi.Input

	ToTableAttributeArrayOutput() TableAttributeArrayOutput
	ToTableAttributeArrayOutputWithContext(context.Context) TableAttributeArrayOutput
}

TableAttributeArrayInput is an input type that accepts TableAttributeArray and TableAttributeArrayOutput values. You can construct a concrete instance of `TableAttributeArrayInput` via:

TableAttributeArray{ TableAttributeArgs{...} }

type TableAttributeArrayOutput

type TableAttributeArrayOutput struct{ *pulumi.OutputState }

func (TableAttributeArrayOutput) ElementType

func (TableAttributeArrayOutput) ElementType() reflect.Type

func (TableAttributeArrayOutput) Index

func (TableAttributeArrayOutput) ToTableAttributeArrayOutput

func (o TableAttributeArrayOutput) ToTableAttributeArrayOutput() TableAttributeArrayOutput

func (TableAttributeArrayOutput) ToTableAttributeArrayOutputWithContext

func (o TableAttributeArrayOutput) ToTableAttributeArrayOutputWithContext(ctx context.Context) TableAttributeArrayOutput

type TableAttributeInput

type TableAttributeInput interface {
	pulumi.Input

	ToTableAttributeOutput() TableAttributeOutput
	ToTableAttributeOutputWithContext(context.Context) TableAttributeOutput
}

TableAttributeInput is an input type that accepts TableAttributeArgs and TableAttributeOutput values. You can construct a concrete instance of `TableAttributeInput` via:

TableAttributeArgs{...}

type TableAttributeOutput

type TableAttributeOutput struct{ *pulumi.OutputState }

func (TableAttributeOutput) ElementType

func (TableAttributeOutput) ElementType() reflect.Type

func (TableAttributeOutput) Name

Name of the attribute

func (TableAttributeOutput) ToTableAttributeOutput

func (o TableAttributeOutput) ToTableAttributeOutput() TableAttributeOutput

func (TableAttributeOutput) ToTableAttributeOutputWithContext

func (o TableAttributeOutput) ToTableAttributeOutputWithContext(ctx context.Context) TableAttributeOutput

func (TableAttributeOutput) Type

Attribute type. Valid values are `S` (string), `N` (number), `B` (binary).

type TableGlobalSecondaryIndex

type TableGlobalSecondaryIndex struct {
	// Name of the hash key in the index; must be defined as an attribute in the resource.
	HashKey string `pulumi:"hashKey"`
	// Name of the index.
	Name string `pulumi:"name"`
	// Only required with `INCLUDE` as a projection type; a list of attributes to project into the index. These do not need to be defined as attributes on the table.
	NonKeyAttributes []string `pulumi:"nonKeyAttributes"`
	// One of `ALL`, `INCLUDE` or `KEYS_ONLY` where `ALL` projects every attribute into the index, `KEYS_ONLY` projects  into the index only the table and index hashKey and sortKey attributes ,  `INCLUDE` projects into the index all of the attributes that are defined in `nonKeyAttributes` in addition to the attributes that that`KEYS_ONLY` project.
	ProjectionType string `pulumi:"projectionType"`
	// Name of the range key; must be defined
	RangeKey *string `pulumi:"rangeKey"`
	// Number of read units for this index. Must be set if billingMode is set to PROVISIONED.
	ReadCapacity *int `pulumi:"readCapacity"`
	// Number of write units for this index. Must be set if billingMode is set to PROVISIONED.
	WriteCapacity *int `pulumi:"writeCapacity"`
}

type TableGlobalSecondaryIndexArgs

type TableGlobalSecondaryIndexArgs struct {
	// Name of the hash key in the index; must be defined as an attribute in the resource.
	HashKey pulumi.StringInput `pulumi:"hashKey"`
	// Name of the index.
	Name pulumi.StringInput `pulumi:"name"`
	// Only required with `INCLUDE` as a projection type; a list of attributes to project into the index. These do not need to be defined as attributes on the table.
	NonKeyAttributes pulumi.StringArrayInput `pulumi:"nonKeyAttributes"`
	// One of `ALL`, `INCLUDE` or `KEYS_ONLY` where `ALL` projects every attribute into the index, `KEYS_ONLY` projects  into the index only the table and index hashKey and sortKey attributes ,  `INCLUDE` projects into the index all of the attributes that are defined in `nonKeyAttributes` in addition to the attributes that that`KEYS_ONLY` project.
	ProjectionType pulumi.StringInput `pulumi:"projectionType"`
	// Name of the range key; must be defined
	RangeKey pulumi.StringPtrInput `pulumi:"rangeKey"`
	// Number of read units for this index. Must be set if billingMode is set to PROVISIONED.
	ReadCapacity pulumi.IntPtrInput `pulumi:"readCapacity"`
	// Number of write units for this index. Must be set if billingMode is set to PROVISIONED.
	WriteCapacity pulumi.IntPtrInput `pulumi:"writeCapacity"`
}

func (TableGlobalSecondaryIndexArgs) ElementType

func (TableGlobalSecondaryIndexArgs) ToTableGlobalSecondaryIndexOutput

func (i TableGlobalSecondaryIndexArgs) ToTableGlobalSecondaryIndexOutput() TableGlobalSecondaryIndexOutput

func (TableGlobalSecondaryIndexArgs) ToTableGlobalSecondaryIndexOutputWithContext

func (i TableGlobalSecondaryIndexArgs) ToTableGlobalSecondaryIndexOutputWithContext(ctx context.Context) TableGlobalSecondaryIndexOutput

type TableGlobalSecondaryIndexArray

type TableGlobalSecondaryIndexArray []TableGlobalSecondaryIndexInput

func (TableGlobalSecondaryIndexArray) ElementType

func (TableGlobalSecondaryIndexArray) ToTableGlobalSecondaryIndexArrayOutput

func (i TableGlobalSecondaryIndexArray) ToTableGlobalSecondaryIndexArrayOutput() TableGlobalSecondaryIndexArrayOutput

func (TableGlobalSecondaryIndexArray) ToTableGlobalSecondaryIndexArrayOutputWithContext

func (i TableGlobalSecondaryIndexArray) ToTableGlobalSecondaryIndexArrayOutputWithContext(ctx context.Context) TableGlobalSecondaryIndexArrayOutput

type TableGlobalSecondaryIndexArrayInput

type TableGlobalSecondaryIndexArrayInput interface {
	pulumi.Input

	ToTableGlobalSecondaryIndexArrayOutput() TableGlobalSecondaryIndexArrayOutput
	ToTableGlobalSecondaryIndexArrayOutputWithContext(context.Context) TableGlobalSecondaryIndexArrayOutput
}

TableGlobalSecondaryIndexArrayInput is an input type that accepts TableGlobalSecondaryIndexArray and TableGlobalSecondaryIndexArrayOutput values. You can construct a concrete instance of `TableGlobalSecondaryIndexArrayInput` via:

TableGlobalSecondaryIndexArray{ TableGlobalSecondaryIndexArgs{...} }

type TableGlobalSecondaryIndexArrayOutput

type TableGlobalSecondaryIndexArrayOutput struct{ *pulumi.OutputState }

func (TableGlobalSecondaryIndexArrayOutput) ElementType

func (TableGlobalSecondaryIndexArrayOutput) Index

func (TableGlobalSecondaryIndexArrayOutput) ToTableGlobalSecondaryIndexArrayOutput

func (o TableGlobalSecondaryIndexArrayOutput) ToTableGlobalSecondaryIndexArrayOutput() TableGlobalSecondaryIndexArrayOutput

func (TableGlobalSecondaryIndexArrayOutput) ToTableGlobalSecondaryIndexArrayOutputWithContext

func (o TableGlobalSecondaryIndexArrayOutput) ToTableGlobalSecondaryIndexArrayOutputWithContext(ctx context.Context) TableGlobalSecondaryIndexArrayOutput

type TableGlobalSecondaryIndexInput

type TableGlobalSecondaryIndexInput interface {
	pulumi.Input

	ToTableGlobalSecondaryIndexOutput() TableGlobalSecondaryIndexOutput
	ToTableGlobalSecondaryIndexOutputWithContext(context.Context) TableGlobalSecondaryIndexOutput
}

TableGlobalSecondaryIndexInput is an input type that accepts TableGlobalSecondaryIndexArgs and TableGlobalSecondaryIndexOutput values. You can construct a concrete instance of `TableGlobalSecondaryIndexInput` via:

TableGlobalSecondaryIndexArgs{...}

type TableGlobalSecondaryIndexOutput

type TableGlobalSecondaryIndexOutput struct{ *pulumi.OutputState }

func (TableGlobalSecondaryIndexOutput) ElementType

func (TableGlobalSecondaryIndexOutput) HashKey

Name of the hash key in the index; must be defined as an attribute in the resource.

func (TableGlobalSecondaryIndexOutput) Name

Name of the index.

func (TableGlobalSecondaryIndexOutput) NonKeyAttributes

Only required with `INCLUDE` as a projection type; a list of attributes to project into the index. These do not need to be defined as attributes on the table.

func (TableGlobalSecondaryIndexOutput) ProjectionType

One of `ALL`, `INCLUDE` or `KEYS_ONLY` where `ALL` projects every attribute into the index, `KEYS_ONLY` projects into the index only the table and index hashKey and sortKey attributes , `INCLUDE` projects into the index all of the attributes that are defined in `nonKeyAttributes` in addition to the attributes that that`KEYS_ONLY` project.

func (TableGlobalSecondaryIndexOutput) RangeKey

Name of the range key; must be defined

func (TableGlobalSecondaryIndexOutput) ReadCapacity

Number of read units for this index. Must be set if billingMode is set to PROVISIONED.

func (TableGlobalSecondaryIndexOutput) ToTableGlobalSecondaryIndexOutput

func (o TableGlobalSecondaryIndexOutput) ToTableGlobalSecondaryIndexOutput() TableGlobalSecondaryIndexOutput

func (TableGlobalSecondaryIndexOutput) ToTableGlobalSecondaryIndexOutputWithContext

func (o TableGlobalSecondaryIndexOutput) ToTableGlobalSecondaryIndexOutputWithContext(ctx context.Context) TableGlobalSecondaryIndexOutput

func (TableGlobalSecondaryIndexOutput) WriteCapacity

Number of write units for this index. Must be set if billingMode is set to PROVISIONED.

type TableInput

type TableInput interface {
	pulumi.Input

	ToTableOutput() TableOutput
	ToTableOutputWithContext(ctx context.Context) TableOutput
}

type TableItem

type TableItem struct {
	pulumi.CustomResourceState

	// Hash key to use for lookups and identification of the item
	HashKey pulumi.StringOutput `pulumi:"hashKey"`
	// JSON representation of a map of attribute name/value pairs, one for each attribute. Only the primary key attributes are required; you can optionally provide other attribute name-value pairs for the item.
	Item pulumi.StringOutput `pulumi:"item"`
	// Range key to use for lookups and identification of the item. Required if there is range key defined in the table.
	RangeKey pulumi.StringPtrOutput `pulumi:"rangeKey"`
	// Name of the table to contain the item.
	TableName pulumi.StringOutput `pulumi:"tableName"`
}

Provides a DynamoDB table item resource

> **Note:** This resource is not meant to be used for managing large amounts of data in your table, it is not designed to scale.

You should perform **regular backups** of all data in the table, see [AWS docs for more](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/BackupRestore.html).

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/dynamodb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleTable, err := dynamodb.NewTable(ctx, "exampleTable", &dynamodb.TableArgs{
			ReadCapacity:  pulumi.Int(10),
			WriteCapacity: pulumi.Int(10),
			HashKey:       pulumi.String("exampleHashKey"),
			Attributes: dynamodb.TableAttributeArray{
				&dynamodb.TableAttributeArgs{
					Name: pulumi.String("exampleHashKey"),
					Type: pulumi.String("S"),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = dynamodb.NewTableItem(ctx, "exampleTableItem", &dynamodb.TableItemArgs{
			TableName: exampleTable.Name,
			HashKey:   exampleTable.HashKey,
			Item: pulumi.String(`{
  "exampleHashKey": {"S": "something"},
  "one": {"N": "11111"},
  "two": {"N": "22222"},
  "three": {"N": "33333"},
  "four": {"N": "44444"}
}

`),

		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

DynamoDB table items cannot be imported.

func GetTableItem

func GetTableItem(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TableItemState, opts ...pulumi.ResourceOption) (*TableItem, error)

GetTableItem gets an existing TableItem resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewTableItem

func NewTableItem(ctx *pulumi.Context,
	name string, args *TableItemArgs, opts ...pulumi.ResourceOption) (*TableItem, error)

NewTableItem registers a new resource with the given unique name, arguments, and options.

func (*TableItem) ElementType

func (*TableItem) ElementType() reflect.Type

func (*TableItem) ToTableItemOutput

func (i *TableItem) ToTableItemOutput() TableItemOutput

func (*TableItem) ToTableItemOutputWithContext

func (i *TableItem) ToTableItemOutputWithContext(ctx context.Context) TableItemOutput

type TableItemArgs

type TableItemArgs struct {
	// Hash key to use for lookups and identification of the item
	HashKey pulumi.StringInput
	// JSON representation of a map of attribute name/value pairs, one for each attribute. Only the primary key attributes are required; you can optionally provide other attribute name-value pairs for the item.
	Item pulumi.StringInput
	// Range key to use for lookups and identification of the item. Required if there is range key defined in the table.
	RangeKey pulumi.StringPtrInput
	// Name of the table to contain the item.
	TableName pulumi.StringInput
}

The set of arguments for constructing a TableItem resource.

func (TableItemArgs) ElementType

func (TableItemArgs) ElementType() reflect.Type

type TableItemArray

type TableItemArray []TableItemInput

func (TableItemArray) ElementType

func (TableItemArray) ElementType() reflect.Type

func (TableItemArray) ToTableItemArrayOutput

func (i TableItemArray) ToTableItemArrayOutput() TableItemArrayOutput

func (TableItemArray) ToTableItemArrayOutputWithContext

func (i TableItemArray) ToTableItemArrayOutputWithContext(ctx context.Context) TableItemArrayOutput

type TableItemArrayInput

type TableItemArrayInput interface {
	pulumi.Input

	ToTableItemArrayOutput() TableItemArrayOutput
	ToTableItemArrayOutputWithContext(context.Context) TableItemArrayOutput
}

TableItemArrayInput is an input type that accepts TableItemArray and TableItemArrayOutput values. You can construct a concrete instance of `TableItemArrayInput` via:

TableItemArray{ TableItemArgs{...} }

type TableItemArrayOutput

type TableItemArrayOutput struct{ *pulumi.OutputState }

func (TableItemArrayOutput) ElementType

func (TableItemArrayOutput) ElementType() reflect.Type

func (TableItemArrayOutput) Index

func (TableItemArrayOutput) ToTableItemArrayOutput

func (o TableItemArrayOutput) ToTableItemArrayOutput() TableItemArrayOutput

func (TableItemArrayOutput) ToTableItemArrayOutputWithContext

func (o TableItemArrayOutput) ToTableItemArrayOutputWithContext(ctx context.Context) TableItemArrayOutput

type TableItemInput

type TableItemInput interface {
	pulumi.Input

	ToTableItemOutput() TableItemOutput
	ToTableItemOutputWithContext(ctx context.Context) TableItemOutput
}

type TableItemMap

type TableItemMap map[string]TableItemInput

func (TableItemMap) ElementType

func (TableItemMap) ElementType() reflect.Type

func (TableItemMap) ToTableItemMapOutput

func (i TableItemMap) ToTableItemMapOutput() TableItemMapOutput

func (TableItemMap) ToTableItemMapOutputWithContext

func (i TableItemMap) ToTableItemMapOutputWithContext(ctx context.Context) TableItemMapOutput

type TableItemMapInput

type TableItemMapInput interface {
	pulumi.Input

	ToTableItemMapOutput() TableItemMapOutput
	ToTableItemMapOutputWithContext(context.Context) TableItemMapOutput
}

TableItemMapInput is an input type that accepts TableItemMap and TableItemMapOutput values. You can construct a concrete instance of `TableItemMapInput` via:

TableItemMap{ "key": TableItemArgs{...} }

type TableItemMapOutput

type TableItemMapOutput struct{ *pulumi.OutputState }

func (TableItemMapOutput) ElementType

func (TableItemMapOutput) ElementType() reflect.Type

func (TableItemMapOutput) MapIndex

func (TableItemMapOutput) ToTableItemMapOutput

func (o TableItemMapOutput) ToTableItemMapOutput() TableItemMapOutput

func (TableItemMapOutput) ToTableItemMapOutputWithContext

func (o TableItemMapOutput) ToTableItemMapOutputWithContext(ctx context.Context) TableItemMapOutput

type TableItemOutput

type TableItemOutput struct{ *pulumi.OutputState }

func (TableItemOutput) ElementType

func (TableItemOutput) ElementType() reflect.Type

func (TableItemOutput) HashKey added in v5.4.0

func (o TableItemOutput) HashKey() pulumi.StringOutput

Hash key to use for lookups and identification of the item

func (TableItemOutput) Item added in v5.4.0

JSON representation of a map of attribute name/value pairs, one for each attribute. Only the primary key attributes are required; you can optionally provide other attribute name-value pairs for the item.

func (TableItemOutput) RangeKey added in v5.4.0

func (o TableItemOutput) RangeKey() pulumi.StringPtrOutput

Range key to use for lookups and identification of the item. Required if there is range key defined in the table.

func (TableItemOutput) TableName added in v5.4.0

func (o TableItemOutput) TableName() pulumi.StringOutput

Name of the table to contain the item.

func (TableItemOutput) ToTableItemOutput

func (o TableItemOutput) ToTableItemOutput() TableItemOutput

func (TableItemOutput) ToTableItemOutputWithContext

func (o TableItemOutput) ToTableItemOutputWithContext(ctx context.Context) TableItemOutput

type TableItemState

type TableItemState struct {
	// Hash key to use for lookups and identification of the item
	HashKey pulumi.StringPtrInput
	// JSON representation of a map of attribute name/value pairs, one for each attribute. Only the primary key attributes are required; you can optionally provide other attribute name-value pairs for the item.
	Item pulumi.StringPtrInput
	// Range key to use for lookups and identification of the item. Required if there is range key defined in the table.
	RangeKey pulumi.StringPtrInput
	// Name of the table to contain the item.
	TableName pulumi.StringPtrInput
}

func (TableItemState) ElementType

func (TableItemState) ElementType() reflect.Type

type TableLocalSecondaryIndex

type TableLocalSecondaryIndex struct {
	// Name of the index
	Name string `pulumi:"name"`
	// Only required with `INCLUDE` as a projection type; a list of attributes to project into the index. These do not need to be defined as attributes on the table.
	NonKeyAttributes []string `pulumi:"nonKeyAttributes"`
	// One of `ALL`, `INCLUDE` or `KEYS_ONLY` where `ALL` projects every attribute into the index, `KEYS_ONLY` projects  into the index only the table and index hashKey and sortKey attributes ,  `INCLUDE` projects into the index all of the attributes that are defined in `nonKeyAttributes` in addition to the attributes that that`KEYS_ONLY` project.
	ProjectionType string `pulumi:"projectionType"`
	// Name of the range key.
	RangeKey string `pulumi:"rangeKey"`
}

type TableLocalSecondaryIndexArgs

type TableLocalSecondaryIndexArgs struct {
	// Name of the index
	Name pulumi.StringInput `pulumi:"name"`
	// Only required with `INCLUDE` as a projection type; a list of attributes to project into the index. These do not need to be defined as attributes on the table.
	NonKeyAttributes pulumi.StringArrayInput `pulumi:"nonKeyAttributes"`
	// One of `ALL`, `INCLUDE` or `KEYS_ONLY` where `ALL` projects every attribute into the index, `KEYS_ONLY` projects  into the index only the table and index hashKey and sortKey attributes ,  `INCLUDE` projects into the index all of the attributes that are defined in `nonKeyAttributes` in addition to the attributes that that`KEYS_ONLY` project.
	ProjectionType pulumi.StringInput `pulumi:"projectionType"`
	// Name of the range key.
	RangeKey pulumi.StringInput `pulumi:"rangeKey"`
}

func (TableLocalSecondaryIndexArgs) ElementType

func (TableLocalSecondaryIndexArgs) ToTableLocalSecondaryIndexOutput

func (i TableLocalSecondaryIndexArgs) ToTableLocalSecondaryIndexOutput() TableLocalSecondaryIndexOutput

func (TableLocalSecondaryIndexArgs) ToTableLocalSecondaryIndexOutputWithContext

func (i TableLocalSecondaryIndexArgs) ToTableLocalSecondaryIndexOutputWithContext(ctx context.Context) TableLocalSecondaryIndexOutput

type TableLocalSecondaryIndexArray

type TableLocalSecondaryIndexArray []TableLocalSecondaryIndexInput

func (TableLocalSecondaryIndexArray) ElementType

func (TableLocalSecondaryIndexArray) ToTableLocalSecondaryIndexArrayOutput

func (i TableLocalSecondaryIndexArray) ToTableLocalSecondaryIndexArrayOutput() TableLocalSecondaryIndexArrayOutput

func (TableLocalSecondaryIndexArray) ToTableLocalSecondaryIndexArrayOutputWithContext

func (i TableLocalSecondaryIndexArray) ToTableLocalSecondaryIndexArrayOutputWithContext(ctx context.Context) TableLocalSecondaryIndexArrayOutput

type TableLocalSecondaryIndexArrayInput

type TableLocalSecondaryIndexArrayInput interface {
	pulumi.Input

	ToTableLocalSecondaryIndexArrayOutput() TableLocalSecondaryIndexArrayOutput
	ToTableLocalSecondaryIndexArrayOutputWithContext(context.Context) TableLocalSecondaryIndexArrayOutput
}

TableLocalSecondaryIndexArrayInput is an input type that accepts TableLocalSecondaryIndexArray and TableLocalSecondaryIndexArrayOutput values. You can construct a concrete instance of `TableLocalSecondaryIndexArrayInput` via:

TableLocalSecondaryIndexArray{ TableLocalSecondaryIndexArgs{...} }

type TableLocalSecondaryIndexArrayOutput

type TableLocalSecondaryIndexArrayOutput struct{ *pulumi.OutputState }

func (TableLocalSecondaryIndexArrayOutput) ElementType

func (TableLocalSecondaryIndexArrayOutput) Index

func (TableLocalSecondaryIndexArrayOutput) ToTableLocalSecondaryIndexArrayOutput

func (o TableLocalSecondaryIndexArrayOutput) ToTableLocalSecondaryIndexArrayOutput() TableLocalSecondaryIndexArrayOutput

func (TableLocalSecondaryIndexArrayOutput) ToTableLocalSecondaryIndexArrayOutputWithContext

func (o TableLocalSecondaryIndexArrayOutput) ToTableLocalSecondaryIndexArrayOutputWithContext(ctx context.Context) TableLocalSecondaryIndexArrayOutput

type TableLocalSecondaryIndexInput

type TableLocalSecondaryIndexInput interface {
	pulumi.Input

	ToTableLocalSecondaryIndexOutput() TableLocalSecondaryIndexOutput
	ToTableLocalSecondaryIndexOutputWithContext(context.Context) TableLocalSecondaryIndexOutput
}

TableLocalSecondaryIndexInput is an input type that accepts TableLocalSecondaryIndexArgs and TableLocalSecondaryIndexOutput values. You can construct a concrete instance of `TableLocalSecondaryIndexInput` via:

TableLocalSecondaryIndexArgs{...}

type TableLocalSecondaryIndexOutput

type TableLocalSecondaryIndexOutput struct{ *pulumi.OutputState }

func (TableLocalSecondaryIndexOutput) ElementType

func (TableLocalSecondaryIndexOutput) Name

Name of the index

func (TableLocalSecondaryIndexOutput) NonKeyAttributes

Only required with `INCLUDE` as a projection type; a list of attributes to project into the index. These do not need to be defined as attributes on the table.

func (TableLocalSecondaryIndexOutput) ProjectionType

One of `ALL`, `INCLUDE` or `KEYS_ONLY` where `ALL` projects every attribute into the index, `KEYS_ONLY` projects into the index only the table and index hashKey and sortKey attributes , `INCLUDE` projects into the index all of the attributes that are defined in `nonKeyAttributes` in addition to the attributes that that`KEYS_ONLY` project.

func (TableLocalSecondaryIndexOutput) RangeKey

Name of the range key.

func (TableLocalSecondaryIndexOutput) ToTableLocalSecondaryIndexOutput

func (o TableLocalSecondaryIndexOutput) ToTableLocalSecondaryIndexOutput() TableLocalSecondaryIndexOutput

func (TableLocalSecondaryIndexOutput) ToTableLocalSecondaryIndexOutputWithContext

func (o TableLocalSecondaryIndexOutput) ToTableLocalSecondaryIndexOutputWithContext(ctx context.Context) TableLocalSecondaryIndexOutput

type TableMap

type TableMap map[string]TableInput

func (TableMap) ElementType

func (TableMap) ElementType() reflect.Type

func (TableMap) ToTableMapOutput

func (i TableMap) ToTableMapOutput() TableMapOutput

func (TableMap) ToTableMapOutputWithContext

func (i TableMap) ToTableMapOutputWithContext(ctx context.Context) TableMapOutput

type TableMapInput

type TableMapInput interface {
	pulumi.Input

	ToTableMapOutput() TableMapOutput
	ToTableMapOutputWithContext(context.Context) TableMapOutput
}

TableMapInput is an input type that accepts TableMap and TableMapOutput values. You can construct a concrete instance of `TableMapInput` via:

TableMap{ "key": TableArgs{...} }

type TableMapOutput

type TableMapOutput struct{ *pulumi.OutputState }

func (TableMapOutput) ElementType

func (TableMapOutput) ElementType() reflect.Type

func (TableMapOutput) MapIndex

func (TableMapOutput) ToTableMapOutput

func (o TableMapOutput) ToTableMapOutput() TableMapOutput

func (TableMapOutput) ToTableMapOutputWithContext

func (o TableMapOutput) ToTableMapOutputWithContext(ctx context.Context) TableMapOutput

type TableOutput

type TableOutput struct{ *pulumi.OutputState }

func (TableOutput) Arn added in v5.4.0

ARN of the table

func (TableOutput) Attributes added in v5.4.0

func (o TableOutput) Attributes() TableAttributeArrayOutput

Set of nested attribute definitions. Only required for `hashKey` and `rangeKey` attributes. See below.

func (TableOutput) BillingMode added in v5.4.0

func (o TableOutput) BillingMode() pulumi.StringPtrOutput

Controls how you are charged for read and write throughput and how you manage capacity. The valid values are `PROVISIONED` and `PAY_PER_REQUEST`. Defaults to `PROVISIONED`.

func (TableOutput) DeletionProtectionEnabled added in v5.33.0

func (o TableOutput) DeletionProtectionEnabled() pulumi.BoolPtrOutput

Enables deletion protection for table. Defaults to `false`.

func (TableOutput) ElementType

func (TableOutput) ElementType() reflect.Type

func (TableOutput) GlobalSecondaryIndexes added in v5.4.0

func (o TableOutput) GlobalSecondaryIndexes() TableGlobalSecondaryIndexArrayOutput

Describe a GSI for the table; subject to the normal limits on the number of GSIs, projected attributes, etc. See below.

func (TableOutput) HashKey added in v5.4.0

func (o TableOutput) HashKey() pulumi.StringOutput

Attribute to use as the hash (partition) key. Must also be defined as an `attribute`. See below.

func (TableOutput) LocalSecondaryIndexes added in v5.4.0

func (o TableOutput) LocalSecondaryIndexes() TableLocalSecondaryIndexArrayOutput

Describe an LSI on the table; these can only be allocated _at creation_ so you cannot change this definition after you have created the resource. See below.

func (TableOutput) Name added in v5.4.0

func (o TableOutput) Name() pulumi.StringOutput

Unique within a region name of the table.

Optional arguments:

func (TableOutput) PointInTimeRecovery added in v5.4.0

func (o TableOutput) PointInTimeRecovery() TablePointInTimeRecoveryOutput

Enable point-in-time recovery options. See below.

func (TableOutput) RangeKey added in v5.4.0

func (o TableOutput) RangeKey() pulumi.StringPtrOutput

Attribute to use as the range (sort) key. Must also be defined as an `attribute`, see below.

func (TableOutput) ReadCapacity added in v5.4.0

func (o TableOutput) ReadCapacity() pulumi.IntOutput

Number of read units for this table. If the `billingMode` is `PROVISIONED`, this field is required.

func (TableOutput) Replicas added in v5.4.0

Configuration block(s) with [DynamoDB Global Tables V2 (version 2019.11.21)](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html) replication configurations. See below.

func (TableOutput) RestoreDateTime added in v5.4.0

func (o TableOutput) RestoreDateTime() pulumi.StringPtrOutput

Time of the point-in-time recovery point to restore.

func (TableOutput) RestoreSourceName added in v5.4.0

func (o TableOutput) RestoreSourceName() pulumi.StringPtrOutput

Name of the table to restore. Must match the name of an existing table.

func (TableOutput) RestoreToLatestTime added in v5.4.0

func (o TableOutput) RestoreToLatestTime() pulumi.BoolPtrOutput

If set, restores table to the most recent point-in-time recovery point.

func (TableOutput) ServerSideEncryption added in v5.4.0

func (o TableOutput) ServerSideEncryption() TableServerSideEncryptionOutput

Encryption at rest options. AWS DynamoDB tables are automatically encrypted at rest with an AWS-owned Customer Master Key if this argument isn't specified. See below.

func (TableOutput) StreamArn added in v5.4.0

func (o TableOutput) StreamArn() pulumi.StringOutput

ARN of the Table Stream. Only available when `streamEnabled = true`

func (TableOutput) StreamEnabled added in v5.4.0

func (o TableOutput) StreamEnabled() pulumi.BoolPtrOutput

Whether Streams are enabled.

func (TableOutput) StreamLabel added in v5.4.0

func (o TableOutput) StreamLabel() pulumi.StringOutput

Timestamp, in ISO 8601 format, for this stream. Note that this timestamp is not a unique identifier for the stream on its own. However, the combination of AWS customer ID, table name and this field is guaranteed to be unique. It can be used for creating CloudWatch Alarms. Only available when `streamEnabled = true`.

func (TableOutput) StreamViewType added in v5.4.0

func (o TableOutput) StreamViewType() pulumi.StringOutput

When an item in the table is modified, StreamViewType determines what information is written to the table's stream. Valid values are `KEYS_ONLY`, `NEW_IMAGE`, `OLD_IMAGE`, `NEW_AND_OLD_IMAGES`.

func (TableOutput) TableClass added in v5.4.0

func (o TableOutput) TableClass() pulumi.StringPtrOutput

Storage class of the table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. Default value is `STANDARD`.

func (TableOutput) Tags added in v5.4.0

A map of tags to populate on the created table. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (TableOutput) TagsAll added in v5.4.0

func (o TableOutput) TagsAll() pulumi.StringMapOutput

Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (TableOutput) ToTableOutput

func (o TableOutput) ToTableOutput() TableOutput

func (TableOutput) ToTableOutputWithContext

func (o TableOutput) ToTableOutputWithContext(ctx context.Context) TableOutput

func (TableOutput) Ttl added in v5.4.0

func (o TableOutput) Ttl() TableTtlOutput

Configuration block for TTL. See below.

func (TableOutput) WriteCapacity added in v5.4.0

func (o TableOutput) WriteCapacity() pulumi.IntOutput

Number of write units for this table. If the `billingMode` is `PROVISIONED`, this field is required.

type TablePointInTimeRecovery

type TablePointInTimeRecovery struct {
	// Whether to enable point-in-time recovery. It can take 10 minutes to enable for new tables. If the `pointInTimeRecovery` block is not provided, this defaults to `false`.
	Enabled bool `pulumi:"enabled"`
}

type TablePointInTimeRecoveryArgs

type TablePointInTimeRecoveryArgs struct {
	// Whether to enable point-in-time recovery. It can take 10 minutes to enable for new tables. If the `pointInTimeRecovery` block is not provided, this defaults to `false`.
	Enabled pulumi.BoolInput `pulumi:"enabled"`
}

func (TablePointInTimeRecoveryArgs) ElementType

func (TablePointInTimeRecoveryArgs) ToTablePointInTimeRecoveryOutput

func (i TablePointInTimeRecoveryArgs) ToTablePointInTimeRecoveryOutput() TablePointInTimeRecoveryOutput

func (TablePointInTimeRecoveryArgs) ToTablePointInTimeRecoveryOutputWithContext

func (i TablePointInTimeRecoveryArgs) ToTablePointInTimeRecoveryOutputWithContext(ctx context.Context) TablePointInTimeRecoveryOutput

func (TablePointInTimeRecoveryArgs) ToTablePointInTimeRecoveryPtrOutput

func (i TablePointInTimeRecoveryArgs) ToTablePointInTimeRecoveryPtrOutput() TablePointInTimeRecoveryPtrOutput

func (TablePointInTimeRecoveryArgs) ToTablePointInTimeRecoveryPtrOutputWithContext

func (i TablePointInTimeRecoveryArgs) ToTablePointInTimeRecoveryPtrOutputWithContext(ctx context.Context) TablePointInTimeRecoveryPtrOutput

type TablePointInTimeRecoveryInput

type TablePointInTimeRecoveryInput interface {
	pulumi.Input

	ToTablePointInTimeRecoveryOutput() TablePointInTimeRecoveryOutput
	ToTablePointInTimeRecoveryOutputWithContext(context.Context) TablePointInTimeRecoveryOutput
}

TablePointInTimeRecoveryInput is an input type that accepts TablePointInTimeRecoveryArgs and TablePointInTimeRecoveryOutput values. You can construct a concrete instance of `TablePointInTimeRecoveryInput` via:

TablePointInTimeRecoveryArgs{...}

type TablePointInTimeRecoveryOutput

type TablePointInTimeRecoveryOutput struct{ *pulumi.OutputState }

func (TablePointInTimeRecoveryOutput) ElementType

func (TablePointInTimeRecoveryOutput) Enabled

Whether to enable point-in-time recovery. It can take 10 minutes to enable for new tables. If the `pointInTimeRecovery` block is not provided, this defaults to `false`.

func (TablePointInTimeRecoveryOutput) ToTablePointInTimeRecoveryOutput

func (o TablePointInTimeRecoveryOutput) ToTablePointInTimeRecoveryOutput() TablePointInTimeRecoveryOutput

func (TablePointInTimeRecoveryOutput) ToTablePointInTimeRecoveryOutputWithContext

func (o TablePointInTimeRecoveryOutput) ToTablePointInTimeRecoveryOutputWithContext(ctx context.Context) TablePointInTimeRecoveryOutput

func (TablePointInTimeRecoveryOutput) ToTablePointInTimeRecoveryPtrOutput

func (o TablePointInTimeRecoveryOutput) ToTablePointInTimeRecoveryPtrOutput() TablePointInTimeRecoveryPtrOutput

func (TablePointInTimeRecoveryOutput) ToTablePointInTimeRecoveryPtrOutputWithContext

func (o TablePointInTimeRecoveryOutput) ToTablePointInTimeRecoveryPtrOutputWithContext(ctx context.Context) TablePointInTimeRecoveryPtrOutput

type TablePointInTimeRecoveryPtrInput

type TablePointInTimeRecoveryPtrInput interface {
	pulumi.Input

	ToTablePointInTimeRecoveryPtrOutput() TablePointInTimeRecoveryPtrOutput
	ToTablePointInTimeRecoveryPtrOutputWithContext(context.Context) TablePointInTimeRecoveryPtrOutput
}

TablePointInTimeRecoveryPtrInput is an input type that accepts TablePointInTimeRecoveryArgs, TablePointInTimeRecoveryPtr and TablePointInTimeRecoveryPtrOutput values. You can construct a concrete instance of `TablePointInTimeRecoveryPtrInput` via:

        TablePointInTimeRecoveryArgs{...}

or:

        nil

type TablePointInTimeRecoveryPtrOutput

type TablePointInTimeRecoveryPtrOutput struct{ *pulumi.OutputState }

func (TablePointInTimeRecoveryPtrOutput) Elem

func (TablePointInTimeRecoveryPtrOutput) ElementType

func (TablePointInTimeRecoveryPtrOutput) Enabled

Whether to enable point-in-time recovery. It can take 10 minutes to enable for new tables. If the `pointInTimeRecovery` block is not provided, this defaults to `false`.

func (TablePointInTimeRecoveryPtrOutput) ToTablePointInTimeRecoveryPtrOutput

func (o TablePointInTimeRecoveryPtrOutput) ToTablePointInTimeRecoveryPtrOutput() TablePointInTimeRecoveryPtrOutput

func (TablePointInTimeRecoveryPtrOutput) ToTablePointInTimeRecoveryPtrOutputWithContext

func (o TablePointInTimeRecoveryPtrOutput) ToTablePointInTimeRecoveryPtrOutputWithContext(ctx context.Context) TablePointInTimeRecoveryPtrOutput

type TableReplica

type TableReplica struct {
	pulumi.CustomResourceState

	// ARN of the table replica.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// ARN of the _main_ or global table which this resource will replicate.
	//
	// Optional arguments:
	GlobalTableArn pulumi.StringOutput `pulumi:"globalTableArn"`
	// ARN of the CMK that should be used for the AWS KMS encryption. This argument should only be used if the key is different from the default KMS-managed DynamoDB key, `alias/aws/dynamodb`. **Note:** This attribute will _not_ be populated with the ARN of _default_ keys.
	KmsKeyArn pulumi.StringOutput `pulumi:"kmsKeyArn"`
	// Whether to enable Point In Time Recovery for the replica. Default is `false`.
	PointInTimeRecovery pulumi.BoolPtrOutput `pulumi:"pointInTimeRecovery"`
	// Storage class of the table replica. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. If not used, the table replica will use the same class as the global table.
	TableClassOverride pulumi.StringPtrOutput `pulumi:"tableClassOverride"`
	// Map of tags to populate on the created table. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

Provides a DynamoDB table replica resource for [DynamoDB Global Tables V2 (version 2019.11.21)](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html).

> **Note:** Use `lifecycle` `ignoreChanges` for `replica` in the associated dynamodb.Table configuration.

> **Note:** Do not use the `replica` configuration block of dynamodb.Table together with this resource as the two configuration options are mutually exclusive.

## Example Usage ### Basic Example

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws"
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/dynamodb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := aws.NewProvider(ctx, "main", &aws.ProviderArgs{
			Region: pulumi.String("us-west-2"),
		})
		if err != nil {
			return err
		}
		_, err = aws.NewProvider(ctx, "alt", &aws.ProviderArgs{
			Region: pulumi.String("us-east-2"),
		})
		if err != nil {
			return err
		}
		exampleTable, err := dynamodb.NewTable(ctx, "exampleTable", &dynamodb.TableArgs{
			HashKey:        pulumi.String("BrodoBaggins"),
			BillingMode:    pulumi.String("PAY_PER_REQUEST"),
			StreamEnabled:  pulumi.Bool(true),
			StreamViewType: pulumi.String("NEW_AND_OLD_IMAGES"),
			Attributes: dynamodb.TableAttributeArray{
				&dynamodb.TableAttributeArgs{
					Name: pulumi.String("BrodoBaggins"),
					Type: pulumi.String("S"),
				},
			},
		}, pulumi.Provider("aws.main"))
		if err != nil {
			return err
		}
		_, err = dynamodb.NewTableReplica(ctx, "exampleTableReplica", &dynamodb.TableReplicaArgs{
			GlobalTableArn: exampleTable.Arn,
			Tags: pulumi.StringMap{
				"Name": pulumi.String("IZPAWS"),
				"Pozo": pulumi.String("Amargo"),
			},
		}, pulumi.Provider("aws.alt"))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

DynamoDB table replicas can be imported using the `table-name:main-region`, _e.g._,

```sh

$ pulumi import aws:dynamodb/tableReplica:TableReplica example TestTable:us-west-2

```

func GetTableReplica

func GetTableReplica(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TableReplicaState, opts ...pulumi.ResourceOption) (*TableReplica, error)

GetTableReplica gets an existing TableReplica resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewTableReplica added in v5.11.0

func NewTableReplica(ctx *pulumi.Context,
	name string, args *TableReplicaArgs, opts ...pulumi.ResourceOption) (*TableReplica, error)

NewTableReplica registers a new resource with the given unique name, arguments, and options.

func (*TableReplica) ElementType added in v5.11.0

func (*TableReplica) ElementType() reflect.Type

func (*TableReplica) ToTableReplicaOutput added in v5.11.0

func (i *TableReplica) ToTableReplicaOutput() TableReplicaOutput

func (*TableReplica) ToTableReplicaOutputWithContext added in v5.11.0

func (i *TableReplica) ToTableReplicaOutputWithContext(ctx context.Context) TableReplicaOutput

type TableReplicaArgs

type TableReplicaArgs struct {
	// ARN of the _main_ or global table which this resource will replicate.
	//
	// Optional arguments:
	GlobalTableArn pulumi.StringInput
	// ARN of the CMK that should be used for the AWS KMS encryption. This argument should only be used if the key is different from the default KMS-managed DynamoDB key, `alias/aws/dynamodb`. **Note:** This attribute will _not_ be populated with the ARN of _default_ keys.
	KmsKeyArn pulumi.StringPtrInput
	// Whether to enable Point In Time Recovery for the replica. Default is `false`.
	PointInTimeRecovery pulumi.BoolPtrInput
	// Storage class of the table replica. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. If not used, the table replica will use the same class as the global table.
	TableClassOverride pulumi.StringPtrInput
	// Map of tags to populate on the created table. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a TableReplica resource.

func (TableReplicaArgs) ElementType

func (TableReplicaArgs) ElementType() reflect.Type

type TableReplicaArray

type TableReplicaArray []TableReplicaInput

func (TableReplicaArray) ElementType

func (TableReplicaArray) ElementType() reflect.Type

func (TableReplicaArray) ToTableReplicaArrayOutput

func (i TableReplicaArray) ToTableReplicaArrayOutput() TableReplicaArrayOutput

func (TableReplicaArray) ToTableReplicaArrayOutputWithContext

func (i TableReplicaArray) ToTableReplicaArrayOutputWithContext(ctx context.Context) TableReplicaArrayOutput

type TableReplicaArrayInput

type TableReplicaArrayInput interface {
	pulumi.Input

	ToTableReplicaArrayOutput() TableReplicaArrayOutput
	ToTableReplicaArrayOutputWithContext(context.Context) TableReplicaArrayOutput
}

TableReplicaArrayInput is an input type that accepts TableReplicaArray and TableReplicaArrayOutput values. You can construct a concrete instance of `TableReplicaArrayInput` via:

TableReplicaArray{ TableReplicaArgs{...} }

type TableReplicaArrayOutput

type TableReplicaArrayOutput struct{ *pulumi.OutputState }

func (TableReplicaArrayOutput) ElementType

func (TableReplicaArrayOutput) ElementType() reflect.Type

func (TableReplicaArrayOutput) Index

func (TableReplicaArrayOutput) ToTableReplicaArrayOutput

func (o TableReplicaArrayOutput) ToTableReplicaArrayOutput() TableReplicaArrayOutput

func (TableReplicaArrayOutput) ToTableReplicaArrayOutputWithContext

func (o TableReplicaArrayOutput) ToTableReplicaArrayOutputWithContext(ctx context.Context) TableReplicaArrayOutput

type TableReplicaInput

type TableReplicaInput interface {
	pulumi.Input

	ToTableReplicaOutput() TableReplicaOutput
	ToTableReplicaOutputWithContext(ctx context.Context) TableReplicaOutput
}

type TableReplicaMap added in v5.11.0

type TableReplicaMap map[string]TableReplicaInput

func (TableReplicaMap) ElementType added in v5.11.0

func (TableReplicaMap) ElementType() reflect.Type

func (TableReplicaMap) ToTableReplicaMapOutput added in v5.11.0

func (i TableReplicaMap) ToTableReplicaMapOutput() TableReplicaMapOutput

func (TableReplicaMap) ToTableReplicaMapOutputWithContext added in v5.11.0

func (i TableReplicaMap) ToTableReplicaMapOutputWithContext(ctx context.Context) TableReplicaMapOutput

type TableReplicaMapInput added in v5.11.0

type TableReplicaMapInput interface {
	pulumi.Input

	ToTableReplicaMapOutput() TableReplicaMapOutput
	ToTableReplicaMapOutputWithContext(context.Context) TableReplicaMapOutput
}

TableReplicaMapInput is an input type that accepts TableReplicaMap and TableReplicaMapOutput values. You can construct a concrete instance of `TableReplicaMapInput` via:

TableReplicaMap{ "key": TableReplicaArgs{...} }

type TableReplicaMapOutput added in v5.11.0

type TableReplicaMapOutput struct{ *pulumi.OutputState }

func (TableReplicaMapOutput) ElementType added in v5.11.0

func (TableReplicaMapOutput) ElementType() reflect.Type

func (TableReplicaMapOutput) MapIndex added in v5.11.0

func (TableReplicaMapOutput) ToTableReplicaMapOutput added in v5.11.0

func (o TableReplicaMapOutput) ToTableReplicaMapOutput() TableReplicaMapOutput

func (TableReplicaMapOutput) ToTableReplicaMapOutputWithContext added in v5.11.0

func (o TableReplicaMapOutput) ToTableReplicaMapOutputWithContext(ctx context.Context) TableReplicaMapOutput

type TableReplicaOutput

type TableReplicaOutput struct{ *pulumi.OutputState }

func (TableReplicaOutput) Arn added in v5.11.0

ARN of the table replica.

func (TableReplicaOutput) ElementType

func (TableReplicaOutput) ElementType() reflect.Type

func (TableReplicaOutput) GlobalTableArn added in v5.11.0

func (o TableReplicaOutput) GlobalTableArn() pulumi.StringOutput

ARN of the _main_ or global table which this resource will replicate.

Optional arguments:

func (TableReplicaOutput) KmsKeyArn

func (o TableReplicaOutput) KmsKeyArn() pulumi.StringOutput

ARN of the CMK that should be used for the AWS KMS encryption. This argument should only be used if the key is different from the default KMS-managed DynamoDB key, `alias/aws/dynamodb`. **Note:** This attribute will _not_ be populated with the ARN of _default_ keys.

func (TableReplicaOutput) PointInTimeRecovery added in v5.10.0

func (o TableReplicaOutput) PointInTimeRecovery() pulumi.BoolPtrOutput

Whether to enable Point In Time Recovery for the replica. Default is `false`.

func (TableReplicaOutput) TableClassOverride added in v5.11.0

func (o TableReplicaOutput) TableClassOverride() pulumi.StringPtrOutput

Storage class of the table replica. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. If not used, the table replica will use the same class as the global table.

func (TableReplicaOutput) Tags added in v5.11.0

Map of tags to populate on the created table. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (TableReplicaOutput) TagsAll added in v5.11.0

Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (TableReplicaOutput) ToTableReplicaOutput

func (o TableReplicaOutput) ToTableReplicaOutput() TableReplicaOutput

func (TableReplicaOutput) ToTableReplicaOutputWithContext

func (o TableReplicaOutput) ToTableReplicaOutputWithContext(ctx context.Context) TableReplicaOutput

type TableReplicaState added in v5.11.0

type TableReplicaState struct {
	// ARN of the table replica.
	Arn pulumi.StringPtrInput
	// ARN of the _main_ or global table which this resource will replicate.
	//
	// Optional arguments:
	GlobalTableArn pulumi.StringPtrInput
	// ARN of the CMK that should be used for the AWS KMS encryption. This argument should only be used if the key is different from the default KMS-managed DynamoDB key, `alias/aws/dynamodb`. **Note:** This attribute will _not_ be populated with the ARN of _default_ keys.
	KmsKeyArn pulumi.StringPtrInput
	// Whether to enable Point In Time Recovery for the replica. Default is `false`.
	PointInTimeRecovery pulumi.BoolPtrInput
	// Storage class of the table replica. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`. If not used, the table replica will use the same class as the global table.
	TableClassOverride pulumi.StringPtrInput
	// Map of tags to populate on the created table. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapInput
}

func (TableReplicaState) ElementType added in v5.11.0

func (TableReplicaState) ElementType() reflect.Type

type TableReplicaType added in v5.11.0

type TableReplicaType struct {
	// ARN of the table
	Arn *string `pulumi:"arn"`
	// ARN of the CMK that should be used for the AWS KMS encryption. This argument should only be used if the key is different from the default KMS-managed DynamoDB key, `alias/aws/dynamodb`. **Note:** This attribute will _not_ be populated with the ARN of _default_ keys.
	KmsKeyArn *string `pulumi:"kmsKeyArn"`
	// Whether to enable Point In Time Recovery for the replica. Default is `false`.
	PointInTimeRecovery *bool `pulumi:"pointInTimeRecovery"`
	// Whether to propagate the global table's tags to a replica. Default is `false`. Changes to tags only move in one direction: from global (source) to replica. In other words, tag drift on a replica will not trigger an update. Tag or replica changes on the global table, whether from drift or configuration changes, are propagated to replicas. Changing from `true` to `false` on a subsequent `apply` means replica tags are left as they were, unmanaged, not deleted.
	PropagateTags *bool `pulumi:"propagateTags"`
	// Region name of the replica.
	RegionName string `pulumi:"regionName"`
	// ARN of the Table Stream. Only available when `streamEnabled = true`
	StreamArn *string `pulumi:"streamArn"`
	// Timestamp, in ISO 8601 format, for this stream. Note that this timestamp is not a unique identifier for the stream on its own. However, the combination of AWS customer ID, table name and this field is guaranteed to be unique. It can be used for creating CloudWatch Alarms. Only available when `streamEnabled = true`.
	StreamLabel *string `pulumi:"streamLabel"`
}

type TableReplicaTypeArgs added in v5.11.0

type TableReplicaTypeArgs struct {
	// ARN of the table
	Arn pulumi.StringPtrInput `pulumi:"arn"`
	// ARN of the CMK that should be used for the AWS KMS encryption. This argument should only be used if the key is different from the default KMS-managed DynamoDB key, `alias/aws/dynamodb`. **Note:** This attribute will _not_ be populated with the ARN of _default_ keys.
	KmsKeyArn pulumi.StringPtrInput `pulumi:"kmsKeyArn"`
	// Whether to enable Point In Time Recovery for the replica. Default is `false`.
	PointInTimeRecovery pulumi.BoolPtrInput `pulumi:"pointInTimeRecovery"`
	// Whether to propagate the global table's tags to a replica. Default is `false`. Changes to tags only move in one direction: from global (source) to replica. In other words, tag drift on a replica will not trigger an update. Tag or replica changes on the global table, whether from drift or configuration changes, are propagated to replicas. Changing from `true` to `false` on a subsequent `apply` means replica tags are left as they were, unmanaged, not deleted.
	PropagateTags pulumi.BoolPtrInput `pulumi:"propagateTags"`
	// Region name of the replica.
	RegionName pulumi.StringInput `pulumi:"regionName"`
	// ARN of the Table Stream. Only available when `streamEnabled = true`
	StreamArn pulumi.StringPtrInput `pulumi:"streamArn"`
	// Timestamp, in ISO 8601 format, for this stream. Note that this timestamp is not a unique identifier for the stream on its own. However, the combination of AWS customer ID, table name and this field is guaranteed to be unique. It can be used for creating CloudWatch Alarms. Only available when `streamEnabled = true`.
	StreamLabel pulumi.StringPtrInput `pulumi:"streamLabel"`
}

func (TableReplicaTypeArgs) ElementType added in v5.11.0

func (TableReplicaTypeArgs) ElementType() reflect.Type

func (TableReplicaTypeArgs) ToTableReplicaTypeOutput added in v5.11.0

func (i TableReplicaTypeArgs) ToTableReplicaTypeOutput() TableReplicaTypeOutput

func (TableReplicaTypeArgs) ToTableReplicaTypeOutputWithContext added in v5.11.0

func (i TableReplicaTypeArgs) ToTableReplicaTypeOutputWithContext(ctx context.Context) TableReplicaTypeOutput

type TableReplicaTypeArray added in v5.11.0

type TableReplicaTypeArray []TableReplicaTypeInput

func (TableReplicaTypeArray) ElementType added in v5.11.0

func (TableReplicaTypeArray) ElementType() reflect.Type

func (TableReplicaTypeArray) ToTableReplicaTypeArrayOutput added in v5.11.0

func (i TableReplicaTypeArray) ToTableReplicaTypeArrayOutput() TableReplicaTypeArrayOutput

func (TableReplicaTypeArray) ToTableReplicaTypeArrayOutputWithContext added in v5.11.0

func (i TableReplicaTypeArray) ToTableReplicaTypeArrayOutputWithContext(ctx context.Context) TableReplicaTypeArrayOutput

type TableReplicaTypeArrayInput added in v5.11.0

type TableReplicaTypeArrayInput interface {
	pulumi.Input

	ToTableReplicaTypeArrayOutput() TableReplicaTypeArrayOutput
	ToTableReplicaTypeArrayOutputWithContext(context.Context) TableReplicaTypeArrayOutput
}

TableReplicaTypeArrayInput is an input type that accepts TableReplicaTypeArray and TableReplicaTypeArrayOutput values. You can construct a concrete instance of `TableReplicaTypeArrayInput` via:

TableReplicaTypeArray{ TableReplicaTypeArgs{...} }

type TableReplicaTypeArrayOutput added in v5.11.0

type TableReplicaTypeArrayOutput struct{ *pulumi.OutputState }

func (TableReplicaTypeArrayOutput) ElementType added in v5.11.0

func (TableReplicaTypeArrayOutput) Index added in v5.11.0

func (TableReplicaTypeArrayOutput) ToTableReplicaTypeArrayOutput added in v5.11.0

func (o TableReplicaTypeArrayOutput) ToTableReplicaTypeArrayOutput() TableReplicaTypeArrayOutput

func (TableReplicaTypeArrayOutput) ToTableReplicaTypeArrayOutputWithContext added in v5.11.0

func (o TableReplicaTypeArrayOutput) ToTableReplicaTypeArrayOutputWithContext(ctx context.Context) TableReplicaTypeArrayOutput

type TableReplicaTypeInput added in v5.11.0

type TableReplicaTypeInput interface {
	pulumi.Input

	ToTableReplicaTypeOutput() TableReplicaTypeOutput
	ToTableReplicaTypeOutputWithContext(context.Context) TableReplicaTypeOutput
}

TableReplicaTypeInput is an input type that accepts TableReplicaTypeArgs and TableReplicaTypeOutput values. You can construct a concrete instance of `TableReplicaTypeInput` via:

TableReplicaTypeArgs{...}

type TableReplicaTypeOutput added in v5.11.0

type TableReplicaTypeOutput struct{ *pulumi.OutputState }

func (TableReplicaTypeOutput) Arn added in v5.30.0

ARN of the table

func (TableReplicaTypeOutput) ElementType added in v5.11.0

func (TableReplicaTypeOutput) ElementType() reflect.Type

func (TableReplicaTypeOutput) KmsKeyArn added in v5.11.0

ARN of the CMK that should be used for the AWS KMS encryption. This argument should only be used if the key is different from the default KMS-managed DynamoDB key, `alias/aws/dynamodb`. **Note:** This attribute will _not_ be populated with the ARN of _default_ keys.

func (TableReplicaTypeOutput) PointInTimeRecovery added in v5.11.0

func (o TableReplicaTypeOutput) PointInTimeRecovery() pulumi.BoolPtrOutput

Whether to enable Point In Time Recovery for the replica. Default is `false`.

func (TableReplicaTypeOutput) PropagateTags added in v5.11.0

func (o TableReplicaTypeOutput) PropagateTags() pulumi.BoolPtrOutput

Whether to propagate the global table's tags to a replica. Default is `false`. Changes to tags only move in one direction: from global (source) to replica. In other words, tag drift on a replica will not trigger an update. Tag or replica changes on the global table, whether from drift or configuration changes, are propagated to replicas. Changing from `true` to `false` on a subsequent `apply` means replica tags are left as they were, unmanaged, not deleted.

func (TableReplicaTypeOutput) RegionName added in v5.11.0

Region name of the replica.

func (TableReplicaTypeOutput) StreamArn added in v5.30.0

ARN of the Table Stream. Only available when `streamEnabled = true`

func (TableReplicaTypeOutput) StreamLabel added in v5.30.0

Timestamp, in ISO 8601 format, for this stream. Note that this timestamp is not a unique identifier for the stream on its own. However, the combination of AWS customer ID, table name and this field is guaranteed to be unique. It can be used for creating CloudWatch Alarms. Only available when `streamEnabled = true`.

func (TableReplicaTypeOutput) ToTableReplicaTypeOutput added in v5.11.0

func (o TableReplicaTypeOutput) ToTableReplicaTypeOutput() TableReplicaTypeOutput

func (TableReplicaTypeOutput) ToTableReplicaTypeOutputWithContext added in v5.11.0

func (o TableReplicaTypeOutput) ToTableReplicaTypeOutputWithContext(ctx context.Context) TableReplicaTypeOutput

type TableServerSideEncryption

type TableServerSideEncryption struct {
	// Whether or not to enable encryption at rest using an AWS managed KMS customer master key (CMK). If `enabled` is `false` then server-side encryption is set to AWS-_owned_ key (shown as `DEFAULT` in the AWS console). Potentially confusingly, if `enabled` is `true` and no `kmsKeyArn` is specified then server-side encryption is set to the _default_ KMS-_managed_ key (shown as `KMS` in the AWS console). The [AWS KMS documentation](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html) explains the difference between AWS-_owned_ and KMS-_managed_ keys.
	Enabled bool `pulumi:"enabled"`
	// ARN of the CMK that should be used for the AWS KMS encryption. This argument should only be used if the key is different from the default KMS-managed DynamoDB key, `alias/aws/dynamodb`. **Note:** This attribute will _not_ be populated with the ARN of _default_ keys.
	KmsKeyArn *string `pulumi:"kmsKeyArn"`
}

type TableServerSideEncryptionArgs

type TableServerSideEncryptionArgs struct {
	// Whether or not to enable encryption at rest using an AWS managed KMS customer master key (CMK). If `enabled` is `false` then server-side encryption is set to AWS-_owned_ key (shown as `DEFAULT` in the AWS console). Potentially confusingly, if `enabled` is `true` and no `kmsKeyArn` is specified then server-side encryption is set to the _default_ KMS-_managed_ key (shown as `KMS` in the AWS console). The [AWS KMS documentation](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html) explains the difference between AWS-_owned_ and KMS-_managed_ keys.
	Enabled pulumi.BoolInput `pulumi:"enabled"`
	// ARN of the CMK that should be used for the AWS KMS encryption. This argument should only be used if the key is different from the default KMS-managed DynamoDB key, `alias/aws/dynamodb`. **Note:** This attribute will _not_ be populated with the ARN of _default_ keys.
	KmsKeyArn pulumi.StringPtrInput `pulumi:"kmsKeyArn"`
}

func (TableServerSideEncryptionArgs) ElementType

func (TableServerSideEncryptionArgs) ToTableServerSideEncryptionOutput

func (i TableServerSideEncryptionArgs) ToTableServerSideEncryptionOutput() TableServerSideEncryptionOutput

func (TableServerSideEncryptionArgs) ToTableServerSideEncryptionOutputWithContext

func (i TableServerSideEncryptionArgs) ToTableServerSideEncryptionOutputWithContext(ctx context.Context) TableServerSideEncryptionOutput

func (TableServerSideEncryptionArgs) ToTableServerSideEncryptionPtrOutput

func (i TableServerSideEncryptionArgs) ToTableServerSideEncryptionPtrOutput() TableServerSideEncryptionPtrOutput

func (TableServerSideEncryptionArgs) ToTableServerSideEncryptionPtrOutputWithContext

func (i TableServerSideEncryptionArgs) ToTableServerSideEncryptionPtrOutputWithContext(ctx context.Context) TableServerSideEncryptionPtrOutput

type TableServerSideEncryptionInput

type TableServerSideEncryptionInput interface {
	pulumi.Input

	ToTableServerSideEncryptionOutput() TableServerSideEncryptionOutput
	ToTableServerSideEncryptionOutputWithContext(context.Context) TableServerSideEncryptionOutput
}

TableServerSideEncryptionInput is an input type that accepts TableServerSideEncryptionArgs and TableServerSideEncryptionOutput values. You can construct a concrete instance of `TableServerSideEncryptionInput` via:

TableServerSideEncryptionArgs{...}

type TableServerSideEncryptionOutput

type TableServerSideEncryptionOutput struct{ *pulumi.OutputState }

func (TableServerSideEncryptionOutput) ElementType

func (TableServerSideEncryptionOutput) Enabled

Whether or not to enable encryption at rest using an AWS managed KMS customer master key (CMK). If `enabled` is `false` then server-side encryption is set to AWS-_owned_ key (shown as `DEFAULT` in the AWS console). Potentially confusingly, if `enabled` is `true` and no `kmsKeyArn` is specified then server-side encryption is set to the _default_ KMS-_managed_ key (shown as `KMS` in the AWS console). The [AWS KMS documentation](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html) explains the difference between AWS-_owned_ and KMS-_managed_ keys.

func (TableServerSideEncryptionOutput) KmsKeyArn

ARN of the CMK that should be used for the AWS KMS encryption. This argument should only be used if the key is different from the default KMS-managed DynamoDB key, `alias/aws/dynamodb`. **Note:** This attribute will _not_ be populated with the ARN of _default_ keys.

func (TableServerSideEncryptionOutput) ToTableServerSideEncryptionOutput

func (o TableServerSideEncryptionOutput) ToTableServerSideEncryptionOutput() TableServerSideEncryptionOutput

func (TableServerSideEncryptionOutput) ToTableServerSideEncryptionOutputWithContext

func (o TableServerSideEncryptionOutput) ToTableServerSideEncryptionOutputWithContext(ctx context.Context) TableServerSideEncryptionOutput

func (TableServerSideEncryptionOutput) ToTableServerSideEncryptionPtrOutput

func (o TableServerSideEncryptionOutput) ToTableServerSideEncryptionPtrOutput() TableServerSideEncryptionPtrOutput

func (TableServerSideEncryptionOutput) ToTableServerSideEncryptionPtrOutputWithContext

func (o TableServerSideEncryptionOutput) ToTableServerSideEncryptionPtrOutputWithContext(ctx context.Context) TableServerSideEncryptionPtrOutput

type TableServerSideEncryptionPtrInput

type TableServerSideEncryptionPtrInput interface {
	pulumi.Input

	ToTableServerSideEncryptionPtrOutput() TableServerSideEncryptionPtrOutput
	ToTableServerSideEncryptionPtrOutputWithContext(context.Context) TableServerSideEncryptionPtrOutput
}

TableServerSideEncryptionPtrInput is an input type that accepts TableServerSideEncryptionArgs, TableServerSideEncryptionPtr and TableServerSideEncryptionPtrOutput values. You can construct a concrete instance of `TableServerSideEncryptionPtrInput` via:

        TableServerSideEncryptionArgs{...}

or:

        nil

type TableServerSideEncryptionPtrOutput

type TableServerSideEncryptionPtrOutput struct{ *pulumi.OutputState }

func (TableServerSideEncryptionPtrOutput) Elem

func (TableServerSideEncryptionPtrOutput) ElementType

func (TableServerSideEncryptionPtrOutput) Enabled

Whether or not to enable encryption at rest using an AWS managed KMS customer master key (CMK). If `enabled` is `false` then server-side encryption is set to AWS-_owned_ key (shown as `DEFAULT` in the AWS console). Potentially confusingly, if `enabled` is `true` and no `kmsKeyArn` is specified then server-side encryption is set to the _default_ KMS-_managed_ key (shown as `KMS` in the AWS console). The [AWS KMS documentation](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html) explains the difference between AWS-_owned_ and KMS-_managed_ keys.

func (TableServerSideEncryptionPtrOutput) KmsKeyArn

ARN of the CMK that should be used for the AWS KMS encryption. This argument should only be used if the key is different from the default KMS-managed DynamoDB key, `alias/aws/dynamodb`. **Note:** This attribute will _not_ be populated with the ARN of _default_ keys.

func (TableServerSideEncryptionPtrOutput) ToTableServerSideEncryptionPtrOutput

func (o TableServerSideEncryptionPtrOutput) ToTableServerSideEncryptionPtrOutput() TableServerSideEncryptionPtrOutput

func (TableServerSideEncryptionPtrOutput) ToTableServerSideEncryptionPtrOutputWithContext

func (o TableServerSideEncryptionPtrOutput) ToTableServerSideEncryptionPtrOutputWithContext(ctx context.Context) TableServerSideEncryptionPtrOutput

type TableState

type TableState struct {
	// ARN of the table
	Arn pulumi.StringPtrInput
	// Set of nested attribute definitions. Only required for `hashKey` and `rangeKey` attributes. See below.
	Attributes TableAttributeArrayInput
	// Controls how you are charged for read and write throughput and how you manage capacity. The valid values are `PROVISIONED` and `PAY_PER_REQUEST`. Defaults to `PROVISIONED`.
	BillingMode pulumi.StringPtrInput
	// Enables deletion protection for table. Defaults to `false`.
	DeletionProtectionEnabled pulumi.BoolPtrInput
	// Describe a GSI for the table; subject to the normal limits on the number of GSIs, projected attributes, etc. See below.
	GlobalSecondaryIndexes TableGlobalSecondaryIndexArrayInput
	// Attribute to use as the hash (partition) key. Must also be defined as an `attribute`. See below.
	HashKey pulumi.StringPtrInput
	// Describe an LSI on the table; these can only be allocated _at creation_ so you cannot change this definition after you have created the resource. See below.
	LocalSecondaryIndexes TableLocalSecondaryIndexArrayInput
	// Unique within a region name of the table.
	//
	// Optional arguments:
	Name pulumi.StringPtrInput
	// Enable point-in-time recovery options. See below.
	PointInTimeRecovery TablePointInTimeRecoveryPtrInput
	// Attribute to use as the range (sort) key. Must also be defined as an `attribute`, see below.
	RangeKey pulumi.StringPtrInput
	// Number of read units for this table. If the `billingMode` is `PROVISIONED`, this field is required.
	ReadCapacity pulumi.IntPtrInput
	// Configuration block(s) with [DynamoDB Global Tables V2 (version 2019.11.21)](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html) replication configurations. See below.
	Replicas TableReplicaTypeArrayInput
	// Time of the point-in-time recovery point to restore.
	RestoreDateTime pulumi.StringPtrInput
	// Name of the table to restore. Must match the name of an existing table.
	RestoreSourceName pulumi.StringPtrInput
	// If set, restores table to the most recent point-in-time recovery point.
	RestoreToLatestTime pulumi.BoolPtrInput
	// Encryption at rest options. AWS DynamoDB tables are automatically encrypted at rest with an AWS-owned Customer Master Key if this argument isn't specified. See below.
	ServerSideEncryption TableServerSideEncryptionPtrInput
	// ARN of the Table Stream. Only available when `streamEnabled = true`
	StreamArn pulumi.StringPtrInput
	// Whether Streams are enabled.
	StreamEnabled pulumi.BoolPtrInput
	// Timestamp, in ISO 8601 format, for this stream. Note that this timestamp is not a unique identifier for the stream on its own. However, the combination of AWS customer ID, table name and this field is guaranteed to be unique. It can be used for creating CloudWatch Alarms. Only available when `streamEnabled = true`.
	StreamLabel pulumi.StringPtrInput
	// When an item in the table is modified, StreamViewType determines what information is written to the table's stream. Valid values are `KEYS_ONLY`, `NEW_IMAGE`, `OLD_IMAGE`, `NEW_AND_OLD_IMAGES`.
	StreamViewType pulumi.StringPtrInput
	// Storage class of the table.
	// Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS`.
	// Default value is `STANDARD`.
	TableClass pulumi.StringPtrInput
	// A map of tags to populate on the created table. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapInput
	// Configuration block for TTL. See below.
	Ttl TableTtlPtrInput
	// Number of write units for this table. If the `billingMode` is `PROVISIONED`, this field is required.
	WriteCapacity pulumi.IntPtrInput
}

func (TableState) ElementType

func (TableState) ElementType() reflect.Type

type TableTtl

type TableTtl struct {
	// Name of the table attribute to store the TTL timestamp in.
	AttributeName string `pulumi:"attributeName"`
	// Whether TTL is enabled.
	Enabled *bool `pulumi:"enabled"`
}

type TableTtlArgs

type TableTtlArgs struct {
	// Name of the table attribute to store the TTL timestamp in.
	AttributeName pulumi.StringInput `pulumi:"attributeName"`
	// Whether TTL is enabled.
	Enabled pulumi.BoolPtrInput `pulumi:"enabled"`
}

func (TableTtlArgs) ElementType

func (TableTtlArgs) ElementType() reflect.Type

func (TableTtlArgs) ToTableTtlOutput

func (i TableTtlArgs) ToTableTtlOutput() TableTtlOutput

func (TableTtlArgs) ToTableTtlOutputWithContext

func (i TableTtlArgs) ToTableTtlOutputWithContext(ctx context.Context) TableTtlOutput

func (TableTtlArgs) ToTableTtlPtrOutput

func (i TableTtlArgs) ToTableTtlPtrOutput() TableTtlPtrOutput

func (TableTtlArgs) ToTableTtlPtrOutputWithContext

func (i TableTtlArgs) ToTableTtlPtrOutputWithContext(ctx context.Context) TableTtlPtrOutput

type TableTtlInput

type TableTtlInput interface {
	pulumi.Input

	ToTableTtlOutput() TableTtlOutput
	ToTableTtlOutputWithContext(context.Context) TableTtlOutput
}

TableTtlInput is an input type that accepts TableTtlArgs and TableTtlOutput values. You can construct a concrete instance of `TableTtlInput` via:

TableTtlArgs{...}

type TableTtlOutput

type TableTtlOutput struct{ *pulumi.OutputState }

func (TableTtlOutput) AttributeName

func (o TableTtlOutput) AttributeName() pulumi.StringOutput

Name of the table attribute to store the TTL timestamp in.

func (TableTtlOutput) ElementType

func (TableTtlOutput) ElementType() reflect.Type

func (TableTtlOutput) Enabled

func (o TableTtlOutput) Enabled() pulumi.BoolPtrOutput

Whether TTL is enabled.

func (TableTtlOutput) ToTableTtlOutput

func (o TableTtlOutput) ToTableTtlOutput() TableTtlOutput

func (TableTtlOutput) ToTableTtlOutputWithContext

func (o TableTtlOutput) ToTableTtlOutputWithContext(ctx context.Context) TableTtlOutput

func (TableTtlOutput) ToTableTtlPtrOutput

func (o TableTtlOutput) ToTableTtlPtrOutput() TableTtlPtrOutput

func (TableTtlOutput) ToTableTtlPtrOutputWithContext

func (o TableTtlOutput) ToTableTtlPtrOutputWithContext(ctx context.Context) TableTtlPtrOutput

type TableTtlPtrInput

type TableTtlPtrInput interface {
	pulumi.Input

	ToTableTtlPtrOutput() TableTtlPtrOutput
	ToTableTtlPtrOutputWithContext(context.Context) TableTtlPtrOutput
}

TableTtlPtrInput is an input type that accepts TableTtlArgs, TableTtlPtr and TableTtlPtrOutput values. You can construct a concrete instance of `TableTtlPtrInput` via:

        TableTtlArgs{...}

or:

        nil

func TableTtlPtr

func TableTtlPtr(v *TableTtlArgs) TableTtlPtrInput

type TableTtlPtrOutput

type TableTtlPtrOutput struct{ *pulumi.OutputState }

func (TableTtlPtrOutput) AttributeName

func (o TableTtlPtrOutput) AttributeName() pulumi.StringPtrOutput

Name of the table attribute to store the TTL timestamp in.

func (TableTtlPtrOutput) Elem

func (TableTtlPtrOutput) ElementType

func (TableTtlPtrOutput) ElementType() reflect.Type

func (TableTtlPtrOutput) Enabled

Whether TTL is enabled.

func (TableTtlPtrOutput) ToTableTtlPtrOutput

func (o TableTtlPtrOutput) ToTableTtlPtrOutput() TableTtlPtrOutput

func (TableTtlPtrOutput) ToTableTtlPtrOutputWithContext

func (o TableTtlPtrOutput) ToTableTtlPtrOutputWithContext(ctx context.Context) TableTtlPtrOutput

type Tag

type Tag struct {
	pulumi.CustomResourceState

	// Tag name.
	Key pulumi.StringOutput `pulumi:"key"`
	// Amazon Resource Name (ARN) of the DynamoDB resource to tag.
	ResourceArn pulumi.StringOutput `pulumi:"resourceArn"`
	// Tag value.
	Value pulumi.StringOutput `pulumi:"value"`
}

Manages an individual DynamoDB resource tag. This resource should only be used in cases where DynamoDB resources are created outside the provider (e.g., Table replicas in other regions).

> **NOTE:** This tagging resource should not be combined with the resource for managing the parent resource. For example, using `dynamodb.Table` and `dynamodb.Tag` to manage tags of the same DynamoDB Table in the same region will cause a perpetual difference where the `awsDynamodbCluster` resource will try to remove the tag being added by the `dynamodb.Tag` resource.

> **NOTE:** This tagging resource does not use the provider `ignoreTags` configuration.

## Import

`aws_dynamodb_tag` can be imported by using the DynamoDB resource identifier and key, separated by a comma (`,`), e.g.,

```sh

$ pulumi import aws:dynamodb/tag:Tag example arn:aws:dynamodb:us-east-1:123456789012:table/example,Name

```

func GetTag

func GetTag(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TagState, opts ...pulumi.ResourceOption) (*Tag, error)

GetTag gets an existing Tag resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewTag

func NewTag(ctx *pulumi.Context,
	name string, args *TagArgs, opts ...pulumi.ResourceOption) (*Tag, error)

NewTag registers a new resource with the given unique name, arguments, and options.

func (*Tag) ElementType

func (*Tag) ElementType() reflect.Type

func (*Tag) ToTagOutput

func (i *Tag) ToTagOutput() TagOutput

func (*Tag) ToTagOutputWithContext

func (i *Tag) ToTagOutputWithContext(ctx context.Context) TagOutput

type TagArgs

type TagArgs struct {
	// Tag name.
	Key pulumi.StringInput
	// Amazon Resource Name (ARN) of the DynamoDB resource to tag.
	ResourceArn pulumi.StringInput
	// Tag value.
	Value pulumi.StringInput
}

The set of arguments for constructing a Tag resource.

func (TagArgs) ElementType

func (TagArgs) ElementType() reflect.Type

type TagArray

type TagArray []TagInput

func (TagArray) ElementType

func (TagArray) ElementType() reflect.Type

func (TagArray) ToTagArrayOutput

func (i TagArray) ToTagArrayOutput() TagArrayOutput

func (TagArray) ToTagArrayOutputWithContext

func (i TagArray) ToTagArrayOutputWithContext(ctx context.Context) TagArrayOutput

type TagArrayInput

type TagArrayInput interface {
	pulumi.Input

	ToTagArrayOutput() TagArrayOutput
	ToTagArrayOutputWithContext(context.Context) TagArrayOutput
}

TagArrayInput is an input type that accepts TagArray and TagArrayOutput values. You can construct a concrete instance of `TagArrayInput` via:

TagArray{ TagArgs{...} }

type TagArrayOutput

type TagArrayOutput struct{ *pulumi.OutputState }

func (TagArrayOutput) ElementType

func (TagArrayOutput) ElementType() reflect.Type

func (TagArrayOutput) Index

func (TagArrayOutput) ToTagArrayOutput

func (o TagArrayOutput) ToTagArrayOutput() TagArrayOutput

func (TagArrayOutput) ToTagArrayOutputWithContext

func (o TagArrayOutput) ToTagArrayOutputWithContext(ctx context.Context) TagArrayOutput

type TagInput

type TagInput interface {
	pulumi.Input

	ToTagOutput() TagOutput
	ToTagOutputWithContext(ctx context.Context) TagOutput
}

type TagMap

type TagMap map[string]TagInput

func (TagMap) ElementType

func (TagMap) ElementType() reflect.Type

func (TagMap) ToTagMapOutput

func (i TagMap) ToTagMapOutput() TagMapOutput

func (TagMap) ToTagMapOutputWithContext

func (i TagMap) ToTagMapOutputWithContext(ctx context.Context) TagMapOutput

type TagMapInput

type TagMapInput interface {
	pulumi.Input

	ToTagMapOutput() TagMapOutput
	ToTagMapOutputWithContext(context.Context) TagMapOutput
}

TagMapInput is an input type that accepts TagMap and TagMapOutput values. You can construct a concrete instance of `TagMapInput` via:

TagMap{ "key": TagArgs{...} }

type TagMapOutput

type TagMapOutput struct{ *pulumi.OutputState }

func (TagMapOutput) ElementType

func (TagMapOutput) ElementType() reflect.Type

func (TagMapOutput) MapIndex

func (o TagMapOutput) MapIndex(k pulumi.StringInput) TagOutput

func (TagMapOutput) ToTagMapOutput

func (o TagMapOutput) ToTagMapOutput() TagMapOutput

func (TagMapOutput) ToTagMapOutputWithContext

func (o TagMapOutput) ToTagMapOutputWithContext(ctx context.Context) TagMapOutput

type TagOutput

type TagOutput struct{ *pulumi.OutputState }

func (TagOutput) ElementType

func (TagOutput) ElementType() reflect.Type

func (TagOutput) Key added in v5.4.0

func (o TagOutput) Key() pulumi.StringOutput

Tag name.

func (TagOutput) ResourceArn added in v5.4.0

func (o TagOutput) ResourceArn() pulumi.StringOutput

Amazon Resource Name (ARN) of the DynamoDB resource to tag.

func (TagOutput) ToTagOutput

func (o TagOutput) ToTagOutput() TagOutput

func (TagOutput) ToTagOutputWithContext

func (o TagOutput) ToTagOutputWithContext(ctx context.Context) TagOutput

func (TagOutput) Value added in v5.4.0

func (o TagOutput) Value() pulumi.StringOutput

Tag value.

type TagState

type TagState struct {
	// Tag name.
	Key pulumi.StringPtrInput
	// Amazon Resource Name (ARN) of the DynamoDB resource to tag.
	ResourceArn pulumi.StringPtrInput
	// Tag value.
	Value pulumi.StringPtrInput
}

func (TagState) ElementType

func (TagState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL