Class UpdateTableRequest
Changes the settings of a table: its billing mode, capacity and on-demand maximums, its stream, its global secondary indexes, its server-side
encryption, its storage class and its deletion protection (DynamoDB UpdateTable).
public sealed record UpdateTableRequest : IEquatable<UpdateTableRequest>
- Inheritance
-
UpdateTableRequest
- Implements
- Inherited Members
Remarks
Set what should change and leave the rest unset: an unset member sends nothing and keeps the current setting. DynamoDB applies
the change asynchronously. The response describes the table in the state Updating, and the table accepts
no further structural change until it is Active again; poll DescribeTable. A new global secondary
index additionally needs its own Active before it can be queried.
DynamoDB limits what one request may combine. It rejects a request that changes nothing, and in general at most one global secondary index may be created or deleted per request (an index can be updated together with other changes). Capacity can be lowered only a few times a day, and the billing mode can be switched only once every 24 hours. Settings that this request does not cover (replicas and warm throughput) are not available here.
Constructors
UpdateTableRequest()
public UpdateTableRequest()
Properties
AttributeDefinitions
Gets the types of the key attributes that the changes introduce, namely those of a new global secondary index. Define an attribute only if it is not defined already. null or empty sends nothing.
public IReadOnlyList<AttributeDefinition>? AttributeDefinitions { get; init; }
Property Value
BillingMode
Gets the new billing mode. Unspecified (the default) sends nothing. Switching to Provisioned requires ProvisionedThroughput (and one for each global secondary index); switching to PayPerRequest does not take capacity.
public BillingMode BillingMode { get; init; }
Property Value
DeletionProtectionEnabled
Gets whether the table is protected from deletion. null keeps the current setting; unlike in DeletionProtectionEnabled, false is sent, because it is how the protection is switched off.
public bool? DeletionProtectionEnabled { get; init; }
Property Value
- bool?
GlobalSecondaryIndexUpdates
Gets the changes to the global secondary indexes: create, update or delete. null or empty changes none.
public IReadOnlyList<GlobalSecondaryIndexUpdate>? GlobalSecondaryIndexUpdates { get; init; }
Property Value
OnDemandThroughput
Gets the new maximum throughput, for a table with PayPerRequest capacity or one this request switches to it.
null keeps the current maximums, and so does a member of it that is null; -1 removes a maximum.
public OnDemandThroughput? OnDemandThroughput { get; init; }
Property Value
ProvisionedThroughput
Gets the new capacity of the table, for a table with Provisioned capacity. null keeps the current capacity.
public ProvisionedThroughput? ProvisionedThroughput { get; init; }
Property Value
SSESpecification
Gets the new server-side encryption. null keeps it. Unlike in SSESpecification, Enabled is always sent: true switches to the AWS managed key, or to the customer managed key of KMSMasterKeyId, and false back to the key that DynamoDB owns. DynamoDB applies the change asynchronously, and the table stays readable and writable meanwhile.
public SSESpecification? SSESpecification { get; init; }
Property Value
StreamSpecification
Gets the new stream settings. null keeps them. To switch a stream on, set StreamEnabled and a view type; to switch it off, set only StreamEnabled to false.
public StreamSpecification? StreamSpecification { get; init; }
Property Value
TableClass
Gets the new storage class. Unspecified (the default) sends nothing and keeps the current class.
public TableClass TableClass { get; init; }
Property Value
TableName
Gets the table name (or table ARN).
public required string TableName { get; init; }
Property Value
Methods
Equals(UpdateTableRequest?)
public bool Equals(UpdateTableRequest? other)
Parameters
otherUpdateTableRequest
Returns
Equals(object?)
public override bool Equals(object? obj)
Parameters
objobject
Returns
GetHashCode()
public override int GetHashCode()
Returns
ToString()
public override string ToString()
Returns
Operators
operator ==(UpdateTableRequest?, UpdateTableRequest?)
public static bool operator ==(UpdateTableRequest? left, UpdateTableRequest? right)
Parameters
leftUpdateTableRequestrightUpdateTableRequest
Returns
operator !=(UpdateTableRequest?, UpdateTableRequest?)
public static bool operator !=(UpdateTableRequest? left, UpdateTableRequest? right)
Parameters
leftUpdateTableRequestrightUpdateTableRequest