Table of Contents

Class TableDescription

Namespace
DynaSharp.Requests
Assembly
DynaSharp.dll

The definition and state of a table. Only the commonly needed subset of what DynamoDB returns.

public sealed record TableDescription : IEquatable<TableDescription>
Inheritance
TableDescription
Implements
Inherited Members

Constructors

TableDescription()

public TableDescription()

Properties

AttributeDefinitions

Gets the types of the key attributes of the table and its indexes.

public IReadOnlyList<AttributeDefinition> AttributeDefinitions { get; init; }

Property Value

IReadOnlyList<AttributeDefinition>

BillingModeSummary

Gets the billing mode. null if DynamoDB did not report it, which it may omit for a table that always had provisioned capacity.

public BillingModeSummary? BillingModeSummary { get; init; }

Property Value

BillingModeSummary

CreationDateTime

Gets when the table was created. DynamoDB sends it with every description: null only if the response omits it.

public DateTimeOffset? CreationDateTime { get; init; }

Property Value

DateTimeOffset?

DeletionProtectionEnabled

Gets a value indicating whether the table is protected from deletion. false if DynamoDB did not say.

public bool DeletionProtectionEnabled { get; init; }

Property Value

bool

GlobalSecondaryIndexes

Gets the global secondary indexes of the table, each with its state. Empty if it has none.

public IReadOnlyList<GlobalSecondaryIndexDescription> GlobalSecondaryIndexes { get; init; }

Property Value

IReadOnlyList<GlobalSecondaryIndexDescription>

ItemCount

Gets the approximate item count. DynamoDB updates it about every six hours.

public long ItemCount { get; init; }

Property Value

long

KeySchema

Gets the primary key: the partition key, followed by the sort key if there is one.

public IReadOnlyList<KeySchemaElement> KeySchema { get; init; }

Property Value

IReadOnlyList<KeySchemaElement>

LatestStreamArn

Gets the ARN of the most recent stream of the table: the StreamArn to read it with DynamoDbStreamsClient. null for a table that never had a stream. It stays set after streams are switched off.

public string? LatestStreamArn { get; init; }

Property Value

string

LatestStreamLabel

Gets the label (a timestamp) of the most recent stream. Together with the table name it identifies the stream; the ARN ends with it. null for a table that never had a stream.

public string? LatestStreamLabel { get; init; }

Property Value

string

LocalSecondaryIndexes

Gets the local secondary indexes of the table. Empty if it has none.

public IReadOnlyList<LocalSecondaryIndexDescription> LocalSecondaryIndexes { get; init; }

Property Value

IReadOnlyList<LocalSecondaryIndexDescription>

OnDemandThroughput

Gets the maximum throughput of a table with PayPerRequest capacity, or null if DynamoDB reported none, which it does for a table without a maximum.

public OnDemandThroughput? OnDemandThroughput { get; init; }

Property Value

OnDemandThroughput

ProvisionedThroughput

Gets the capacity of the table. null if DynamoDB did not report it; a table with PayPerRequest capacity reports zero units.

public ProvisionedThroughputDescription? ProvisionedThroughput { get; init; }

Property Value

ProvisionedThroughputDescription

SSEDescription

Gets the server-side encryption with an AWS KMS key, or null for a table encrypted with the key that DynamoDB owns, the default, for which DynamoDB reports none.

public SSEDescription? SSEDescription { get; init; }

Property Value

SSEDescription

StreamSpecification

Gets the stream settings, or null for a table that never had a stream.

public StreamSpecification? StreamSpecification { get; init; }

Property Value

StreamSpecification

TableArn

Gets the table ARN. DynamoDB sends it with every description: null only if the response omits it.

public string? TableArn { get; init; }

Property Value

string

TableClass

Gets the storage class. Unspecified if DynamoDB did not report one, which it may omit for a table that always had the standard class.

public TableClass TableClass { get; init; }

Property Value

TableClass

TableName

Gets the table name. DynamoDB sends it with every description: null only if the response omits it.

public string? TableName { get; init; }

Property Value

string

TableSizeBytes

Gets the approximate table size in bytes. DynamoDB updates it about every six hours.

public long TableSizeBytes { get; init; }

Property Value

long

TableStatus

Gets the lifecycle state.

public TableStatus TableStatus { get; init; }

Property Value

TableStatus

Methods

Equals(TableDescription?)

public bool Equals(TableDescription? other)

Parameters

other TableDescription

Returns

bool

Equals(object?)

public override bool Equals(object? obj)

Parameters

obj object

Returns

bool

GetHashCode()

public override int GetHashCode()

Returns

int

ToString()

public override string ToString()

Returns

string

Operators

operator ==(TableDescription?, TableDescription?)

public static bool operator ==(TableDescription? left, TableDescription? right)

Parameters

left TableDescription
right TableDescription

Returns

bool

operator !=(TableDescription?, TableDescription?)

public static bool operator !=(TableDescription? left, TableDescription? right)

Parameters

left TableDescription
right TableDescription

Returns

bool