aws-sdk-keyspaces 1.32.0 → 1.34.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1cde58b254808d8db7a1b7e65d01bf3f2a3ce44266596920881702d14574dda9
4
- data.tar.gz: 70dca8dc5e8364f6376752f21e6acd5ee2b1f162f05c2b15066f83ae44b3ebd2
3
+ metadata.gz: 621d994ce16e9c303b83dc41f28156427f101865acdf776672fcde467461b6d4
4
+ data.tar.gz: 7827fb2bbf5a54539dc6a4904e0bb884391e3ed1e3191b4410f9b149462a29ca
5
5
  SHA512:
6
- metadata.gz: ac75be7c1cdc4ac473e36c85e77f8131e865d35bf6eec00764e26c85534575895cc901ebdd12c735fff941cfed512a8c4d0b31e3fc1c2f3391af4124f364d10b
7
- data.tar.gz: 9925e8f5b4e89eccdbecb4fff9ac755fdbfc0d6e2cca78df9d6ab18ae875c2ba36164b34b2fe730079e17a8beff70c0a7a484177641ce4fffbc566901efe6b5f
6
+ metadata.gz: 4629ded579c44e5e56adc97557fd8bba25c4aa07a2e643391cf5c68284914fd1e5078a746a48961d9e7b64394ba9a60923127f89c0afceb7e3ebea84e05c2479
7
+ data.tar.gz: f31e9649474a02cebfd1a4205a7ad291667fd96f7ddfb2a9ba56bb9825a2a03dd1f615f70626208f1bd27191e90a405f3561fa1532f7ed9ec4ace19928b85bac
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.34.0 (2024-12-09)
5
+ ------------------
6
+
7
+ * Feature - Amazon Keyspaces: adding the list of IAM actions required by the UpdateKeyspace API.
8
+
9
+ 1.33.0 (2024-11-19)
10
+ ------------------
11
+
12
+ * Feature - Amazon Keyspaces Multi-Region Replication: Adds support to add new regions to multi and single-region keyspaces.
13
+
4
14
  1.32.0 (2024-10-30)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.32.0
1
+ 1.34.0
@@ -859,12 +859,16 @@ module Aws::Keyspaces
859
859
  # The `CreateType` operation creates a new user-defined type in the
860
860
  # specified keyspace.
861
861
  #
862
- # For more information, see [User-defined types (UDTs)][1] in the
862
+ # To configure the required permissions, see [Permissions to create a
863
+ # UDT][1] in the *Amazon Keyspaces Developer Guide*.
864
+ #
865
+ # For more information, see [User-defined types (UDTs)][2] in the
863
866
  # *Amazon Keyspaces Developer Guide*.
864
867
  #
865
868
  #
866
869
  #
867
- # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/udts.html
870
+ # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/configure-udt-permissions.html#udt-permissions-create
871
+ # [2]: https://docs.aws.amazon.com/keyspaces/latest/devguide/udts.html
868
872
  #
869
873
  # @option params [required, String] :keyspace_name
870
874
  # The name of the keyspace.
@@ -980,6 +984,13 @@ module Aws::Keyspaces
980
984
  # The `DeleteType` operation deletes a user-defined type (UDT). You can
981
985
  # only delete a type that is not used in a table or another UDT.
982
986
  #
987
+ # To configure the required permissions, see [Permissions to delete a
988
+ # UDT][1] in the *Amazon Keyspaces Developer Guide*.
989
+ #
990
+ #
991
+ #
992
+ # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/configure-udt-permissions.html#udt-permissions-drop
993
+ #
983
994
  # @option params [required, String] :keyspace_name
984
995
  # The name of the keyspace of the to be deleted type.
985
996
  #
@@ -1012,8 +1023,10 @@ module Aws::Keyspaces
1012
1023
  req.send_request(options)
1013
1024
  end
1014
1025
 
1015
- # Returns the name and the Amazon Resource Name (ARN) of the specified
1016
- # table.
1026
+ # Returns the name of the specified keyspace, the Amazon Resource Name
1027
+ # (ARN), the replication strategy, the Amazon Web Services Regions of a
1028
+ # multi-Region keyspace, and the status of newly added Regions after an
1029
+ # `UpdateKeyspace` operation.
1017
1030
  #
1018
1031
  # @option params [required, String] :keyspace_name
1019
1032
  # The name of the keyspace.
