Help us shape the future of Go! Take the 2026 Go Developer Survey

models

package
v1.8.3 Latest Latest
Warning

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

Go to latest
Published: Oct 20, 2026 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	KeyTypeHash            = "HASH"
	KeyTypeRange           = "RANGE"
	ReturnValuesAllOld     = "ALL_OLD"
	ReturnValuesAllNew     = "ALL_NEW"
	ReturnValuesUpdatedOld = "UPDATED_OLD"
	ReturnValuesUpdatedNew = "UPDATED_NEW"
	TableStatusActive      = "ACTIVE"

	DefaultReadCapacity  = 5
	DefaultWriteCapacity = 5
	ConsumedReadUnit     = 0.5
	ConsumedWriteUnit    = 0.5
)
View Source
const (
	BackupStatusCreating  = "CREATING"
	BackupStatusDeleted   = "DELETED"
	BackupStatusAvailable = "AVAILABLE"
)

BackupStatus values.

View Source
const (
	BackupTypeUser      = "USER"
	BackupTypeSystem    = "SYSTEM"
	BackupTypeAwsBackup = "AWS_BACKUP"
)

BackupType values.

Variables

View Source
var (
	ErrNotMap               = errors.New("expected map[string]any for AttributeValue")
	ErrInvalidTypeKeyCount  = errors.New("expected exactly one type key in AttributeValue map")
	ErrInvalidTypeS         = errors.New("expected string for S type")
	ErrInvalidTypeN         = errors.New("expected string for N type")
	ErrInvalidTypeB         = errors.New("expected base64 string for B type")
	ErrInvalidTypeBOOL      = errors.New("expected bool for BOOL type")
	ErrInvalidTypeNULL      = errors.New("expected true for NULL type")
	ErrInvalidTypeM         = errors.New("expected map for M type")
	ErrInvalidTypeL         = errors.New("expected slice for L type")
	ErrInvalidTypeSS        = errors.New("expected slice for SS type")
	ErrInvalidStringInSS    = errors.New("expected string in SS")
	ErrInvalidTypeNS        = errors.New("expected slice for NS type")
	ErrInvalidStringInNS    = errors.New("expected string in NS")
	ErrInvalidTypeBS        = errors.New("expected slice for BS type")
	ErrInvalidStringInBS    = errors.New("expected string in BS")
	ErrUnknownAttributeType = errors.New("unknown attribute value type")
)

Functions

func FromSDKAttributeValue

func FromSDKAttributeValue(av types.AttributeValue) any

FromSDKAttributeValue converts an SDK AttributeValue back to a raw map[string]any suitable for JSON marshaling (wire format).

func FromSDKItem

func FromSDKItem(item map[string]types.AttributeValue) map[string]any

FromSDKItem converts map[string]types.AttributeValue back to map[string]any (wire item).

func ToSDKAttributeDefinitions

func ToSDKAttributeDefinitions(defs []AttributeDefinition) []types.AttributeDefinition

ToSDKAttributeDefinitions converts internal AttributeDefinitions to SDK type.

func ToSDKAttributeValue

func ToSDKAttributeValue(v any) (types.AttributeValue, error)

ToSDKAttributeValue converts a raw Go value (from JSON unmarshal) to an SDK AttributeValue.

func ToSDKBatchGetItemInput

func ToSDKBatchGetItemInput(input *BatchGetItemInput) (*dynamodb.BatchGetItemInput, error)

func ToSDKBatchWriteItemInput

func ToSDKBatchWriteItemInput(input *BatchWriteItemInput) (*dynamodb.BatchWriteItemInput, error)

func ToSDKCreateTableInput

func ToSDKCreateTableInput(input *CreateTableInput) *dynamodb.CreateTableInput

func ToSDKDeleteItemInput

func ToSDKDeleteItemInput(input *DeleteItemInput) (*dynamodb.DeleteItemInput, error)

func ToSDKDeleteTableInput

func ToSDKDeleteTableInput(input *DeleteTableInput) *dynamodb.DeleteTableInput

func ToSDKDescribeTableInput

func ToSDKDescribeTableInput(input *DescribeTableInput) *dynamodb.DescribeTableInput

func ToSDKDescribeTimeToLiveInput

func ToSDKDescribeTimeToLiveInput(
	input *DescribeTimeToLiveInput,
) *dynamodb.DescribeTimeToLiveInput

func ToSDKGetItemInput

func ToSDKGetItemInput(input *GetItemInput) (*dynamodb.GetItemInput, error)

func ToSDKGlobalSecondaryIndexes

func ToSDKGlobalSecondaryIndexes(gsis []GlobalSecondaryIndex) []types.GlobalSecondaryIndex

func ToSDKItem

func ToSDKItem(item map[string]any) (map[string]types.AttributeValue, error)

ToSDKItem converts a map[string]any (wire item) to map[string]types.AttributeValue.

func ToSDKKeySchema

func ToSDKKeySchema(schema []KeySchemaElement) []types.KeySchemaElement

ToSDKKeySchema converts internal KeySchema to SDK type.

func ToSDKListAttribute

func ToSDKListAttribute(l []any) (types.AttributeValue, error)

func ToSDKListTablesInput

func ToSDKListTablesInput(input *ListTablesInput) *dynamodb.ListTablesInput

func ToSDKListTagsOfResourceInput

func ToSDKListTagsOfResourceInput(
	input *ListTagsOfResourceInput,
) (*dynamodb.ListTagsOfResourceInput, error)

ToSDKListTagsOfResourceInput converts the wire-format input to an AWS SDK input.

func ToSDKLocalSecondaryIndexes

func ToSDKLocalSecondaryIndexes(lsis []LocalSecondaryIndex) []types.LocalSecondaryIndex

func ToSDKMapAttribute

func ToSDKMapAttribute(m map[string]any) (*types.AttributeValueMemberM, error)

func ToSDKOnDemandThroughput added in v1.3.1

func ToSDKOnDemandThroughput(input *OnDemandThroughput) *types.OnDemandThroughput

ToSDKOnDemandThroughput converts the wire-format OnDemandThroughput to an AWS SDK type.

func ToSDKProjection

func ToSDKProjection(p Projection) *types.Projection

func ToSDKPutItemInput

func ToSDKPutItemInput(input *PutItemInput) (*dynamodb.PutItemInput, error)

ToSDKPutItemInput and ToSDKDeleteItemInput share the same conditional-write fields by design (Item vs. Key is the only real difference); a shared helper would need reflection to be less code than this.

func ToSDKQueryInput

func ToSDKQueryInput(input *QueryInput) (*dynamodb.QueryInput, error)

func ToSDKSSESpecification added in v1.3.1

func ToSDKSSESpecification(input *SSESpecification) *types.SSESpecification

ToSDKSSESpecification converts the wire-format SSESpecification to an AWS SDK type.

func ToSDKScanInput

func ToSDKScanInput(input *ScanInput) (*dynamodb.ScanInput, error)

func ToSDKSearchVectorsInput added in v1.3.1

func ToSDKSearchVectorsInput(input *SearchVectorsInput) (*dynamodb.SearchVectorsInput, error)

ToSDKSearchVectorsInput converts the wire SearchVectorsInput to its SDK form. SearchVector elements are wire AttributeValue objects, so each is converted with ToSDKAttributeValue rather than ToSDKItem (which expects a map).

func ToSDKTableWarmThroughput

func ToSDKTableWarmThroughput(input *WarmThroughputDescription) *types.TableWarmThroughputDescription

ToSDKTableWarmThroughput converts a table warm throughput description to the SDK type.

func ToSDKTagResourceInput

func ToSDKTagResourceInput(input *TagResourceInput) (*dynamodb.TagResourceInput, error)

ToSDKTagResourceInput converts the wire-format TagResourceInput to an AWS SDK input.

func ToSDKTransactGetItemsInput

func ToSDKTransactGetItemsInput(
	input *TransactGetItemsInput,
) (*dynamodb.TransactGetItemsInput, error)

func ToSDKTransactWriteItemsInput

func ToSDKTransactWriteItemsInput(
	input *TransactWriteItemsInput,
) (*dynamodb.TransactWriteItemsInput, error)

func ToSDKUntagResourceInput

func ToSDKUntagResourceInput(input *UntagResourceInput) (*dynamodb.UntagResourceInput, error)

ToSDKUntagResourceInput converts the wire-format UntagResourceInput to an AWS SDK input.

func ToSDKUpdateItemInput

