aws-sdk-dynamodb 1.144.0 → 1.146.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -103,6 +103,7 @@ module Aws::DynamoDB
103
103
  CreateGlobalSecondaryIndexAction = Shapes::StructureShape.new(name: 'CreateGlobalSecondaryIndexAction')
104
104
  CreateGlobalTableInput = Shapes::StructureShape.new(name: 'CreateGlobalTableInput')
105
105
  CreateGlobalTableOutput = Shapes::StructureShape.new(name: 'CreateGlobalTableOutput')
106
+ CreateGlobalTableWitnessGroupMemberAction = Shapes::StructureShape.new(name: 'CreateGlobalTableWitnessGroupMemberAction')
106
107
  CreateReplicaAction = Shapes::StructureShape.new(name: 'CreateReplicaAction')
107
108
  CreateReplicationGroupMemberAction = Shapes::StructureShape.new(name: 'CreateReplicationGroupMemberAction')
108
109
  CreateTableInput = Shapes::StructureShape.new(name: 'CreateTableInput')
@@ -116,6 +117,7 @@ module Aws::DynamoDB
116
117
  DeleteBackupInput = Shapes::StructureShape.new(name: 'DeleteBackupInput')
117
118
  DeleteBackupOutput = Shapes::StructureShape.new(name: 'DeleteBackupOutput')
118
119
  DeleteGlobalSecondaryIndexAction = Shapes::StructureShape.new(name: 'DeleteGlobalSecondaryIndexAction')
120
+ DeleteGlobalTableWitnessGroupMemberAction = Shapes::StructureShape.new(name: 'DeleteGlobalTableWitnessGroupMemberAction')
119
121
  DeleteItemInput = Shapes::StructureShape.new(name: 'DeleteItemInput')
120
122
  DeleteItemOutput = Shapes::StructureShape.new(name: 'DeleteItemOutput')
121
123
  DeleteReplicaAction = Shapes::StructureShape.new(name: 'DeleteReplicaAction')
@@ -220,6 +222,10 @@ module Aws::DynamoDB
220
222
  GlobalTableList = Shapes::ListShape.new(name: 'GlobalTableList')
221
223
  GlobalTableNotFoundException = Shapes::StructureShape.new(name: 'GlobalTableNotFoundException')
222
224
  GlobalTableStatus = Shapes::StringShape.new(name: 'GlobalTableStatus')
225
+ GlobalTableWitnessDescription = Shapes::StructureShape.new(name: 'GlobalTableWitnessDescription')
226
+ GlobalTableWitnessDescriptionList = Shapes::ListShape.new(name: 'GlobalTableWitnessDescriptionList')
227
+ GlobalTableWitnessGroupUpdate = Shapes::StructureShape.new(name: 'GlobalTableWitnessGroupUpdate')
228
+ GlobalTableWitnessGroupUpdateList = Shapes::ListShape.new(name: 'GlobalTableWitnessGroupUpdateList')
223
229
  IdempotentParameterMismatchException = Shapes::StructureShape.new(name: 'IdempotentParameterMismatchException')
224
230
  ImportArn = Shapes::StringShape.new(name: 'ImportArn')
225
231
  ImportConflictException = Shapes::StructureShape.new(name: 'ImportConflictException')
@@ -486,6 +492,7 @@ module Aws::DynamoDB
486
492
  UpdateTimeToLiveInput = Shapes::StructureShape.new(name: 'UpdateTimeToLiveInput')
487
493
  UpdateTimeToLiveOutput = Shapes::StructureShape.new(name: 'UpdateTimeToLiveOutput')
488
494
  WarmThroughput = Shapes::StructureShape.new(name: 'WarmThroughput')
495
+ WitnessStatus = Shapes::StringShape.new(name: 'WitnessStatus')
489
496
  WriteRequest = Shapes::StructureShape.new(name: 'WriteRequest')
490
497
  WriteRequests = Shapes::ListShape.new(name: 'WriteRequests')
491
498
 
@@ -731,6 +738,9 @@ module Aws::DynamoDB
731
738
  CreateGlobalTableOutput.add_member(:global_table_description, Shapes::ShapeRef.new(shape: GlobalTableDescription, location_name: "GlobalTableDescription"))