@@ -1024,6 +1037,7 @@ module Aws::Keyspaces
1024
1037
  # * {Types::GetKeyspaceResponse#resource_arn #resource_arn} => String
1025
1038
  # * {Types::GetKeyspaceResponse#replication_strategy #replication_strategy} => String
1026
1039
  # * {Types::GetKeyspaceResponse#replication_regions #replication_regions} => Array<String>
1040
+ # * {Types::GetKeyspaceResponse#replication_group_statuses #replication_group_statuses} => Array<Types::ReplicationGroupStatus>
1027
1041
  #
1028
1042
  # @example Request syntax with placeholder values
1029
1043
  #
@@ -1038,6 +1052,10 @@ module Aws::Keyspaces
1038
1052
  # resp.replication_strategy #=> String, one of "SINGLE_REGION", "MULTI_REGION"
1039
1053
  # resp.replication_regions #=> Array
1040
1054
  # resp.replication_regions[0] #=> String
1055
+ # resp.replication_group_statuses #=> Array
1056
+ # resp.replication_group_statuses[0].region #=> String
1057
+ # resp.replication_group_statuses[0].keyspace_status #=> String, one of "ACTIVE", "CREATING", "UPDATING", "DELETING"
1058
+ # resp.replication_group_statuses[0].tables_replication_progress #=> String
1041
1059
  #
1042
1060
  # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/GetKeyspace AWS API Documentation
1043
1061
  #
@@ -1229,7 +1247,13 @@ module Aws::Keyspaces
1229
1247
  # type is used in other types and tables.
1230
1248
  #
1231
1249
  # To read keyspace metadata using `GetType`, the IAM principal needs
1232
- # `Select` action permissions for the system keyspace.
1250
+ # `Select` action permissions for the system keyspace. To configure the
1251
+ # required permissions, see [Permissions to view a UDT][1] in the
1252
+ # *Amazon Keyspaces Developer Guide*.
1253
+ #
1254
+ #
1255
+ #
1256
+ # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/configure-udt-permissions.html#udt-permissions-view
1233
1257
  #
1234
1258
  # @option params [required, String] :keyspace_name
1235
1259
  # The name of the keyspace that contains this type.
@@ -1435,7 +1459,13 @@ module Aws::Keyspaces
1435
1459
  # keyspace.
1436
1460
  #
1437
1461
  # To read keyspace metadata using `ListTypes`, the IAM principal needs
1438
- # `Select` action permissions for the system keyspace.
1462
+ # `Select` action permissions for the system keyspace. To configure the
1463
+ # required permissions, see [Permissions to view a UDT][1] in the
1464
+ # *Amazon Keyspaces Developer Guide*.
1465
+ #
1466
+ #
1467
+ #
1468
+ # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/configure-udt-permissions.html#udt-permissions-view
1439
1469
  #
1440
1470
  # @option params [String] :next_token
1441
1471
  # The pagination token. To resume pagination, provide the `NextToken`
@@ -1799,6 +1829,125 @@ module Aws::Keyspaces
1799
1829
  req.send_request(options)
1800
1830
  end
1801
1831
 