func ToSDKUpdateItemInput(input *UpdateItemInput) (*dynamodb.UpdateItemInput, error)

func ToSDKUpdateTableInput

func ToSDKUpdateTableInput(input *UpdateTableInput) (*dynamodb.UpdateTableInput, error)

ToSDKUpdateTableInput converts the wire-format UpdateTableInput to an AWS SDK input.

func ToSDKUpdateTimeToLiveInput

func ToSDKUpdateTimeToLiveInput(input *UpdateTimeToLiveInput) *dynamodb.UpdateTimeToLiveInput

func ToSDKVectorIndexDescriptions

func ToSDKVectorIndexDescriptions(in []VectorIndexDescription) []types.VectorIndexDescription

ToSDKVectorIndexDescriptions converts stored descriptions to the SDK type.

func ToSDKVectorIndexes

func ToSDKVectorIndexes(in []VectorIndex) []types.VectorIndex

ToSDKVectorIndexes converts wire vector index definitions, preserving nil versus empty.

func ToSDKWarmThroughput

func ToSDKWarmThroughput(input *WarmThroughput) *types.WarmThroughput

ToSDKWarmThroughput converts the wire-format WarmThroughput to an AWS SDK type.

Types

type AttributeDefinition

type AttributeDefinition struct {
	AttributeName string `json:"AttributeName"`
	AttributeType string `json:"AttributeType"` // "S", "N", "B"
}

AttributeDefinition defines the name and type of an attribute.

func FromSDKAttributeDefinitions

func FromSDKAttributeDefinitions(defs []types.AttributeDefinition) []AttributeDefinition

type BackupDescription

type BackupDescription struct {
	BackupDetails      BackupDetails      `json:"BackupDetails"`
	SourceTableDetails SourceTableDetails `json:"SourceTableDetails"`
}

BackupDescription contains a full description of a backup.

type BackupDetails

type BackupDetails struct {
	BackupArn              string  `json:"BackupArn"`
	BackupName             string  `json:"BackupName"`
	BackupStatus           string  `json:"BackupStatus"`
	BackupType             string  `json:"BackupType"`
	BackupCreationDateTime float64 `json:"BackupCreationDateTime"`
	BackupSizeBytes        int64   `json:"BackupSizeBytes,omitempty"`
}

BackupDetails contains details of a backup.

BackupCreationDateTime is Unix epoch seconds (with optional fractional part), matching how the real aws-sdk-go-v2 awsjson1_0 protocol serializes a *time.Time via smithytime.FormatEpochSeconds -- it is emitted as a JSON number, never a JSON string.

type BackupSummary

type BackupSummary struct {
	BackupArn              string  `json:"BackupArn"`
	BackupName             string  `json:"BackupName"`
	BackupStatus           string  `json:"BackupStatus"`
	BackupType             string  `json:"BackupType"`
	TableName              string  `json:"TableName"`
	TableArn               string  `json:"TableArn,omitempty"`
	TableID                string  `json:"TableId,omitempty"`
	BackupCreationDateTime float64 `json:"BackupCreationDateTime"`
	BackupSizeBytes        int64   `json:"BackupSizeBytes,omitempty"`
}

BackupSummary contains summary information about a backup.

BackupCreationDateTime is Unix epoch seconds (with optional fractional part), matching how the real aws-sdk-go-v2 awsjson1_0 protocol serializes a *time.Time via smithytime.FormatEpochSeconds -- it is emitted as a JSON number, never a JSON string.

type BatchGetItemInput

type BatchGetItemInput struct {
	RequestItems           map[string]KeysAndAttributes `json:"RequestItems"`
	ReturnConsumedCapacity string                       `json:"ReturnConsumedCapacity,omitempty"`
}

type BatchGetItemOutput

type BatchGetItemOutput struct {
	Responses       map[string][]map[string]any  `json:"Responses,omitempty"`
	UnprocessedKeys map[string]KeysAndAttributes `json:"UnprocessedKeys,omitempty"`
}

func FromSDKBatchGetItemOutput

func FromSDKBatchGetItemOutput(output *dynamodb.BatchGetItemOutput) *BatchGetItemOutput

type BatchWriteItemInput

type BatchWriteItemInput struct {
	RequestItems                map[string][]WriteRequest `json:"RequestItems"`
	ReturnConsumedCapacity      string                    `json:"ReturnConsumedCapacity,omitempty"`
	ReturnItemCollectionMetrics string                    `json:"ReturnItemCollectionMetrics,omitempty"`
}

type BatchWriteItemOutput

type BatchWriteItemOutput struct {
	UnprocessedItems      map[string][]WriteRequest `json:"UnprocessedItems,omitempty"`
	ItemCollectionMetrics map[string][]any          `json:"ItemCollectionMetrics,omitempty"` // Simplified for now
	ConsumedCapacity      []ConsumedCapacity        `json:"ConsumedCapacity,omitempty"`
}

func FromSDKBatchWriteItemOutput

func FromSDKBatchWriteItemOutput(output *dynamodb.BatchWriteItemOutput) *BatchWriteItemOutput

type BillingModeSummaryDescription

type BillingModeSummaryDescription struct {
	BillingMode string `json:"BillingMode,omitempty"`
}

BillingModeSummaryDescription describes the billing mode of a DynamoDB table.

type Capacity

type Capacity struct {
	CapacityUnits      float64 `json:"CapacityUnits,omitempty"`
	ReadCapacityUnits  float64 `json:"ReadCapacityUnits,omitempty"`
	WriteCapacityUnits float64 `json:"WriteCapacityUnits,omitempty"`
}

Capacity mirrors types.Capacity, the per-table/per-index throughput breakdown nested inside ConsumedCapacity under ReturnConsumedCapacity=INDEXES (dynamodb SDK types.go:644-656).

type ConditionCheckInput

type ConditionCheckInput struct {
	Key                                 map[string]any    `json:"Key"`
	ExpressionAttributeNames            map[string]string `json:"ExpressionAttributeNames,omitempty"`
	ExpressionAttributeValues           map[string]any    `json:"ExpressionAttributeValues,omitempty"`
	TableName                           string            `json:"TableName"`
	ConditionExpression                 string            `json:"ConditionExpression"`
	ReturnValuesOnConditionCheckFailure string            `json:"ReturnValuesOnConditionCheckFailure,omitempty"`
}

type ConsumedCapacity

type ConsumedCapacity struct {
	Table                  *Capacity           `json:"Table,omitempty"`
	GlobalSecondaryIndexes map[string]Capacity `json:"GlobalSecondaryIndexes,omitempty"`
	LocalSecondaryIndexes  map[string]Capacity `json:"LocalSecondaryIndexes,omitempty"`
	TableName              string              `json:"TableName,omitempty"`
	CapacityUnits          float64             `json:"CapacityUnits,omitempty"`
	ReadCapacityUnits      float64             `json:"ReadCapacityUnits,omitempty"`
	WriteCapacityUnits     float64             `json:"WriteCapacityUnits,omitempty"`
}

func FromSDKConsumedCapacity

func FromSDKConsumedCapacity(cc *types.ConsumedCapacity) *ConsumedCapacity

type CreateBackupInput

type CreateBackupInput struct {
	TableName  string `json:"TableName"`
	BackupName string `json:"BackupName"`
}

CreateBackupInput is the wire format for CreateBackup.

type CreateBackupOutput

type CreateBackupOutput struct {
	BackupDetails BackupDetails `json:"BackupDetails"`
}

CreateBackupOutput is the wire format for CreateBackup response.

type CreateGlobalSecondaryIndexAction

type CreateGlobalSecondaryIndexAction struct {
	ProvisionedThroughput *ProvisionedThroughput `json:"ProvisionedThroughput,omitempty"`
	WarmThroughput        *WarmThroughput        `json:"WarmThroughput,omitempty"`
	IndexName             string                 `json:"IndexName"`
	Projection            Projection             `json:"Projection"`
	KeySchema             []KeySchemaElement     `json:"KeySchema"`
}

CreateGlobalSecondaryIndexAction adds a new GSI.

type CreateReplicationGroupMemberAction

type CreateReplicationGroupMemberAction struct {
	ProvisionedThroughputOverride *ProvisionedThroughputOverrideWire `json:"ProvisionedThroughputOverride,omitempty"`
	OnDemandThroughputOverride    *OnDemandThroughputOverrideWire    `json:"OnDemandThroughputOverride,omitempty"`
	KMSMasterKeyID                *string                            `json:"KMSMasterKeyId,omitempty"`
	RegionName                    string                             `json:"RegionName"`
	TableClassOverride            string                             `json:"TableClassOverride,omitempty"`
	GlobalSecondaryIndexes        []ReplicaGSIWire                   `json:"GlobalSecondaryIndexes,omitempty"`
}