732
739
  CreateGlobalTableOutput.struct_class = Types::CreateGlobalTableOutput
733
740
 
741
+ CreateGlobalTableWitnessGroupMemberAction.add_member(:region_name, Shapes::ShapeRef.new(shape: RegionName, required: true, location_name: "RegionName"))
742
+ CreateGlobalTableWitnessGroupMemberAction.struct_class = Types::CreateGlobalTableWitnessGroupMemberAction
743
+
734
744
  CreateReplicaAction.add_member(:region_name, Shapes::ShapeRef.new(shape: RegionName, required: true, location_name: "RegionName"))
735
745
  CreateReplicaAction.struct_class = Types::CreateReplicaAction
736
746
 
@@ -785,6 +795,9 @@ module Aws::DynamoDB
785
795
  DeleteGlobalSecondaryIndexAction.add_member(:index_name, Shapes::ShapeRef.new(shape: IndexName, required: true, location_name: "IndexName"))
786
796
  DeleteGlobalSecondaryIndexAction.struct_class = Types::DeleteGlobalSecondaryIndexAction
787
797
 
798
+ DeleteGlobalTableWitnessGroupMemberAction.add_member(:region_name, Shapes::ShapeRef.new(shape: RegionName, required: true, location_name: "RegionName"))
799
+ DeleteGlobalTableWitnessGroupMemberAction.struct_class = Types::DeleteGlobalTableWitnessGroupMemberAction
800
+
788
801
  DeleteItemInput.add_member(:table_name, Shapes::ShapeRef.new(shape: TableArn, required: true, location_name: "TableName", metadata: {"contextParam" => {"name" => "ResourceArn"}}))
789
802
  DeleteItemInput.add_member(:key, Shapes::ShapeRef.new(shape: Key, required: true, location_name: "Key"))
790
803
  DeleteItemInput.add_member(:expected, Shapes::ShapeRef.new(shape: ExpectedAttributeMap, location_name: "Expected"))
@@ -1126,6 +1139,18 @@ module Aws::DynamoDB
1126
1139
  GlobalTableNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
1127
1140
  GlobalTableNotFoundException.struct_class = Types::GlobalTableNotFoundException
1128
1141
 
1142
+ GlobalTableWitnessDescription.add_member(:region_name, Shapes::ShapeRef.new(shape: RegionName, location_name: "RegionName"))
1143
+ GlobalTableWitnessDescription.add_member(:witness_status, Shapes::ShapeRef.new(shape: WitnessStatus, location_name: "WitnessStatus"))
1144
+ GlobalTableWitnessDescription.struct_class = Types::GlobalTableWitnessDescription
1145
+
1146
+ GlobalTableWitnessDescriptionList.member = Shapes::ShapeRef.new(shape: GlobalTableWitnessDescription)
1147
+
1148
+ GlobalTableWitnessGroupUpdate.add_member(:create, Shapes::ShapeRef.new(shape: CreateGlobalTableWitnessGroupMemberAction, location_name: "Create"))
1149
+ GlobalTableWitnessGroupUpdate.add_member(:delete, Shapes::ShapeRef.new(shape: DeleteGlobalTableWitnessGroupMemberAction, location_name: "Delete"))
1150
+ GlobalTableWitnessGroupUpdate.struct_class = Types::GlobalTableWitnessGroupUpdate
1151
+
1152
+ GlobalTableWitnessGroupUpdateList.member = Shapes::ShapeRef.new(shape: GlobalTableWitnessGroupUpdate)
1153
+
1129
1154
  IdempotentParameterMismatchException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
1130
1155
  IdempotentParameterMismatchException.struct_class = Types::IdempotentParameterMismatchException
1131
1156
 
@@ -1766,6 +1791,7 @@ module Aws::DynamoDB
1766
1791
  TableDescription.add_member(:latest_stream_arn, Shapes::ShapeRef.new(shape: StreamArn, location_name: "LatestStreamArn"))
1767
1792
  TableDescription.add_member(:global_table_version, Shapes::ShapeRef.new(shape: String, location_name: "GlobalTableVersion"))
1768
1793
  TableDescription.add_member(:replicas, Shapes::ShapeRef.new(shape: ReplicaDescriptionList, location_name: "Replicas"))