1832
+ # Adds a new Amazon Web Services Region to the keyspace. You can add a
1833
+ # new Region to a keyspace that is either a single or a multi-Region
1834
+ # keyspace. Amazon Keyspaces is going to replicate all tables in the
1835
+ # keyspace to the new Region. To successfully replicate all tables to
1836
+ # the new Region, they must use client-side timestamps for conflict
1837
+ # resolution. To enable client-side timestamps, specify
1838
+ # `clientSideTimestamps.status = enabled` when invoking the API. For
1839
+ # more information about client-side timestamps, see [Client-side
1840
+ # timestamps in Amazon Keyspaces][1] in the *Amazon Keyspaces Developer
1841
+ # Guide*.
1842
+ #
1843
+ # To add a Region to a keyspace using the `UpdateKeyspace` API, the IAM
1844
+ # principal needs permissions for the following IAM actions:
1845
+ #
1846
+ # * `cassandra:Alter`
1847
+ #
1848
+ # * `cassandra:AlterMultiRegionResource`
1849
+ #
1850
+ # * `cassandra:Create`
1851
+ #
1852
+ # * `cassandra:CreateMultiRegionResource`
1853
+ #
1854
+ # * `cassandra:Select`
1855
+ #
1856
+ # * `cassandra:SelectMultiRegionResource`
1857
+ #
1858
+ # * `cassandra:Modify`
1859
+ #
1860
+ # * `cassandra:ModifyMultiRegionResource`
1861
+ #
1862
+ # If the keyspace contains a table that is configured in provisioned
1863
+ # mode with auto scaling enabled, the following additional IAM actions
1864
+ # need to be allowed.
1865
+ #
1866
+ # * `application-autoscaling:RegisterScalableTarget`
1867
+ #
1868
+ # * `application-autoscaling:DeregisterScalableTarget`
1869
+ #
1870
+ # * `application-autoscaling:DescribeScalableTargets`
1871
+ #
1872
+ # * `application-autoscaling:PutScalingPolicy`
1873
+ #
1874
+ # * `application-autoscaling:DescribeScalingPolicies`
1875
+ #
1876
+ # To use the `UpdateKeyspace` API, the IAM principal also needs
1877
+ # permissions to create a service-linked role with the following
1878
+ # elements:
1879
+ #
1880
+ # * `iam:CreateServiceLinkedRole` - The **action** the principal can
1881
+ # perform.
1882
+ #
1883
+ # * `arn:aws:iam::*:role/aws-service-role/replication.cassandra.amazonaws.com/AWSServiceRoleForKeyspacesReplication`
1884
+ # - The **resource** that the action can be performed on.
1885
+ #
1886
+ # * `iam:AWSServiceName: replication.cassandra.amazonaws.com` - The only
1887
+ # Amazon Web Services service that this role can be attached to is
1888
+ # Amazon Keyspaces.
1889
+ #
1890
+ # For more information, see [Configure the IAM permissions required to
1891
+ # add an Amazon Web Services Region to a keyspace][2] in the *Amazon
1892
+ # Keyspaces Developer Guide*.
1893
+ #
1894
+ #
1895
+ #
1896
+ # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/client-side-timestamps.html
1897
+ # [2]: https://docs.aws.amazon.com/keyspaces/latest/devguide/howitworks_replication_permissions_addReplica.html
1898
+ #
1899
+ # @option params [required, String] :keyspace_name
1900
+ # The name of the keyspace.
1901
+ #
1902
+ # @option params [required, Types::ReplicationSpecification] :replication_specification
1903
+ # The replication specification of the keyspace includes:
1904
+ #
1905
+ # * `regionList` - up to six Amazon Web Services Regions where the
1906
+ # keyspace is replicated in.
1907
+ #
1908
+ # * `replicationStrategy` - the required value is `SINGLE_REGION` or
1909
+ # `MULTI_REGION`.
1910
+ #
1911
+ # @option params [Types::ClientSideTimestamps] :client_side_timestamps
1912
+ # The client-side timestamp setting of the table.
1913
+ #
1914
+ # For more information, see [How it works: Amazon Keyspaces client-side
1915
+ # timestamps][1] in the *Amazon Keyspaces Developer Guide*.
1916
+ #
1917
+ #
1918
+ #
1919
+ # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/client-side-timestamps-how-it-works.html
1920
+ #
1921
+ # @return [Types::UpdateKeyspaceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1922
+ #
1923
+ # * {Types::UpdateKeyspaceResponse#resource_arn #resource_arn} => String
1924
+ #
1925
+ # @example Request syntax with placeholder values
1926
+ #
1927
+ # resp = client.update_keyspace({
1928
+ # keyspace_name: "KeyspaceName", # required
1929
+ # replication_specification: { # required
1930
+ # replication_strategy: "SINGLE_REGION", # required, accepts SINGLE_REGION, MULTI_REGION
1931
+ # region_list: ["region"],
1932
+ # },
1933
+ # client_side_timestamps: {
1934
+ # status: "ENABLED", # required, accepts ENABLED
1935
+ # },
1936
+ # })
1937
+ #
1938
+ # @example Response structure
1939
+ #
1940
+ # resp.resource_arn #=> String
1941
+ #
1942
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/UpdateKeyspace AWS API Documentation
1943
+ #
1944
+ # @overload update_keyspace(params = {})
1945
+ # @param [Hash] params ({})
1946
+ def update_keyspace(params = {}, options = {})
1947
+ req = build_request(:update_keyspace, params)
1948
+ req.send_request(options)
1949
+ end
1950
+
1802
1951
  # Adds new columns to the table or updates one of the table's settings,
1803
1952
  # for example capacity mode, auto scaling, encryption, point-in-time