CreateReplicationGroupMemberAction specifies parameters for creating a new replica.

type CreateTableInput

type CreateTableInput struct {
	ProvisionedThroughput     any                    `json:"ProvisionedThroughput"`
	StreamSpecification       any                    `json:"StreamSpecification,omitempty"`
	SSESpecification          *SSESpecification      `json:"SSESpecification,omitempty"`
	OnDemandThroughput        *OnDemandThroughput    `json:"OnDemandThroughput,omitempty"`
	WarmThroughput            *WarmThroughput        `json:"WarmThroughput,omitempty"`
	DeletionProtectionEnabled *bool                  `json:"DeletionProtectionEnabled,omitempty"`
	TableName                 string                 `json:"TableName"`
	ResourcePolicy            string                 `json:"ResourcePolicy,omitempty"`
	BillingMode               string                 `json:"BillingMode,omitempty"`
	TableClass                string                 `json:"TableClass,omitempty"`
	KeySchema                 []KeySchemaElement     `json:"KeySchema"`
	AttributeDefinitions      []AttributeDefinition  `json:"AttributeDefinitions"`
	GlobalSecondaryIndexes    []GlobalSecondaryIndex `json:"GlobalSecondaryIndexes,omitempty"`
	LocalSecondaryIndexes     []LocalSecondaryIndex  `json:"LocalSecondaryIndexes,omitempty"`
	VectorIndexes             []VectorIndex          `json:"VectorIndexes,omitempty"`
	Tags                      []Tag                  `json:"Tags,omitempty"`
}

type CreateTableOutput

type CreateTableOutput struct {
	TableDescription TableDescription `json:"TableDescription"`
}

func FromSDKCreateTableOutput

func FromSDKCreateTableOutput(output *dynamodb.CreateTableOutput) *CreateTableOutput

type DeleteBackupInput

type DeleteBackupInput struct {
	BackupArn string `json:"BackupArn"`
}

DeleteBackupInput is the wire format for DeleteBackup.

type DeleteBackupOutput

type DeleteBackupOutput struct {
	BackupDescription BackupDescription `json:"BackupDescription"`
}

DeleteBackupOutput is the wire format for DeleteBackup response.

type DeleteGlobalSecondaryIndexAction

type DeleteGlobalSecondaryIndexAction struct {
	IndexName string `json:"IndexName"`
}

DeleteGlobalSecondaryIndexAction removes an existing GSI.

type DeleteItemInput

type DeleteItemInput struct {
	Key                                 map[string]any            `json:"Key"`
	ExpressionAttributeNames            map[string]string         `json:"ExpressionAttributeNames,omitempty"`
	ExpressionAttributeValues           map[string]any            `json:"ExpressionAttributeValues,omitempty"`
	Expected                            map[string]LegacyExpected `json:"Expected,omitempty"`
	TableName                           string                    `json:"TableName"`
	ConditionExpression                 string                    `json:"ConditionExpression,omitempty"`
	ReturnValues                        string                    `json:"ReturnValues,omitempty"`
	ReturnConsumedCapacity              string                    `json:"ReturnConsumedCapacity,omitempty"`
	ReturnItemCollectionMetrics         string                    `json:"ReturnItemCollectionMetrics,omitempty"`
	ReturnValuesOnConditionCheckFailure string                    `json:"ReturnValuesOnConditionCheckFailure,omitempty"`
	ConditionalOperator                 string                    `json:"ConditionalOperator,omitempty"`
}

type DeleteItemOutput

type DeleteItemOutput struct {
	Attributes            map[string]any         `json:"Attributes,omitempty"`
	ConsumedCapacity      *ConsumedCapacity      `json:"ConsumedCapacity,omitempty"`
	ItemCollectionMetrics *ItemCollectionMetrics `json:"ItemCollectionMetrics,omitempty"`
}

func FromSDKDeleteItemOutput

func FromSDKDeleteItemOutput(output *dynamodb.DeleteItemOutput) *DeleteItemOutput

type DeleteReplicationGroupMemberAction

type DeleteReplicationGroupMemberAction struct {
	RegionName string `json:"RegionName"`
}

DeleteReplicationGroupMemberAction specifies the region of the replica to delete.

type DeleteRequest

type DeleteRequest struct {
	Key map[string]any `json:"Key"`
}

type DeleteTableInput

type DeleteTableInput struct {
	TableName string `json:"TableName"`
}

type DeleteTableOutput

type DeleteTableOutput struct {
	TableDescription TableDescription `json:"TableDescription"`
}

func FromSDKDeleteTableOutput

func FromSDKDeleteTableOutput(output *dynamodb.DeleteTableOutput) *DeleteTableOutput

type DeleteVectorIndexAction

type DeleteVectorIndexAction struct {
	IndexName string `json:"IndexName"`
}

DeleteVectorIndexAction mirrors types.DeleteVectorIndexAction.

type DescribeBackupInput

type DescribeBackupInput struct {
	BackupArn string `json:"BackupArn"`
}

DescribeBackupInput is the wire format for DescribeBackup.

type DescribeBackupOutput

type DescribeBackupOutput struct {
	BackupDescription BackupDescription `json:"BackupDescription"`
}

DescribeBackupOutput is the wire format for DescribeBackup response.

type DescribeTableInput

type DescribeTableInput struct {
	TableName string `json:"TableName"`
}

type DescribeTableOutput

type DescribeTableOutput struct {
	Table TableDescription `json:"Table"`
}

func FromSDKDescribeTableOutput

func FromSDKDescribeTableOutput(output *dynamodb.DescribeTableOutput) *DescribeTableOutput

type DescribeTimeToLiveInput

type DescribeTimeToLiveInput struct {
	TableName string `json:"TableName"`
}

type DescribeTimeToLiveOutput

type DescribeTimeToLiveOutput struct {
	TimeToLiveDescription TimeToLiveDescription `json:"TimeToLiveDescription"`
}

func FromSDKDescribeTimeToLiveOutput

func FromSDKDescribeTimeToLiveOutput(
	output *dynamodb.DescribeTimeToLiveOutput,
) *DescribeTimeToLiveOutput

type GetItemInput

type GetItemInput struct {
	ConsistentRead           *bool             `json:"ConsistentRead,omitempty"`
	Key                      map[string]any    `json:"Key"`
	ExpressionAttributeNames map[string]string `json:"ExpressionAttributeNames,omitempty"`
	TableName                string            `json:"TableName"`
	ProjectionExpression     string            `json:"ProjectionExpression,omitempty"`
	ReturnConsumedCapacity   string            `json:"ReturnConsumedCapacity,omitempty"`
	AttributesToGet          []string          `json:"AttributesToGet,omitempty"`
}

type GetItemOutput

type GetItemOutput struct {
	ConsumedCapacity *ConsumedCapacity `json:"ConsumedCapacity,omitempty"`
	Item             map[string]any    `json:"Item,omitempty"`
}

func FromSDKGetItemOutput

func FromSDKGetItemOutput(output *dynamodb.GetItemOutput) *GetItemOutput

type GlobalSecondaryIndex

type GlobalSecondaryIndex struct {
	ProvisionedThroughput ProvisionedThroughput `json:"ProvisionedThroughput"`
	WarmThroughput        *WarmThroughput       `json:"WarmThroughput,omitempty"`
	IndexStatusTimer      *time.Timer           `json:"-"`
	IndexName             string                `json:"IndexName"`
	IndexStatus           string                `json:"IndexStatus,omitempty"`
	Projection            Projection            `json:"Projection"`
	KeySchema             []KeySchemaElement    `json:"KeySchema"`
}

func FromSDKGlobalSecondaryIndexes

func FromSDKGlobalSecondaryIndexes(gsis []types.GlobalSecondaryIndex) []GlobalSecondaryIndex

type GlobalSecondaryIndexDescription

type GlobalSecondaryIndexDescription struct {
	WarmThroughput        *WarmThroughputDescription       `json:"WarmThroughput,omitempty"`
	IndexName             string                           `json:"IndexName"`
	IndexArn              string                           `json:"IndexArn"`
	IndexStatus           string                           `json:"IndexStatus"`
	Projection            Projection                       `json:"Projection"`
	KeySchema             []KeySchemaElement               `json:"KeySchema"`
	ProvisionedThroughput ProvisionedThroughputDescription `json:"ProvisionedThroughput"`
	ItemCount             int                              `json:"ItemCount"`
	IndexSizeBytes        int64                            `json:"IndexSizeBytes"`
	Backfilling           bool                             `json:"Backfilling,omitempty"`
}