1794
+ TableDescription.add_member(:global_table_witnesses, Shapes::ShapeRef.new(shape: GlobalTableWitnessDescriptionList, location_name: "GlobalTableWitnesses"))
1769
1795
  TableDescription.add_member(:restore_summary, Shapes::ShapeRef.new(shape: RestoreSummary, location_name: "RestoreSummary"))
1770
1796
  TableDescription.add_member(:sse_description, Shapes::ShapeRef.new(shape: SSEDescription, location_name: "SSEDescription"))
1771
1797
  TableDescription.add_member(:archival_summary, Shapes::ShapeRef.new(shape: ArchivalSummary, location_name: "ArchivalSummary"))
@@ -1958,6 +1984,7 @@ module Aws::DynamoDB
1958
1984
  UpdateTableInput.add_member(:table_class, Shapes::ShapeRef.new(shape: TableClass, location_name: "TableClass"))
1959
1985
  UpdateTableInput.add_member(:deletion_protection_enabled, Shapes::ShapeRef.new(shape: DeletionProtectionEnabled, location_name: "DeletionProtectionEnabled"))
1960
1986
  UpdateTableInput.add_member(:multi_region_consistency, Shapes::ShapeRef.new(shape: MultiRegionConsistency, location_name: "MultiRegionConsistency"))
1987
+ UpdateTableInput.add_member(:global_table_witness_updates, Shapes::ShapeRef.new(shape: GlobalTableWitnessGroupUpdateList, location_name: "GlobalTableWitnessUpdates"))
1961
1988
  UpdateTableInput.add_member(:on_demand_throughput, Shapes::ShapeRef.new(shape: OnDemandThroughput, location_name: "OnDemandThroughput"))
1962
1989
  UpdateTableInput.add_member(:warm_throughput, Shapes::ShapeRef.new(shape: WarmThroughput, location_name: "WarmThroughput"))
1963
1990
  UpdateTableInput.struct_class = Types::UpdateTableInput
@@ -2055,6 +2082,7 @@ module Aws::DynamoDB
2055
2082
  o.errors << Shapes::ShapeRef.new(shape: ItemCollectionSizeLimitExceededException)
2056
2083
  o.errors << Shapes::ShapeRef.new(shape: RequestLimitExceeded)
2057
2084
  o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
2085
+ o.errors << Shapes::ShapeRef.new(shape: ReplicatedWriteConflictException)
2058
2086
  end)
2059
2087
 
2060
2088
  api.add_operation(:create_backup, Seahorse::Model::Operation.new.tap do |o|
@@ -28,7 +28,7 @@ module Aws::DynamoDB
28
28
  if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_dual_stack, true)
29
29
  raise ArgumentError, "Invalid Configuration: Dualstack and local endpoint are not supported"
30
30
  end
31
- return Aws::Endpoints::Endpoint.new(url: "http://localhost:8000", headers: {}, properties: {"authSchemes" => [{"signingRegion" => "us-east-1", "name" => "sigv4", "signingName" => "dynamodb"}]}, metadata: { account_id_endpoint: false })
31
+ return Aws::Endpoints::Endpoint.new(url: "http://localhost:8000", headers: {}, properties: {"authSchemes" => [{"signingRegion" => "us-east-1", "signingName" => "dynamodb", "name" => "sigv4"}]}, metadata: { account_id_endpoint: false })
32
32
  end
33
33
  if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(parameters.use_dual_stack, true)
34
34
  if Aws::Endpoints::Matchers.boolean_equals?(Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"), true) && Aws::Endpoints::Matchers.boolean_equals?(Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"), true)
@@ -430,6 +430,10 @@ module Aws::DynamoDB
430
430
  def message
431
431
  @message || @data[:message]
432
432
  end
433
+
434
+ def retryable?
435
+ true
436
+ end
433
437
  end
434
438
 
435
439
  class RequestLimitExceeded < ServiceError
@@ -340,6 +340,13 @@ module Aws::DynamoDB
340
340
  data[:replicas]
341
341
  end
342
342
 
343
+ # The witness Region and its current status in the MRSC global table.
344
+ # Only one witness Region can be configured per MRSC global table.
345
+ # @return [Array<Types::GlobalTableWitnessDescription>]
346
+ def global_table_witnesses
347
+ data[:global_table_witnesses]
348
+ end
349
+
343
350
  # Contains details for the restore.