1804
1953
  # recovery, or ttl settings. Note that you can only update one specific
@@ -2054,7 +2203,7 @@ module Aws::Keyspaces
2054
2203
  tracer: tracer
2055
2204
  )
2056
2205
  context[:gem_name] = 'aws-sdk-keyspaces'
2057
- context[:gem_version] = '1.32.0'
2206
+ context[:gem_version] = '1.34.0'
2058
2207
  Seahorse::Client::Request.new(handlers, context)
2059
2208
  end
2060
2209
 
@@ -63,6 +63,7 @@ module Aws::Keyspaces
63
63
  IntegerObject = Shapes::IntegerShape.new(name: 'IntegerObject')
64
64
  InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
65
65
  KeyspaceName = Shapes::StringShape.new(name: 'KeyspaceName')
66
+ KeyspaceStatus = Shapes::StringShape.new(name: 'KeyspaceStatus')
66
67
  KeyspaceSummary = Shapes::StructureShape.new(name: 'KeyspaceSummary')
67
68
  KeyspaceSummaryList = Shapes::ListShape.new(name: 'KeyspaceSummaryList')
68
69
  ListKeyspacesRequest = Shapes::StructureShape.new(name: 'ListKeyspacesRequest')
@@ -87,6 +88,8 @@ module Aws::Keyspaces
87
88
  ReplicaSpecificationList = Shapes::ListShape.new(name: 'ReplicaSpecificationList')
88
89
  ReplicaSpecificationSummary = Shapes::StructureShape.new(name: 'ReplicaSpecificationSummary')
89
90
  ReplicaSpecificationSummaryList = Shapes::ListShape.new(name: 'ReplicaSpecificationSummaryList')
91
+ ReplicationGroupStatus = Shapes::StructureShape.new(name: 'ReplicationGroupStatus')
92
+ ReplicationGroupStatusList = Shapes::ListShape.new(name: 'ReplicationGroupStatusList')
90
93
  ReplicationSpecification = Shapes::StructureShape.new(name: 'ReplicationSpecification')
91
94
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
92
95
  RestoreTableRequest = Shapes::StructureShape.new(name: 'RestoreTableRequest')
@@ -102,6 +105,7 @@ module Aws::Keyspaces
102
105
  TableStatus = Shapes::StringShape.new(name: 'TableStatus')
103
106
  TableSummary = Shapes::StructureShape.new(name: 'TableSummary')
104
107
  TableSummaryList = Shapes::ListShape.new(name: 'TableSummaryList')
108
+ TablesReplicationProgress = Shapes::StringShape.new(name: 'TablesReplicationProgress')
105
109
  Tag = Shapes::StructureShape.new(name: 'Tag')
106
110
  TagKey = Shapes::StringShape.new(name: 'TagKey')
107
111
  TagList = Shapes::ListShape.new(name: 'TagList')
@@ -118,6 +122,8 @@ module Aws::Keyspaces
118
122
  TypeStatus = Shapes::StringShape.new(name: 'TypeStatus')
119
123
  UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
120
124
  UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
125
+ UpdateKeyspaceRequest = Shapes::StructureShape.new(name: 'UpdateKeyspaceRequest')
126
+ UpdateKeyspaceResponse = Shapes::StructureShape.new(name: 'UpdateKeyspaceResponse')
121
127
  UpdateTableRequest = Shapes::StructureShape.new(name: 'UpdateTableRequest')
122
128
  UpdateTableResponse = Shapes::StructureShape.new(name: 'UpdateTableResponse')
123
129
  ValidationException = Shapes::StructureShape.new(name: 'ValidationException')
@@ -244,6 +250,7 @@ module Aws::Keyspaces
244
250
  GetKeyspaceResponse.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "resourceArn"))
245
251
  GetKeyspaceResponse.add_member(:replication_strategy, Shapes::ShapeRef.new(shape: rs, required: true, location_name: "replicationStrategy"))
246
252
  GetKeyspaceResponse.add_member(:replication_regions, Shapes::ShapeRef.new(shape: RegionList, location_name: "replicationRegions"))
253
+ GetKeyspaceResponse.add_member(:replication_group_statuses, Shapes::ShapeRef.new(shape: ReplicationGroupStatusList, location_name: "replicationGroupStatuses"))
247
254
  GetKeyspaceResponse.struct_class = Types::GetKeyspaceResponse
248
255
 