type GlobalSecondaryIndexUpdate

type GlobalSecondaryIndexUpdate struct {
	Create *CreateGlobalSecondaryIndexAction `json:"Create,omitempty"`
	Update *UpdateGlobalSecondaryIndexAction `json:"Update,omitempty"`
	Delete *DeleteGlobalSecondaryIndexAction `json:"Delete,omitempty"`
}

GlobalSecondaryIndexUpdate describes a single GSI change.

type GlobalTableWitness

type GlobalTableWitness struct {
	RegionName    string `json:"RegionName"`
	WitnessStatus string `json:"WitnessStatus,omitempty"`
}

GlobalTableWitness is a witness Region of an MRSC global table.

type ItemCollectionMetrics

type ItemCollectionMetrics struct {
	ItemCollectionKey   map[string]any `json:"ItemCollectionKey,omitempty"`
	SizeEstimateRangeGB []float64      `json:"SizeEstimateRangeGB,omitempty"`
}

func FromSDKItemCollectionMetrics

func FromSDKItemCollectionMetrics(icm *types.ItemCollectionMetrics) *ItemCollectionMetrics

type ItemResponse

type ItemResponse struct {
	Item map[string]any `json:"Item,omitempty"`
}

type KeySchemaElement

type KeySchemaElement struct {
	AttributeName string `json:"AttributeName"`
	KeyType       string `json:"KeyType"` // "HASH" or "RANGE"
}

KeySchemaElement represents a key attribute in a table or index schema.

func FromSDKKeySchema

func FromSDKKeySchema(schema []types.KeySchemaElement) []KeySchemaElement

type KeysAndAttributes

type KeysAndAttributes struct {
	ExpressionAttributeNames map[string]string `json:"ExpressionAttributeNames,omitempty"`
	ConsistentRead           *bool             `json:"ConsistentRead,omitempty"`
	ProjectionExpression     string            `json:"ProjectionExpression,omitempty"`
	Keys                     []map[string]any  `json:"Keys"`
	AttributesToGet          []string          `json:"AttributesToGet,omitempty"`
}

type LegacyCondition added in v1.3.1

type LegacyCondition struct {
	ComparisonOperator string `json:"ComparisonOperator,omitempty"`
	AttributeValueList []any  `json:"AttributeValueList,omitempty"`
}

LegacyCondition is the wire format for one entry of the legacy KeyConditions/QueryFilter/ScanFilter parameters (pre-2013 Query/Scan API, predates KeyConditionExpression/FilterExpression). AWS SDK: types.Condition; wire keys confirmed against serializers.go (awsAwsjson10_serializeDocumentCondition).

type LegacyExpected added in v1.3.1

type LegacyExpected struct {
	Value              any    `json:"Value,omitempty"`
	Exists             *bool  `json:"Exists,omitempty"`
	ComparisonOperator string `json:"ComparisonOperator,omitempty"`
	AttributeValueList []any  `json:"AttributeValueList,omitempty"`
}

LegacyExpected is the wire format for one entry of the legacy Expected parameter (pre-2013 conditional-write API, predates ConditionExpression). AWS SDK: types.ExpectedAttributeValue; wire keys confirmed against aws-sdk-go-v2/service/dynamodb@v1.63.1/serializers.go (awsAwsjson10_serializeDocumentExpectedAttributeValue).

type LegacyUpdate added in v1.3.1

type LegacyUpdate struct {
	Value  any    `json:"Value,omitempty"`
	Action string `json:"Action,omitempty"`
}

LegacyUpdate is the wire format for one entry of the legacy AttributeUpdates parameter (pre-2013 UpdateItem API, predates UpdateExpression). AWS SDK: types.AttributeValueUpdate; wire keys confirmed against serializers.go (awsAwsjson10_serializeDocumentAttributeValueUpdate).

type ListBackupsInput

type ListBackupsInput struct {
	TimeRangeLowerBound     *float64 `json:"TimeRangeLowerBound,omitempty"`
	TimeRangeUpperBound     *float64 `json:"TimeRangeUpperBound,omitempty"`
	TableName               string   `json:"TableName,omitempty"`
	ExclusiveStartBackupArn string   `json:"ExclusiveStartBackupArn,omitempty"`
	BackupType              string   `json:"BackupType,omitempty"`
	Limit                   int      `json:"Limit,omitempty"`
}

ListBackupsInput is the wire format for ListBackups.

type ListBackupsOutput

type ListBackupsOutput struct {
	LastEvaluatedBackupArn string          `json:"LastEvaluatedBackupArn,omitempty"`
	BackupSummaries        []BackupSummary `json:"BackupSummaries"`
}

ListBackupsOutput is the wire format for ListBackups response.

type ListTablesInput

type ListTablesInput struct {
	ExclusiveStartTableName string `json:"ExclusiveStartTableName,omitempty"`
	Limit                   int    `json:"Limit"`
}

type ListTablesOutput

type ListTablesOutput struct {
	LastEvaluatedTableName string   `json:"LastEvaluatedTableName,omitempty"`
	TableNames             []string `json:"TableNames"`
}

func FromSDKListTablesOutput

func FromSDKListTablesOutput(output *dynamodb.ListTablesOutput) *ListTablesOutput

type ListTagsOfResourceInput

type ListTagsOfResourceInput struct {
	ResourceArn string `json:"ResourceArn"`
	NextToken   string `json:"NextToken,omitempty"`
}

ListTagsOfResourceInput is the wire format for ListTagsOfResource.

type ListTagsOfResourceOutput

type ListTagsOfResourceOutput struct {
	NextToken string `json:"NextToken,omitempty"`
	Tags      []Tag  `json:"Tags"`
}

ListTagsOfResourceOutput is the wire format for ListTagsOfResource response.

func FromSDKListTagsOfResourceOutput

func FromSDKListTagsOfResourceOutput(
	output *dynamodb.ListTagsOfResourceOutput,
) *ListTagsOfResourceOutput

FromSDKListTagsOfResourceOutput converts the AWS SDK output to wire format.

type LocalSecondaryIndex

type LocalSecondaryIndex struct {
	IndexName  string             `json:"IndexName"`
	KeySchema  []KeySchemaElement `json:"KeySchema"`
	Projection Projection         `json:"Projection"`
}

func FromSDKLocalSecondaryIndexes

func FromSDKLocalSecondaryIndexes(lsis []types.LocalSecondaryIndex) []LocalSecondaryIndex

type LocalSecondaryIndexDescription

type LocalSecondaryIndexDescription struct {
	IndexName      string             `json:"IndexName"`
	IndexArn       string             `json:"IndexArn"`
	KeySchema      []KeySchemaElement `json:"KeySchema"`
	Projection     Projection         `json:"Projection"`
	IndexSizeBytes int64              `json:"IndexSizeBytes"`
	ItemCount      int                `json:"ItemCount"`
}

type OnDemandThroughput added in v1.3.1

type OnDemandThroughput struct {
	MaxReadRequestUnits  *int64 `json:"MaxReadRequestUnits,omitempty"`
	MaxWriteRequestUnits *int64 `json:"MaxWriteRequestUnits,omitempty"`
}

OnDemandThroughput is the wire format for a table's on-demand max read/write request units, mirrored on CreateTableInput and UpdateTableInput.

type OnDemandThroughputOverrideWire

type OnDemandThroughputOverrideWire struct {
	MaxReadRequestUnits *int64 `json:"MaxReadRequestUnits,omitempty"`
}

OnDemandThroughputOverrideWire is types.OnDemandThroughputOverride.

type Projection

type Projection struct {
	ProjectionType   string   `json:"ProjectionType"`
	NonKeyAttributes []string `json:"NonKeyAttributes,omitempty"`
}

func FromSDKProjection

func FromSDKProjection(p *types.Projection) Projection

type ProvisionedThroughput

type ProvisionedThroughput struct {
	ReadCapacityUnits  *int64 `json:"ReadCapacityUnits"`
	WriteCapacityUnits *int64 `json:"WriteCapacityUnits"`
}

type ProvisionedThroughputDescription