344
351
  # @return [Types::RestoreSummary]
345
352
  def restore_summary
@@ -389,23 +396,19 @@ module Aws::DynamoDB
389
396
  # Indicates one of the following consistency modes for a global table:
390
397
  #
391
398
  # * `EVENTUAL`: Indicates that the global table is configured for
392
- # multi-Region eventual consistency.
399
+ # multi-Region eventual consistency (MREC).
393
400
  #
394
401
  # * `STRONG`: Indicates that the global table is configured for
395
- # multi-Region strong consistency (preview).
396
- #
397
- # <note markdown="1"> Multi-Region strong consistency (MRSC) is a new DynamoDB global
398
- # tables capability currently available in preview mode. For more
399
- # information, see [Global tables multi-Region strong consistency][1].
400
- #
401
- # </note>
402
+ # multi-Region strong consistency (MRSC).
402
403
  #
403
404
  # If you don't specify this field, the global table consistency mode
404
- # defaults to `EVENTUAL`.
405
+ # defaults to `EVENTUAL`. For more information about global tables
406
+ # consistency modes, see [ Consistency modes][1] in DynamoDB developer
407
+ # guide.
405
408
  #
406
409
  #
407
410
  #
408
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/PreviewFeatures.html#multi-region-strong-consistency-gt
411
+ # [1]: https://docs.aws.amazon.com/V2globaltables_HowItWorks.html#V2globaltables_HowItWorks.consistency-modes
409
412
  # @return [String]
410
413
  def multi_region_consistency
411
414
  data[:multi_region_consistency]
@@ -1947,6 +1950,16 @@ module Aws::DynamoDB
1947
1950
  # table_class: "STANDARD", # accepts STANDARD, STANDARD_INFREQUENT_ACCESS
1948
1951
  # deletion_protection_enabled: false,
1949
1952
  # multi_region_consistency: "EVENTUAL", # accepts EVENTUAL, STRONG
1953
+ # global_table_witness_updates: [
1954
+ # {
1955
+ # create: {
1956
+ # region_name: "RegionName", # required
1957
+ # },
1958
+ # delete: {
1959
+ # region_name: "RegionName", # required
1960
+ # },
1961
+ # },
1962
+ # ],
1950
1963
  # on_demand_throughput: {
1951
1964
  # max_read_request_units: 1,
1952
1965
  # max_write_request_units: 1,
@@ -2019,11 +2032,6 @@ module Aws::DynamoDB
2019
2032
  # @option options [Array<Types::ReplicationGroupUpdate>] :replica_updates
2020
2033
  # A list of replica update actions (create, delete, or update) for the
2021
2034
  # table.
2022
- #
2023
- # <note markdown="1"> For global tables, this property only applies to global tables using
2024
- # Version 2019.11.21 (Current version).
2025
- #
2026
- # </note>
2027
2035
  # @option options [String] :table_class
2028
2036
  # The table class of the table to be updated. Valid values are
2029
2037
  # `STANDARD` and `STANDARD_INFREQUENT_ACCESS`.
@@ -2038,25 +2046,41 @@ module Aws::DynamoDB
2038
2046
  # You can specify one of the following consistency modes:
2039
2047
  #
2040
2048
  # * `EVENTUAL`: Configures a new global table for multi-Region eventual
2041
- # consistency. This is the default consistency mode for global tables.
2049
+ # consistency (MREC). This is the default consistency mode for global
2050
+ # tables.
2042
2051
  #
2043
2052
  # * `STRONG`: Configures a new global table for multi-Region strong
2044
- # consistency (preview).
2053
+ # consistency (MRSC).
2045
2054
  #
2046
- # <note markdown="1"> Multi-Region strong consistency (MRSC) is a new DynamoDB global
2047
- # tables capability currently available in preview mode. For more
2048
- # information, see [Global tables multi-Region strong consistency][3].
2049
- #
2050
- # </note>
2051
- #
2052
- # If you don't specify this parameter, the global table consistency
2053
- # mode defaults to `EVENTUAL`.
2055
+ # If you don't specify this field, the global table consistency mode
2056
+ # defaults to `EVENTUAL`. For more information about global tables
2057
+ # consistency modes, see [ Consistency modes][3] in DynamoDB developer
2058
+ # guide.
2054
2059
  #