249
256
  GetTableAutoScalingSettingsRequest.add_member(:keyspace_name, Shapes::ShapeRef.new(shape: KeyspaceName, required: true, location_name: "keyspaceName"))
@@ -372,6 +379,13 @@ module Aws::Keyspaces
372
379
 
373
380
  ReplicaSpecificationSummaryList.member = Shapes::ShapeRef.new(shape: ReplicaSpecificationSummary)
374
381
 
382
+ ReplicationGroupStatus.add_member(:region, Shapes::ShapeRef.new(shape: region, required: true, location_name: "region"))
383
+ ReplicationGroupStatus.add_member(:keyspace_status, Shapes::ShapeRef.new(shape: KeyspaceStatus, required: true, location_name: "keyspaceStatus"))
384
+ ReplicationGroupStatus.add_member(:tables_replication_progress, Shapes::ShapeRef.new(shape: TablesReplicationProgress, location_name: "tablesReplicationProgress"))
385
+ ReplicationGroupStatus.struct_class = Types::ReplicationGroupStatus
386
+
387
+ ReplicationGroupStatusList.member = Shapes::ShapeRef.new(shape: ReplicationGroupStatus)
388
+
375
389
  ReplicationSpecification.add_member(:replication_strategy, Shapes::ShapeRef.new(shape: rs, required: true, location_name: "replicationStrategy"))
376
390
  ReplicationSpecification.add_member(:region_list, Shapes::ShapeRef.new(shape: RegionList, location_name: "regionList"))
377
391
  ReplicationSpecification.struct_class = Types::ReplicationSpecification
@@ -448,6 +462,14 @@ module Aws::Keyspaces
448
462
 
449
463
  UntagResourceResponse.struct_class = Types::UntagResourceResponse
450
464
 
465
+ UpdateKeyspaceRequest.add_member(:keyspace_name, Shapes::ShapeRef.new(shape: KeyspaceName, required: true, location_name: "keyspaceName"))
466
+ UpdateKeyspaceRequest.add_member(:replication_specification, Shapes::ShapeRef.new(shape: ReplicationSpecification, required: true, location_name: "replicationSpecification"))
467
+ UpdateKeyspaceRequest.add_member(:client_side_timestamps, Shapes::ShapeRef.new(shape: ClientSideTimestamps, location_name: "clientSideTimestamps"))
468
+ UpdateKeyspaceRequest.struct_class = Types::UpdateKeyspaceRequest
469
+
470
+ UpdateKeyspaceResponse.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "resourceArn"))
471
+ UpdateKeyspaceResponse.struct_class = Types::UpdateKeyspaceResponse
472
+
451
473
  UpdateTableRequest.add_member(:keyspace_name, Shapes::ShapeRef.new(shape: KeyspaceName, required: true, location_name: "keyspaceName"))
452
474
  UpdateTableRequest.add_member(:table_name, Shapes::ShapeRef.new(shape: TableName, required: true, location_name: "tableName"))
453
475
  UpdateTableRequest.add_member(:add_columns, Shapes::ShapeRef.new(shape: ColumnDefinitionList, location_name: "addColumns"))
@@ -741,6 +763,20 @@ module Aws::Keyspaces
741
763
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
742
764
  end)
743
765
 
766
+ api.add_operation(:update_keyspace, Seahorse::Model::Operation.new.tap do |o|
767
+ o.name = "UpdateKeyspace"
768
+ o.http_method = "POST"
769
+ o.http_request_uri = "/"
770
+ o.input = Shapes::ShapeRef.new(shape: UpdateKeyspaceRequest)
771
+ o.output = Shapes::ShapeRef.new(shape: UpdateKeyspaceResponse)
772
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
773
+ o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
774
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
775
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
776
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
777
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
778
+ end)
779
+
744
780
  api.add_operation(:update_table, Seahorse::Model::Operation.new.tap do |o|
745
781
  o.name = "UpdateTable"
746
782
  o.http_method = "POST"
@@ -898,13 +898,19 @@ module Aws::Keyspaces
898
898
  # list of replication Regions is returned.
899
899
  # @return [Array<String>]
900
900
  #
901
+ # @!attribute [rw] replication_group_statuses
902
+ # A list of all Regions the keyspace is replicated in after the update
903
+ # keyspace operation and their status.
904
+ # @return [Array<Types::ReplicationGroupStatus>]
905
+ #
901
906
  # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/GetKeyspaceResponse AWS API Documentation
902
907
  #
903
908
  class GetKeyspaceResponse < Struct.new(
904
909
  :keyspace_name,
905
910
  :resource_arn,
906
911
  :replication_strategy,
907
- :replication_regions)
912
+ :replication_regions,
913
+ :replication_group_statuses)
908
914
  SENSITIVE = []