type ProvisionedThroughputDescription struct {
	LastIncreaseDateTime   float64 `json:"LastIncreaseDateTime,omitempty"`
	LastDecreaseDateTime   float64 `json:"LastDecreaseDateTime,omitempty"`
	ReadCapacityUnits      int     `json:"ReadCapacityUnits"`
	WriteCapacityUnits     int     `json:"WriteCapacityUnits"`
	NumberOfDecreasesToday int64   `json:"NumberOfDecreasesToday"`
}

type ProvisionedThroughputOverrideWire

type ProvisionedThroughputOverrideWire struct {
	ReadCapacityUnits *int64 `json:"ReadCapacityUnits,omitempty"`
}

ProvisionedThroughputOverrideWire is types.ProvisionedThroughputOverride.

type PutItemInput

type PutItemInput struct {
	Item                                map[string]any            `json:"Item"`
	ExpressionAttributeNames            map[string]string         `json:"ExpressionAttributeNames,omitempty"`
	ExpressionAttributeValues           map[string]any            `json:"ExpressionAttributeValues,omitempty"`
	Expected                            map[string]LegacyExpected `json:"Expected,omitempty"`
	TableName                           string                    `json:"TableName"`
	ConditionExpression                 string                    `json:"ConditionExpression,omitempty"`
	ReturnValues                        string                    `json:"ReturnValues,omitempty"`
	ReturnConsumedCapacity              string                    `json:"ReturnConsumedCapacity,omitempty"`
	ReturnItemCollectionMetrics         string                    `json:"ReturnItemCollectionMetrics,omitempty"`
	ReturnValuesOnConditionCheckFailure string                    `json:"ReturnValuesOnConditionCheckFailure,omitempty"`
	ConditionalOperator                 string                    `json:"ConditionalOperator,omitempty"`
}

type PutItemOutput

type PutItemOutput struct {
	Attributes            map[string]any         `json:"Attributes,omitempty"`
	ConsumedCapacity      *ConsumedCapacity      `json:"ConsumedCapacity,omitempty"`
	ItemCollectionMetrics *ItemCollectionMetrics `json:"ItemCollectionMetrics,omitempty"`
}

func FromSDKPutItemOutput

func FromSDKPutItemOutput(output *dynamodb.PutItemOutput) *PutItemOutput

type PutRequest

type PutRequest struct {
	Item map[string]any `json:"Item"`
}

type QueryInput

type QueryInput struct {
	ExpressionAttributeNames  map[string]string          `json:"ExpressionAttributeNames,omitempty"`
	ExclusiveStartKey         map[string]any             `json:"ExclusiveStartKey,omitempty"`
	ScanIndexForward          *bool                      `json:"ScanIndexForward,omitempty"`
	ExpressionAttributeValues map[string]any             `json:"ExpressionAttributeValues,omitempty"`
	KeyConditions             map[string]LegacyCondition `json:"KeyConditions,omitempty"`
	QueryFilter               map[string]LegacyCondition `json:"QueryFilter,omitempty"`
	KeyConditionExpression    string                     `json:"KeyConditionExpression"`
	ProjectionExpression      string                     `json:"ProjectionExpression,omitempty"`
	ReturnConsumedCapacity    string                     `json:"ReturnConsumedCapacity,omitempty"`
	Select                    string                     `json:"Select,omitempty"`
	FilterExpression          string                     `json:"FilterExpression,omitempty"`
	IndexName                 string                     `json:"IndexName,omitempty"`
	TableName                 string                     `json:"TableName"`
	ConditionalOperator       string                     `json:"ConditionalOperator,omitempty"`
	AttributesToGet           []string                   `json:"AttributesToGet,omitempty"`
	Limit                     int32                      `json:"Limit,omitempty"`
	ConsistentRead            bool                       `json:"ConsistentRead,omitempty"`
}

type QueryOutput

type QueryOutput struct {
	LastEvaluatedKey map[string]any    `json:"LastEvaluatedKey,omitempty"`
	ConsumedCapacity *ConsumedCapacity `json:"ConsumedCapacity,omitempty"`
	Items            []map[string]any  `json:"Items,omitempty"`
	Count            int               `json:"Count"`
	ScannedCount     int               `json:"ScannedCount"`
}

func FromSDKQueryOutput

func FromSDKQueryOutput(output *dynamodb.QueryOutput) *QueryOutput

type ReplicaDescription

type ReplicaDescription struct {
	ProvisionedReadCapacityUnits *int64               `json:"ProvisionedReadCapacityUnits,omitempty"`
	OnDemandMaxReadRequestUnits  *int64               `json:"OnDemandMaxReadRequestUnits,omitempty"`
	KMSMasterKeyID               string               `json:"KMSMasterKeyId,omitempty"`
	RegionName                   string               `json:"RegionName,omitempty"`
	ReplicaArn                   string               `json:"ReplicaArn,omitempty"`
	ReplicaStatus                string               `json:"ReplicaStatus,omitempty"`
	TableClassOverride           string               `json:"TableClassOverride,omitempty"`
	GlobalSecondaryIndexes       []ReplicaGSIOverride `json:"GlobalSecondaryIndexes,omitempty"`
}

type ReplicaGSIOverride

type ReplicaGSIOverride struct {
	ProvisionedReadCapacity *int64 `json:"ProvisionedReadCapacity,omitempty"`
	IndexName               string `json:"IndexName"`
}

ReplicaGSIOverride stores per-replica read-capacity override for one GSI.

type ReplicaGSIWire

type ReplicaGSIWire struct {
	ProvisionedThroughputOverride *ProvisionedThroughputOverrideWire `json:"ProvisionedThroughputOverride,omitempty"`
	IndexName                     string                             `json:"IndexName"`
}

ReplicaGSIWire is types.ReplicaGlobalSecondaryIndexDescription.

type ReplicaUpdate

type ReplicaUpdate struct {
	Create *CreateReplicationGroupMemberAction `json:"Create,omitempty"`
	Update *UpdateReplicationGroupMemberAction `json:"Update,omitempty"`
	Delete *DeleteReplicationGroupMemberAction `json:"Delete,omitempty"`
}

ReplicaUpdate describes a create, update, or delete action for a Global Tables v2 replica.

type ReplicaWire

type ReplicaWire struct {
	OnDemandThroughputOverride    *OnDemandThroughputOverrideWire    `json:"OnDemandThroughputOverride,omitempty"`
	ProvisionedThroughputOverride *ProvisionedThroughputOverrideWire `json:"ProvisionedThroughputOverride,omitempty"`
	ReplicaTableClassSummary      *TableClassSummaryDescription      `json:"ReplicaTableClassSummary,omitempty"`
	KMSMasterKeyID                string                             `json:"KMSMasterKeyId,omitempty"`
	RegionName                    string                             `json:"RegionName,omitempty"`
	ReplicaArn                    string                             `json:"ReplicaArn,omitempty"`
	ReplicaStatus                 string                             `json:"ReplicaStatus,omitempty"`
	GlobalSecondaryIndexes        []ReplicaGSIWire                   `json:"GlobalSecondaryIndexes,omitempty"`
}

ReplicaWire is types.ReplicaDescription as it appears in TableDescription responses (SDK member names).

type RestoreTableFromBackupInput

type RestoreTableFromBackupInput struct {
	ProvisionedThroughputOverride *ProvisionedThroughput `json:"ProvisionedThroughputOverride,omitempty"`
	OnDemandThroughputOverride    *OnDemandThroughput    `json:"OnDemandThroughputOverride,omitempty"`
	SSESpecificationOverride      *SSESpecification      `json:"SSESpecificationOverride,omitempty"`
	BackupArn                     string                 `json:"BackupArn"`
	TargetTableName               string                 `json:"TargetTableName"`
	BillingModeOverride           string                 `json:"BillingModeOverride,omitempty"`
	GlobalSecondaryIndexOverride  []GlobalSecondaryIndex `json:"GlobalSecondaryIndexOverride,omitempty"`
	LocalSecondaryIndexOverride   []LocalSecondaryIndex  `json:"LocalSecondaryIndexOverride,omitempty"`
	VectorIndexOverride           []VectorIndex          `json:"VectorIndexOverride,omitempty"`
}

RestoreTableFromBackupInput is the wire format for RestoreTableFromBackup.

type RestoreTableFromBackupOutput

type RestoreTableFromBackupOutput struct {
	TableDescription TableDescription `json:"TableDescription"`
}

RestoreTableFromBackupOutput is the wire format for RestoreTableFromBackup response.

type RestoreTableToPointInTimeInput