2055
2060
  #
2056
2061
  #
2057
2062
  # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ReplicationGroupUpdate.html#DDB-Type-ReplicationGroupUpdate-Create
2058
2063
  # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_UpdateTable.html#DDB-UpdateTable-request-ReplicaUpdates
2059
- # [3]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/PreviewFeatures.html#multi-region-strong-consistency-gt
2064
+ # [3]: https://docs.aws.amazon.com/V2globaltables_HowItWorks.html#V2globaltables_HowItWorks.consistency-modes
2065
+ # @option options [Array<Types::GlobalTableWitnessGroupUpdate>] :global_table_witness_updates
2066
+ # A list of witness updates for a MRSC global table. A witness provides
2067
+ # a cost-effective alternative to a full replica in a MRSC global table
2068
+ # by maintaining replicated change data written to global table
2069
+ # replicas. You cannot perform read or write operations on a witness.
2070
+ # For each witness, you can request one action:
2071
+ #
2072
+ # * `Create` - add a new witness to the global table.
2073
+ #
2074
+ # * `Delete` - remove a witness from the global table.
2075
+ #
2076
+ # You can create or delete only one witness per `UpdateTable` operation.
2077
+ #
2078
+ # For more information, see [Multi-Region strong consistency (MRSC)][1]
2079
+ # in the Amazon DynamoDB Developer Guide
2080
+ #
2081
+ #
2082
+ #
2083
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_HowItWorks.html#V2globaltables_HowItWorks.consistency-modes
2060
2084
  # @option options [Types::OnDemandThroughput] :on_demand_throughput
2061
2085
  # Updates the maximum number of read and write units for the specified
2062
2086
  # table in on-demand capacity mode. If you use this parameter, you must
@@ -1774,6 +1774,33 @@ module Aws::DynamoDB
1774
1774
  include Aws::Structure
1775
1775
  end
1776
1776
 
1777
+ # Specifies the action to add a new witness Region to a MRSC global
1778
+ # table. A MRSC global table can be configured with either three
1779
+ # replicas, or with two replicas and one witness.
1780
+ #
1781
+ # @!attribute [rw] region_name
1782
+ # The Amazon Web Services Region name to be added as a witness Region
1783
+ # for the MRSC global table. The witness must be in a different Region
1784
+ # than the replicas and within the same Region set:
1785
+ #
1786
+ # * US Region set: US East (N. Virginia), US East (Ohio), US West
1787
+ # (Oregon)
1788
+ #
1789
+ # * EU Region set: Europe (Ireland), Europe (London), Europe (Paris),
1790
+ # Europe (Frankfurt)
1791
+ #
1792
+ # * AP Region set: Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia
1793
+ # Pacific (Osaka)
1794
+ # @return [String]
1795
+ #
1796
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/CreateGlobalTableWitnessGroupMemberAction AWS API Documentation
1797
+ #
1798
+ class CreateGlobalTableWitnessGroupMemberAction < Struct.new(
1799
+ :region_name)
1800
+ SENSITIVE = []
1801
+ include Aws::Structure
1802
+ end
1803
+
1777
1804
  # Represents a replica to be added.
1778
1805
  #
1779
1806
  # @!attribute [rw] region_name
@@ -2249,6 +2276,24 @@ module Aws::DynamoDB
2249
2276
  include Aws::Structure
2250
2277
  end
2251
2278
 
2279
+ # Specifies the action to remove a witness Region from a MRSC global
2280
+ # table. You cannot delete a single witness from a MRSC global table -
2281
+ # you must delete both a replica and the witness together. The deletion
2282
+ # of both a witness and replica converts the remaining replica to a
2283
+ # single-Region DynamoDB table.
2284
+ #
2285
+ # @!attribute [rw] region_name
2286
+ # The witness Region name to be removed from the MRSC global table.
2287
+ # @return [String]
2288
+ #
2289
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DeleteGlobalTableWitnessGroupMemberAction AWS API Documentation
2290
+ #
2291
+ class DeleteGlobalTableWitnessGroupMemberAction < Struct.new(
2292
+ :region_name)
2293
+ SENSITIVE = []
2294
+ include Aws::Structure
2295
+ end
2296
+
2252
2297
  # Represents the input of a `DeleteItem` operation.