909
915
  include Aws::Structure
910
916
  end
@@ -1522,6 +1528,34 @@ module Aws::Keyspaces
1522
1528
  include Aws::Structure
1523
1529
  end
1524
1530
 
1531
+ # This shows the summary status of the keyspace after a new Amazon Web
1532
+ # Services Region was added.
1533
+ #
1534
+ # @!attribute [rw] region
1535
+ # The name of the Region that was added to the keyspace.
1536
+ # @return [String]
1537
+ #
1538
+ # @!attribute [rw] keyspace_status
1539
+ # The status of the keyspace.
1540
+ # @return [String]
1541
+ #
1542
+ # @!attribute [rw] tables_replication_progress
1543
+ # This shows the replication progress of tables in the keyspace. The
1544
+ # value is expressed as a percentage of the newly replicated tables
1545
+ # with status `Active` compared to the total number of tables in the
1546
+ # keyspace.
1547
+ # @return [String]
1548
+ #
1549
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/ReplicationGroupStatus AWS API Documentation
1550
+ #
1551
+ class ReplicationGroupStatus < Struct.new(
1552
+ :region,
1553
+ :keyspace_status,
1554
+ :tables_replication_progress)
1555
+ SENSITIVE = []
1556
+ include Aws::Structure
1557
+ end
1558
+
1525
1559
  # The replication specification of the keyspace includes:
1526
1560
  #
1527
1561
  # * `regionList` - up to six Amazon Web Services Regions where the
@@ -1559,7 +1593,7 @@ module Aws::Keyspaces
1559
1593
  #
1560
1594
  # @!attribute [rw] resource_arn
1561
1595
  # The unique identifier in the format of Amazon Resource Name (ARN)
1562
- # for the resource could't be found.
1596
+ # for the resource couldn’t be found.
1563
1597
  # @return [String]
1564
1598
  #
1565
1599
  # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/ResourceNotFoundException AWS API Documentation
@@ -1956,6 +1990,55 @@ module Aws::Keyspaces
1956
1990
  #
1957
1991
  class UntagResourceResponse < Aws::EmptyStructure; end
1958
1992
 
1993
+ # @!attribute [rw] keyspace_name
1994
+ # The name of the keyspace.
1995
+ # @return [String]
1996
+ #
1997
+ # @!attribute [rw] replication_specification
1998
+ # The replication specification of the keyspace includes:
1999
+ #
2000
+ # * `regionList` - up to six Amazon Web Services Regions where the
2001
+ # keyspace is replicated in.
2002
+ #
2003
+ # * `replicationStrategy` - the required value is `SINGLE_REGION` or
2004
+ # `MULTI_REGION`.
2005
+ # @return [Types::ReplicationSpecification]
2006
+ #
2007
+ # @!attribute [rw] client_side_timestamps
2008
+ # The client-side timestamp setting of the table.
2009
+ #
2010
+ # For more information, see [How it works: Amazon Keyspaces
2011
+ # client-side timestamps][1] in the *Amazon Keyspaces Developer
2012
+ # Guide*.
2013
+ #
2014
+ #
2015
+ #
2016
+ # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/client-side-timestamps-how-it-works.html
2017
+ # @return [Types::ClientSideTimestamps]
2018
+ #
2019
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/UpdateKeyspaceRequest AWS API Documentation
2020
+ #
2021
+ class UpdateKeyspaceRequest < Struct.new(
2022
+ :keyspace_name,
2023
+ :replication_specification,
2024
+ :client_side_timestamps)
2025
+ SENSITIVE = []
2026
+ include Aws::Structure
2027
+ end
2028
+
2029
+ # @!attribute [rw] resource_arn
2030
+ # The unique identifier of the keyspace in the format of an Amazon
2031
+ # Resource Name (ARN).
2032
+ # @return [String]
2033
+ #
2034
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/UpdateKeyspaceResponse AWS API Documentation
2035
+ #
2036
+ class UpdateKeyspaceResponse < Struct.new(
2037
+ :resource_arn)
2038
+ SENSITIVE = []
2039
+ include Aws::Structure
2040
+ end
2041
+
1959
2042
  # @!attribute [rw] keyspace_name