type RestoreTableToPointInTimeInput struct {
	ProvisionedThroughputOverride *ProvisionedThroughput `json:"ProvisionedThroughputOverride,omitempty"`
	RestoreDateTime               *float64               `json:"RestoreDateTime,omitempty"`
	OnDemandThroughputOverride    *OnDemandThroughput    `json:"OnDemandThroughputOverride,omitempty"`
	SSESpecificationOverride      *SSESpecification      `json:"SSESpecificationOverride,omitempty"`
	SourceTableName               string                 `json:"SourceTableName"`
	TargetTableName               string                 `json:"TargetTableName"`
	BillingModeOverride           string                 `json:"BillingModeOverride,omitempty"`
	GlobalSecondaryIndexOverride  []GlobalSecondaryIndex `json:"GlobalSecondaryIndexOverride,omitempty"`
	LocalSecondaryIndexOverride   []LocalSecondaryIndex  `json:"LocalSecondaryIndexOverride,omitempty"`
	VectorIndexOverride           []VectorIndex          `json:"VectorIndexOverride,omitempty"`
	UseLatestRestorableTime       bool                   `json:"UseLatestRestorableTime,omitempty"`
}

RestoreTableToPointInTimeInput is the wire format for RestoreTableToPointInTime.

RestoreDateTime is a pointer to Unix epoch seconds (with optional fractional part), matching how the real aws-sdk-go-v2 awsjson1_0 protocol serializes a *time.Time via smithytime.FormatEpochSeconds -- it is emitted as a JSON number, never a JSON string. A pointer (rather than a bare float64) lets us distinguish "field omitted" from "epoch zero" (1970-01-01), which a bare zero value cannot.

type RestoreTableToPointInTimeOutput

type RestoreTableToPointInTimeOutput struct {
	TableDescription TableDescription `json:"TableDescription"`
}

RestoreTableToPointInTimeOutput is the wire format for RestoreTableToPointInTime response.

type SSEDescription

type SSEDescription struct {
	Status                         string  `json:"Status,omitempty"`
	SSEType                        string  `json:"SSEType,omitempty"`
	KMSMasterKeyArn                string  `json:"KMSMasterKeyArn,omitempty"`
	InaccessibleEncryptionDateTime float64 `json:"InaccessibleEncryptionDateTime,omitempty"`
}

type SSESpecification added in v1.3.1

type SSESpecification struct {
	Enabled        *bool  `json:"Enabled,omitempty"`
	KMSMasterKeyID string `json:"KMSMasterKeyId,omitempty"`
	SSEType        string `json:"SSEType,omitempty"`
}

SSESpecification is the wire format for a table's server-side encryption settings, mirrored on CreateTableInput and UpdateTableInput.

type ScanInput

type ScanInput struct {
	ConsistentRead            *bool                      `json:"ConsistentRead,omitempty"`
	ExclusiveStartKey         map[string]any             `json:"ExclusiveStartKey,omitempty"`
	ExpressionAttributeValues map[string]any             `json:"ExpressionAttributeValues,omitempty"`
	ExpressionAttributeNames  map[string]string          `json:"ExpressionAttributeNames,omitempty"`
	ScanFilter                map[string]LegacyCondition `json:"ScanFilter,omitempty"`
	TotalSegments             *int32                     `json:"TotalSegments,omitempty"`
	Segment                   *int32                     `json:"Segment,omitempty"`
	Limit                     *int32                     `json:"Limit,omitempty"`
	FilterExpression          string                     `json:"FilterExpression,omitempty"`
	Select                    string                     `json:"Select,omitempty"`
	ReturnConsumedCapacity    string                     `json:"ReturnConsumedCapacity,omitempty"`
	ProjectionExpression      string                     `json:"ProjectionExpression,omitempty"`
	IndexName                 string                     `json:"IndexName,omitempty"`
	TableName                 string                     `json:"TableName"`
	ConditionalOperator       string                     `json:"ConditionalOperator,omitempty"`
	AttributesToGet           []string                   `json:"AttributesToGet,omitempty"`
}

type ScanOutput

type ScanOutput struct {
	ConsumedCapacity *ConsumedCapacity `json:"ConsumedCapacity,omitempty"`
	LastEvaluatedKey map[string]any    `json:"LastEvaluatedKey,omitempty"`
	Items            []map[string]any  `json:"Items"`
	Count            int               `json:"Count"`
	ScannedCount     int               `json:"ScannedCount"`
}

func FromSDKScanOutput

func FromSDKScanOutput(output *dynamodb.ScanOutput) *ScanOutput

type SearchResultItem added in v1.3.1

type SearchResultItem struct {
	Item  map[string]any `json:"Item,omitempty"`
	Score float64        `json:"Score"`
}

SearchResultItem mirrors types.SearchResultItem.

type SearchSchemaElement

type SearchSchemaElement struct {
	AttributeName           string `json:"AttributeName"`
	SearchSchemaElementType string `json:"SearchSchemaElementType"`
}

SearchSchemaElement mirrors types.SearchSchemaElement.

type SearchVectorsInput added in v1.3.1

type SearchVectorsInput struct {
	ExpressionAttributeNames  map[string]string `json:"ExpressionAttributeNames,omitempty"`
	ExpressionAttributeValues map[string]any    `json:"ExpressionAttributeValues,omitempty"`
	TopK                      *int32            `json:"TopK"`
	TableName                 string            `json:"TableName"`
	IndexName                 string            `json:"IndexName"`
	ProjectionExpression      string            `json:"ProjectionExpression,omitempty"`
	SearchConditionExpression string            `json:"SearchConditionExpression,omitempty"`
	ReturnConsumedCapacity    string            `json:"ReturnConsumedCapacity,omitempty"`
	SearchVector              []any             `json:"SearchVector"`
}

SearchVectorsInput mirrors dynamodb.SearchVectorsInput. SearchVector's elements are wire-format AttributeValue objects (e.g. {"N": "0.5"}), same convention as ExpressionAttributeValues' map values.

type SearchVectorsOutput added in v1.3.1

type SearchVectorsOutput struct {
	ConsumedCapacity *VectorCapacity    `json:"ConsumedCapacity,omitempty"`
	SearchResults    []SearchResultItem `json:"SearchResults,omitempty"`
}

func FromSDKSearchVectorsOutput added in v1.3.1

func FromSDKSearchVectorsOutput(output *dynamodb.SearchVectorsOutput) *SearchVectorsOutput

FromSDKSearchVectorsOutput converts the SDK SearchVectorsOutput to its wire form. SearchVectors always errors before producing output today (see search_vectors.go), but this is implemented fully for when that changes.

type SourceTableDetails

type SourceTableDetails struct {
	ProvisionedThroughput ProvisionedThroughput `json:"ProvisionedThroughput"`
	TableName             string                `json:"TableName"`
	TableArn              string                `json:"TableArn,omitempty"`
	TableID               string                `json:"TableId,omitempty"`
	KeySchema             []KeySchemaElement    `json:"KeySchema"`
	TableCreationDateTime float64               `json:"TableCreationDateTime"`
	ItemCount             int64                 `json:"ItemCount,omitempty"`
}

SourceTableDetails describes the source table at backup creation time.

TableCreationDateTime is Unix epoch seconds, matching how the real aws-sdk-go-v2 awsjson1_0 protocol serializes a *time.Time (see BackupDetails.BackupCreationDateTime above).

type StreamRecord

type StreamRecord struct {
	OldImage                    map[string]any `json:"oldImage,omitempty"`
	NewImage                    map[string]any `json:"newImage,omitempty"`
	Keys                        map[string]any `json:"keys,omitempty"`
	EventID                     string         `json:"eventID"`
	EventName                   string         `json:"eventName"`
	SequenceNumber              string         `json:"sequenceNumber"`
	StreamViewType              string         `json:"streamViewType,omitempty"`
	UserIdentityPrincipalID     string         `json:"userIdentityPrincipalId,omitempty"`
	UserIdentityType            string         `json:"userIdentityType,omitempty"`
	ApproximateCreationDateTime int64          `json:"approximateCreationDateTime"`
	ExpireAt                    int64          `json:"expireAt,omitempty"`
	SizeBytes                   int64          `json:"sizeBytes,omitempty"`
}

type StreamSpecificationInput

type StreamSpecificationInput struct {
	StreamViewType string `json:"StreamViewType,omitempty"`
	StreamEnabled  bool   `json:"StreamEnabled"`
}