2253
2298
  #
2254
2299
  # @!attribute [rw] table_name
@@ -4554,6 +4599,55 @@ module Aws::DynamoDB
4554
4599
  include Aws::Structure
4555
4600
  end
4556
4601
 
4602
+ # Represents the properties of a witness Region in a MRSC global table.
4603
+ #
4604
+ # @!attribute [rw] region_name
4605
+ # The name of the Amazon Web Services Region that serves as a witness
4606
+ # for the MRSC global table.
4607
+ # @return [String]
4608
+ #
4609
+ # @!attribute [rw] witness_status
4610
+ # The current status of the witness Region in the MRSC global table.
4611
+ # @return [String]
4612
+ #
4613
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/GlobalTableWitnessDescription AWS API Documentation
4614
+ #
4615
+ class GlobalTableWitnessDescription < Struct.new(
4616
+ :region_name,
4617
+ :witness_status)
4618
+ SENSITIVE = []
4619
+ include Aws::Structure
4620
+ end
4621
+
4622
+ # Represents one of the following:
4623
+ #
4624
+ # * A new witness to be added to a new global table.
4625
+ #
4626
+ # * An existing witness to be removed from an existing global table.
4627
+ #
4628
+ # You can configure one witness per MRSC global table.
4629
+ #
4630
+ # @!attribute [rw] create
4631
+ # Specifies a witness Region to be added to a new MRSC global table.
4632
+ # The witness must be added when creating the MRSC global table.
4633
+ # @return [Types::CreateGlobalTableWitnessGroupMemberAction]
4634
+ #
4635
+ # @!attribute [rw] delete
4636
+ # Specifies a witness Region to be removed from an existing global
4637
+ # table. Must be done in conjunction with removing a replica. The
4638
+ # deletion of both a witness and replica converts the remaining
4639
+ # replica to a single-Region DynamoDB table.
4640
+ # @return [Types::DeleteGlobalTableWitnessGroupMemberAction]
4641
+ #
4642
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/GlobalTableWitnessGroupUpdate AWS API Documentation
4643
+ #
4644
+ class GlobalTableWitnessGroupUpdate < Struct.new(
4645
+ :create,
4646
+ :delete)
4647
+ SENSITIVE = []
4648
+ include Aws::Structure
4649
+ end
4650
+
4557
4651
  # DynamoDB rejected the request because you retried a request with a
4558
4652
  # different payload but with an idempotent token that was already used.
4559
4653
  #
@@ -9002,6 +9096,11 @@ module Aws::DynamoDB
9002
9096
  # Represents replicas of the table.
9003
9097
  # @return [Array<Types::ReplicaDescription>]
9004
9098
  #
9099
+ # @!attribute [rw] global_table_witnesses
9100
+ # The witness Region and its current status in the MRSC global table.
9101
+ # Only one witness Region can be configured per MRSC global table.
9102
+ # @return [Array<Types::GlobalTableWitnessDescription>]
9103
+ #
9005
9104
  # @!attribute [rw] restore_summary
9006
9105
  # Contains details for the restore.
9007
9106
  # @return [Types::RestoreSummary]
@@ -9038,24 +9137,19 @@ module Aws::DynamoDB
9038
9137
  # Indicates one of the following consistency modes for a global table:
9039
9138
  #
9040
9139
  # * `EVENTUAL`: Indicates that the global table is configured for
9041
- # multi-Region eventual consistency.
9140
+ # multi-Region eventual consistency (MREC).
9042
9141
  #
9043
9142
  # * `STRONG`: Indicates that the global table is configured for
9044
- # multi-Region strong consistency (preview).
9045
- #
9046
- # <note markdown="1"> Multi-Region strong consistency (MRSC) is a new DynamoDB global
9047
- # tables capability currently available in preview mode. For more
9048
- # information, see [Global tables multi-Region strong
9049
- # consistency][1].
9050
- #
9051
- # </note>
9143
+ # multi-Region strong consistency (MRSC).
9052
9144
  #