1960
2043
  # The name of the keyspace the specified table is stored in.
1961
2044
  # @return [String]
@@ -55,7 +55,7 @@ module Aws::Keyspaces
55
55
  autoload :EndpointProvider, 'aws-sdk-keyspaces/endpoint_provider'
56
56
  autoload :Endpoints, 'aws-sdk-keyspaces/endpoints'
57
57
 
58
- GEM_VERSION = '1.32.0'
58
+ GEM_VERSION = '1.34.0'
59
59
 
60
60
  end
61
61
 
data/sig/client.rbs CHANGED
@@ -261,6 +261,7 @@ module Aws
261
261
  def resource_arn: () -> ::String
262
262
  def replication_strategy: () -> ("SINGLE_REGION" | "MULTI_REGION")
263
263
  def replication_regions: () -> ::Array[::String]
264
+ def replication_group_statuses: () -> ::Array[Types::ReplicationGroupStatus]
264
265
  end
265
266
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Keyspaces/Client.html#get_keyspace-instance_method
266
267
  def get_keyspace: (
@@ -486,6 +487,23 @@ module Aws
486
487
  ) -> _UntagResourceResponseSuccess
487
488
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UntagResourceResponseSuccess
488
489
 
490
+ interface _UpdateKeyspaceResponseSuccess
491
+ include ::Seahorse::Client::_ResponseSuccess[Types::UpdateKeyspaceResponse]
492
+ def resource_arn: () -> ::String
493
+ end
494
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Keyspaces/Client.html#update_keyspace-instance_method
495
+ def update_keyspace: (
496
+ keyspace_name: ::String,
497
+ replication_specification: {
498
+ replication_strategy: ("SINGLE_REGION" | "MULTI_REGION"),
499
+ region_list: Array[::String]?
500
+ },
501
+ ?client_side_timestamps: {
502
+ status: ("ENABLED")
503
+ }
504
+ ) -> _UpdateKeyspaceResponseSuccess
505
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UpdateKeyspaceResponseSuccess
506
+
489
507
  interface _UpdateTableResponseSuccess
490
508
  include ::Seahorse::Client::_ResponseSuccess[Types::UpdateTableResponse]
491
509
  def resource_arn: () -> ::String
data/sig/types.rbs CHANGED
@@ -172,6 +172,7 @@ module Aws::Keyspaces
172
172
  attr_accessor resource_arn: ::String
173
173
  attr_accessor replication_strategy: ("SINGLE_REGION" | "MULTI_REGION")
174
174
  attr_accessor replication_regions: ::Array[::String]
175
+ attr_accessor replication_group_statuses: ::Array[Types::ReplicationGroupStatus]
175
176
  SENSITIVE: []
176
177
  end
177
178
 
@@ -333,6 +334,13 @@ module Aws::Keyspaces
333
334
  SENSITIVE: []
334
335
  end
335
336
 
337
+ class ReplicationGroupStatus
338
+ attr_accessor region: ::String
339
+ attr_accessor keyspace_status: ("ACTIVE" | "CREATING" | "UPDATING" | "DELETING")
340
+ attr_accessor tables_replication_progress: ::String
341
+ SENSITIVE: []
342
+ end
343
+
336
344
  class ReplicationSpecification
337
345
  attr_accessor replication_strategy: ("SINGLE_REGION" | "MULTI_REGION")
338
346
  attr_accessor region_list: ::Array[::String]
@@ -427,6 +435,18 @@ module Aws::Keyspaces
427
435
  class UntagResourceResponse < Aws::EmptyStructure
428
436
  end
429
437
 
438
+ class UpdateKeyspaceRequest
439
+ attr_accessor keyspace_name: ::String
440
+ attr_accessor replication_specification: Types::ReplicationSpecification
441
+ attr_accessor client_side_timestamps: Types::ClientSideTimestamps
442
+ SENSITIVE: []
443
+ end
444
+
445
+ class UpdateKeyspaceResponse
446
+ attr_accessor resource_arn: ::String
447
+ SENSITIVE: []
448
+ end
449
+
430
450
  class UpdateTableRequest
431
451
  attr_accessor keyspace_name: ::String
432
452
  attr_accessor table_name: ::String
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-keyspaces
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.32.0
4
+ version: 1.34.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-10-30 00:00:00.000000000 Z
11
+ date: 2024-12-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core