StreamSpecificationInput is the stream spec used in UpdateTable requests.

type TableClassSummaryDescription added in v1.3.1

type TableClassSummaryDescription struct {
	TableClass string `json:"TableClass,omitempty"`
}

TableClassSummaryDescription is the wire format for TableDescription's TableClassSummary member.

type TableDescription

type TableDescription struct {
	ProvisionedThroughput     *ProvisionedThroughputDescription `json:"ProvisionedThroughput,omitempty"`
	StreamSpecification       *StreamSpecificationInput         `json:"StreamSpecification,omitempty"`
	BillingModeSummary        *BillingModeSummaryDescription    `json:"BillingModeSummary,omitempty"`
	SSEDescription            *SSEDescription                   `json:"SSEDescription,omitempty"`
	OnDemandThroughput        *OnDemandThroughput               `json:"OnDemandThroughput,omitempty"`
	WarmThroughput            *WarmThroughputDescription        `json:"WarmThroughput,omitempty"`
	TableClassSummary         *TableClassSummaryDescription     `json:"TableClassSummary,omitempty"`
	LatestStreamArn           string                            `json:"LatestStreamArn,omitempty"`
	TableStatus               string                            `json:"TableStatus"`
	TableArn                  string                            `json:"TableArn,omitempty"`
	TableID                   string                            `json:"TableId,omitempty"`
	TableName                 string                            `json:"TableName"`
	LatestStreamLabel         string                            `json:"LatestStreamLabel,omitempty"`
	GlobalTableVersion        string                            `json:"GlobalTableVersion,omitempty"`
	MultiRegionConsistency    string                            `json:"MultiRegionConsistency,omitempty"`
	GlobalSecondaryIndexes    []GlobalSecondaryIndexDescription `json:"GlobalSecondaryIndexes,omitempty"`
	AttributeDefinitions      []AttributeDefinition             `json:"AttributeDefinitions"`
	LocalSecondaryIndexes     []LocalSecondaryIndexDescription  `json:"LocalSecondaryIndexes,omitempty"`
	Replicas                  []ReplicaWire                     `json:"Replicas,omitempty"`
	GlobalTableWitnesses      []GlobalTableWitness              `json:"GlobalTableWitnesses,omitempty"`
	VectorIndexes             []VectorIndexDescription          `json:"VectorIndexes,omitempty"`
	KeySchema                 []KeySchemaElement                `json:"KeySchema"`
	CreationDateTime          float64                           `json:"CreationDateTime,omitempty"`
	TableSizeBytes            int64                             `json:"TableSizeBytes"`
	ItemCount                 int                               `json:"ItemCount"`
	DeletionProtectionEnabled bool                              `json:"DeletionProtectionEnabled,omitempty"`
}

func FromSDKTableDescription

func FromSDKTableDescription(td *types.TableDescription) TableDescription

type Tag

type Tag struct {
	Key   string `json:"Key"`
	Value string `json:"Value"`
}

Tag is a key-value pair attached to a DynamoDB resource.

type TagResourceInput

type TagResourceInput struct {
	ResourceArn string `json:"ResourceArn"`
	Tags        []Tag  `json:"Tags"`
}

TagResourceInput is the wire format for TagResource.

type TagResourceOutput

type TagResourceOutput struct{}

TagResourceOutput is the wire format for TagResource response (empty body).

func FromSDKTagResourceOutput

func FromSDKTagResourceOutput(_ *dynamodb.TagResourceOutput) *TagResourceOutput

FromSDKTagResourceOutput converts the AWS SDK TagResourceOutput to wire format.

type TimeToLiveDescription

type TimeToLiveDescription struct {
	AttributeName    string `json:"AttributeName,omitempty"`
	TimeToLiveStatus string `json:"TimeToLiveStatus"` // "ENABLED" or "DISABLED"
}

type TimeToLiveSpecification

type TimeToLiveSpecification struct {
	AttributeName string `json:"AttributeName"`
	Enabled       bool   `json:"Enabled"`
}

type TransactGetItem

type TransactGetItem struct {
	Get *GetItemInput `json:"Get"`
}

type TransactGetItemsInput

type TransactGetItemsInput struct {
	ReturnConsumedCapacity string            `json:"ReturnConsumedCapacity,omitempty"`
	TransactItems          []TransactGetItem `json:"TransactItems"`
}

type TransactGetItemsOutput

type TransactGetItemsOutput struct {
	ConsumedCapacity []ConsumedCapacity `json:"ConsumedCapacity,omitempty"`
	Responses        []ItemResponse     `json:"Responses"`
}

func FromSDKTransactGetItemsOutput

func FromSDKTransactGetItemsOutput(
	output *dynamodb.TransactGetItemsOutput,
) *TransactGetItemsOutput

type TransactWriteItem

type TransactWriteItem struct {
	Put            *PutItemInput        `json:"Put,omitempty"`
	Delete         *DeleteItemInput     `json:"Delete,omitempty"`
	Update         *UpdateItemInput     `json:"Update,omitempty"`
	ConditionCheck *ConditionCheckInput `json:"ConditionCheck,omitempty"`
}

type TransactWriteItemsInput

type TransactWriteItemsInput struct {
	ReturnConsumedCapacity      string              `json:"ReturnConsumedCapacity,omitempty"`
	ReturnItemCollectionMetrics string              `json:"ReturnItemCollectionMetrics,omitempty"`
	ClientRequestToken          string              `json:"ClientRequestToken,omitempty"`
	TransactItems               []TransactWriteItem `json:"TransactItems"`
}

type TransactWriteItemsOutput

type TransactWriteItemsOutput struct {
	ItemCollectionMetrics map[string][]ItemCollectionMetrics `json:"ItemCollectionMetrics,omitempty"`
	ConsumedCapacity      []ConsumedCapacity                 `json:"ConsumedCapacity,omitempty"`
}

func FromSDKTransactWriteItemsOutput

func FromSDKTransactWriteItemsOutput(
	output *dynamodb.TransactWriteItemsOutput,
) *TransactWriteItemsOutput

type UntagResourceInput

type UntagResourceInput struct {
	ResourceArn string   `json:"ResourceArn"`
	TagKeys     []string `json:"TagKeys"`
}

UntagResourceInput is the wire format for UntagResource.

type UntagResourceOutput

type UntagResourceOutput struct{}

UntagResourceOutput is the wire format for UntagResource response (empty body).

func FromSDKUntagResourceOutput

func FromSDKUntagResourceOutput(_ *dynamodb.UntagResourceOutput) *UntagResourceOutput

FromSDKUntagResourceOutput converts the AWS SDK UntagResourceOutput to wire format.

type UpdateGlobalSecondaryIndexAction

type UpdateGlobalSecondaryIndexAction struct {
	ProvisionedThroughput *ProvisionedThroughput `json:"ProvisionedThroughput,omitempty"`
	WarmThroughput        *WarmThroughput        `json:"WarmThroughput,omitempty"`
	IndexName             string                 `json:"IndexName"`
}

UpdateGlobalSecondaryIndexAction updates the throughput of an existing GSI.

type UpdateItemInput

type UpdateItemInput struct {
	ExpressionAttributeValues           map[string]any            `json:"ExpressionAttributeValues,omitempty"`
	Key                                 map[string]any            `json:"Key"`
	Expected                            map[string]LegacyExpected `json:"Expected,omitempty"`
	AttributeUpdates                    map[string]LegacyUpdate   `json:"AttributeUpdates,omitempty"`
	ExpressionAttributeNames            map[string]string         `json:"ExpressionAttributeNames,omitempty"`
	ReturnValues                        string                    `json:"ReturnValues,omitempty"`
	TableName                           string                    `json:"TableName"`
	ReturnConsumedCapacity              string                    `json:"ReturnConsumedCapacity,omitempty"`
	ReturnItemCollectionMetrics         string                    `json:"ReturnItemCollectionMetrics,omitempty"`
	ReturnValuesOnConditionCheckFailure string                    `json:"ReturnValuesOnConditionCheckFailure,omitempty"`
	ConditionalOperator                 string                    `json:"ConditionalOperator,omitempty"`
	ConditionExpression                 string                    `json:"ConditionExpression,omitempty"`
	UpdateExpression                    string                    `json:"UpdateExpression,omitempty"`
}

type UpdateItemOutput

type UpdateItemOutput struct {
	Attributes            map[string]any         `json:"Attributes,omitempty"`
	ConsumedCapacity      *ConsumedCapacity      `json:"ConsumedCapacity,omitempty"`
	ItemCollectionMetrics *ItemCollectionMetrics `json:"ItemCollectionMetrics,omitempty"`
}