9053
9145
  # If you don't specify this field, the global table consistency mode
9054
- # defaults to `EVENTUAL`.
9146
+ # defaults to `EVENTUAL`. For more information about global tables
9147
+ # consistency modes, see [ Consistency modes][1] in DynamoDB developer
9148
+ # guide.
9055
9149
  #
9056
9150
  #
9057
9151
  #
9058
- # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/PreviewFeatures.html#multi-region-strong-consistency-gt
9152
+ # [1]: https://docs.aws.amazon.com/V2globaltables_HowItWorks.html#V2globaltables_HowItWorks.consistency-modes
9059
9153
  # @return [String]
9060
9154
  #
9061
9155
  # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TableDescription AWS API Documentation
@@ -9079,6 +9173,7 @@ module Aws::DynamoDB
9079
9173
  :latest_stream_arn,
9080
9174
  :global_table_version,
9081
9175
  :replicas,
9176
+ :global_table_witnesses,
9082
9177
  :restore_summary,
9083
9178
  :sse_description,
9084
9179
  :archival_summary,
@@ -10557,11 +10652,6 @@ module Aws::DynamoDB
10557
10652
  # @!attribute [rw] replica_updates
10558
10653
  # A list of replica update actions (create, delete, or update) for the
10559
10654
  # table.
10560
- #
10561
- # <note markdown="1"> For global tables, this property only applies to global tables using
10562
- # Version 2019.11.21 (Current version).
10563
- #
10564
- # </note>
10565
10655
  # @return [Array<Types::ReplicationGroupUpdate>]
10566
10656
  #
10567
10657
  # @!attribute [rw] table_class
@@ -10583,29 +10673,46 @@ module Aws::DynamoDB
10583
10673
  # You can specify one of the following consistency modes:
10584
10674
  #
10585
10675
  # * `EVENTUAL`: Configures a new global table for multi-Region
10586
- # eventual consistency. This is the default consistency mode for
10587
- # global tables.
10676
+ # eventual consistency (MREC). This is the default consistency mode
10677
+ # for global tables.
10588
10678
  #
10589
10679
  # * `STRONG`: Configures a new global table for multi-Region strong
10590
- # consistency (preview).
10591
- #
10592
- # <note markdown="1"> Multi-Region strong consistency (MRSC) is a new DynamoDB global
10593
- # tables capability currently available in preview mode. For more
10594
- # information, see [Global tables multi-Region strong
10595
- # consistency][3].
10680
+ # consistency (MRSC).
10596
10681
  #
10597
- # </note>
10598
- #
10599
- # If you don't specify this parameter, the global table consistency
10600
- # mode defaults to `EVENTUAL`.
10682
+ # If you don't specify this field, the global table consistency mode
10683
+ # defaults to `EVENTUAL`. For more information about global tables
10684
+ # consistency modes, see [ Consistency modes][3] in DynamoDB developer
10685
+ # guide.
10601
10686
  #
10602
10687
  #
10603
10688
  #
10604
10689
  # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ReplicationGroupUpdate.html#DDB-Type-ReplicationGroupUpdate-Create
10605
10690
  # [2]: https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_UpdateTable.html#DDB-UpdateTable-request-ReplicaUpdates
10606
- # [3]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/PreviewFeatures.html#multi-region-strong-consistency-gt
10691
+ # [3]: https://docs.aws.amazon.com/V2globaltables_HowItWorks.html#V2globaltables_HowItWorks.consistency-modes
10607
10692
  # @return [String]
10608
10693
  #
10694
+ # @!attribute [rw] global_table_witness_updates
10695
+ # A list of witness updates for a MRSC global table. A witness
10696
+ # provides a cost-effective alternative to a full replica in a MRSC
10697
+ # global table by maintaining replicated change data written to global
10698
+ # table replicas. You cannot perform read or write operations on a
10699
+ # witness. For each witness, you can request one action:
10700
+ #
10701
+ # * `Create` - add a new witness to the global table.
10702
+ #
10703
+ # * `Delete` - remove a witness from the global table.
10704
+ #
10705
+ # You can create or delete only one witness per `UpdateTable`
10706
+ # operation.
10707
+ #
10708
+ # For more information, see [Multi-Region strong consistency
10709
+ # (MRSC)][1] in the Amazon DynamoDB Developer Guide
10710
+ #
10711
+ #
10712
+ #
10713
+ # [1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_HowItWorks.html#V2globaltables_HowItWorks.consistency-modes
10714
+ # @return [Array<Types::GlobalTableWitnessGroupUpdate>]
10715
+ #
10609
10716
  # @!attribute [rw] on_demand_throughput
10610
10717
  # Updates the maximum number of read and write units for the specified
10611
10718
  # table in on-demand capacity mode. If you use this parameter, you
@@ -10631,6 +10738,7 @@ module Aws::DynamoDB
10631
10738
  :table_class,
10632
10739
  :deletion_protection_enabled,
10633
10740
  :multi_region_consistency,
10741
+ :global_table_witness_updates,
10634
10742
  :on_demand_throughput,
10635
10743
  :warm_throughput)
10636
10744
  SENSITIVE = []
@@ -56,7 +56,7 @@ module Aws::DynamoDB
56
56
  autoload :Endpoints, 'aws-sdk-dynamodb/endpoints'
57
57
  autoload :Table, 'aws-sdk-dynamodb/table'
58
58
 
59
- GEM_VERSION = '1.144.0'
59
+ GEM_VERSION = '1.146.0'
60
60
 
61
61
  end
62
62
 
data/sig/client.rbs CHANGED
@@ -1409,6 +1409,16 @@ module Aws
1409
1409
  ?table_class: ("STANDARD" | "STANDARD_INFREQUENT_ACCESS"),
1410
1410
  ?deletion_protection_enabled: bool,
1411
1411
  ?multi_region_consistency: ("EVENTUAL" | "STRONG"),
1412
+ ?global_table_witness_updates: Array[
1413
+ {
1414
+ create: {
1415
+ region_name: ::String
1416
+ }?,
1417
+ delete: {
1418
+ region_name: ::String
1419
+ }?
1420
+ },
1421
+ ],
1412
1422
  ?on_demand_throughput: {
1413
1423
  max_read_request_units: ::Integer?,
1414
1424
  max_write_request_units: ::Integer?
data/sig/table.rbs CHANGED
@@ -25,7 +25,7 @@ module Aws
25
25
  def key_schema: () -> ::Array[Types::KeySchemaElement]
26
26
 
27
27
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Table.html#table_status-instance_method
28
- def table_status: () -> ("CREATING" | "UPDATING" | "DELETING" | "ACTIVE" | "INACCESSIBLE_ENCRYPTION_CREDENTIALS" | "ARCHIVING" | "ARCHIVED")
28
+ def table_status: () -> ("CREATING" | "UPDATING" | "DELETING" | "ACTIVE" | "INACCESSIBLE_ENCRYPTION_CREDENTIALS" | "ARCHIVING" | "ARCHIVED" | "REPLICATION_NOT_AUTHORIZED")
29
29
 
30
30
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Table.html#creation_date_time-instance_method
31
31
  def creation_date_time: () -> ::Time
@@ -69,6 +69,9 @@ module Aws
69
69
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Table.html#replicas-instance_method
70
70
  def replicas: () -> ::Array[Types::ReplicaDescription]
71
71
 
72
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Table.html#global_table_witnesses-instance_method
73
+ def global_table_witnesses: () -> ::Array[Types::GlobalTableWitnessDescription]
74
+
72
75
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DynamoDB/Table.html#restore_summary-instance_method
73
76
  def restore_summary: () -> Types::RestoreSummary
74
77
 
@@ -335,6 +338,16 @@ module Aws
335
338
  ?table_class: ("STANDARD" | "STANDARD_INFREQUENT_ACCESS"),
336
339
  ?deletion_protection_enabled: bool,
337
340
  ?multi_region_consistency: ("EVENTUAL" | "STRONG"),
341
+ ?global_table_witness_updates: Array[
342
+ {
343
+ create: {
344
+ region_name: ::String
345
+ }?,
346
+ delete: {
347
+ region_name: ::String
348
+ }?
349
+ },
350
+ ],
338
351
  ?on_demand_throughput: {
339
352
  max_read_request_units: ::Integer?,
340
353
  max_write_request_units: ::Integer?