func FromSDKUpdateItemOutput

func FromSDKUpdateItemOutput(output *dynamodb.UpdateItemOutput) *UpdateItemOutput

type UpdateReplicationGroupMemberAction

type UpdateReplicationGroupMemberAction struct {
	ProvisionedThroughputOverride *ProvisionedThroughputOverrideWire `json:"ProvisionedThroughputOverride,omitempty"`
	OnDemandThroughputOverride    *OnDemandThroughputOverrideWire    `json:"OnDemandThroughputOverride,omitempty"`
	KMSMasterKeyID                *string                            `json:"KMSMasterKeyId,omitempty"`
	RegionName                    string                             `json:"RegionName"`
	TableClassOverride            string                             `json:"TableClassOverride,omitempty"`
	GlobalSecondaryIndexes        []ReplicaGSIWire                   `json:"GlobalSecondaryIndexes,omitempty"`
}

UpdateReplicationGroupMemberAction specifies per-replica setting overrides.

type UpdateTableInput

type UpdateTableInput struct {
	ProvisionedThroughput       *ProvisionedThroughput       `json:"ProvisionedThroughput,omitempty"`
	WarmThroughput              *WarmThroughput              `json:"WarmThroughput,omitempty"`
	StreamSpecification         *StreamSpecificationInput    `json:"StreamSpecification,omitempty"`
	SSESpecification            *SSESpecification            `json:"SSESpecification,omitempty"`
	DeletionProtectionEnabled   *bool                        `json:"DeletionProtectionEnabled,omitempty"`
	TableName                   string                       `json:"TableName"`
	BillingMode                 string                       `json:"BillingMode,omitempty"`
	TableClass                  string                       `json:"TableClass,omitempty"`
	MultiRegionConsistency      string                       `json:"MultiRegionConsistency,omitempty"`
	AttributeDefinitions        []AttributeDefinition        `json:"AttributeDefinitions,omitempty"`
	GlobalSecondaryIndexUpdates []GlobalSecondaryIndexUpdate `json:"GlobalSecondaryIndexUpdates,omitempty"`
	ReplicaUpdates              []ReplicaUpdate              `json:"ReplicaUpdates,omitempty"`
	GlobalTableWitnessUpdates   []WitnessUpdate              `json:"GlobalTableWitnessUpdates,omitempty"`
	VectorIndexUpdates          []VectorIndexUpdate          `json:"VectorIndexUpdates,omitempty"`
}

UpdateTableInput is the wire-format for a DynamoDB UpdateTable request.

type UpdateTableOutput

type UpdateTableOutput struct {
	TableDescription TableDescription `json:"TableDescription"`
}

UpdateTableOutput is the wire-format for a DynamoDB UpdateTable response.

func FromSDKUpdateTableOutput

func FromSDKUpdateTableOutput(output *dynamodb.UpdateTableOutput) *UpdateTableOutput

FromSDKUpdateTableOutput converts the AWS SDK UpdateTableOutput to wire format.

type UpdateTimeToLiveInput

type UpdateTimeToLiveInput struct {
	TableName               string                  `json:"TableName"`
	TimeToLiveSpecification TimeToLiveSpecification `json:"TimeToLiveSpecification"`
}

type UpdateTimeToLiveOutput

type UpdateTimeToLiveOutput struct {
	TimeToLiveSpecification TimeToLiveSpecification `json:"TimeToLiveSpecification"`
}

func FromSDKUpdateTimeToLiveOutput

func FromSDKUpdateTimeToLiveOutput(
	output *dynamodb.UpdateTimeToLiveOutput,
) *UpdateTimeToLiveOutput

type VectorAttributeDefinition

type VectorAttributeDefinition struct {
	AttributeName string `json:"AttributeName"`
}

VectorAttributeDefinition mirrors types.VectorAttributeDefinition.

type VectorCapacity added in v1.3.1

type VectorCapacity struct {
	VectorSearchRequestBytes float64 `json:"VectorSearchRequestBytes,omitempty"`
	VectorWriteRequestBytes  float64 `json:"VectorWriteRequestBytes,omitempty"`
}

VectorCapacity mirrors types.VectorCapacity, the capacity units SearchVectors reports (distinct in shape from ConsumedCapacity).

type VectorIndex

type VectorIndex struct {
	VectorAttribute  *VectorAttributeDefinition `json:"VectorAttribute,omitempty"`
	Projection       *Projection                `json:"Projection,omitempty"`
	IndexName        string                     `json:"IndexName"`
	DistanceFunction string                     `json:"DistanceFunction"`
	SearchSchema     []SearchSchemaElement      `json:"SearchSchema,omitempty"`
	Dimensions       int64                      `json:"Dimensions"`
}

VectorIndex mirrors types.VectorIndex and types.CreateVectorIndexAction.

func FromSDKCreateVectorIndexAction

func FromSDKCreateVectorIndexAction(a *types.CreateVectorIndexAction) *VectorIndex

FromSDKCreateVectorIndexAction converts an UpdateTable create action.

func FromSDKVectorIndexes

func FromSDKVectorIndexes(in []types.VectorIndex) []VectorIndex

FromSDKVectorIndexes converts SDK vector index definitions to the wire form.

type VectorIndexDescription

type VectorIndexDescription struct {
	VectorAttribute  *VectorAttributeDefinition `json:"VectorAttribute,omitempty"`
	Projection       *Projection                `json:"Projection,omitempty"`
	IndexName        string                     `json:"IndexName"`
	IndexArn         string                     `json:"IndexArn,omitempty"`
	IndexStatus      string                     `json:"IndexStatus,omitempty"`
	DistanceFunction string                     `json:"DistanceFunction,omitempty"`
	SearchSchema     []SearchSchemaElement      `json:"SearchSchema,omitempty"`
	Dimensions       int64                      `json:"Dimensions,omitempty"`
	ItemCount        int64                      `json:"ItemCount"`
	IndexSizeBytes   int64                      `json:"IndexSizeBytes"`
	Backfilling      bool                       `json:"Backfilling"`
}

VectorIndexDescription mirrors types.VectorIndexDescription.

func FromSDKVectorIndexDescriptions

func FromSDKVectorIndexDescriptions(in []types.VectorIndexDescription) []VectorIndexDescription

FromSDKVectorIndexDescriptions converts SDK descriptions to the wire form.

type VectorIndexUpdate

type VectorIndexUpdate struct {
	Create *VectorIndex             `json:"Create,omitempty"`
	Delete *DeleteVectorIndexAction `json:"Delete,omitempty"`
}

VectorIndexUpdate mirrors types.VectorIndexUpdate.

type WarmThroughput

type WarmThroughput struct {
	ReadUnitsPerSecond  *int64 `json:"ReadUnitsPerSecond,omitempty"`
	WriteUnitsPerSecond *int64 `json:"WriteUnitsPerSecond,omitempty"`
}

WarmThroughput is the wire format for requested warm throughput on a table or global secondary index.

func FromSDKWarmThroughput

func FromSDKWarmThroughput(input *types.WarmThroughput) *WarmThroughput

FromSDKWarmThroughput converts an AWS SDK WarmThroughput to the wire format.

type WarmThroughputDescription

type WarmThroughputDescription struct {
	ReadUnitsPerSecond  *int64 `json:"ReadUnitsPerSecond,omitempty"`
	WriteUnitsPerSecond *int64 `json:"WriteUnitsPerSecond,omitempty"`
	Status              string `json:"Status,omitempty"`
}

WarmThroughputDescription is the wire format for a table's or global secondary index's WarmThroughput description.

type WitnessRegionAction

type WitnessRegionAction struct {
	RegionName string `json:"RegionName"`
}

WitnessRegionAction names the witness Region of a Create/DeleteGlobalTableWitnessGroupMemberAction.

type WitnessUpdate

type WitnessUpdate struct {
	Create *WitnessRegionAction `json:"Create,omitempty"`
	Delete *WitnessRegionAction `json:"Delete,omitempty"`
}

WitnessUpdate is one GlobalTableWitnessGroupUpdate (Create or Delete of a witness Region).

type WriteRequest

type WriteRequest struct {
	PutRequest    *PutRequest    `json:"PutRequest,omitempty"`
	DeleteRequest *DeleteRequest `json:"DeleteRequest,omitempty"`
}

Jump to

Keyboard shortcuts

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