aws-sdk-keyspaces 1.31.0 → 1.32.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: 0be56948f6d7449d2ea74407ac9ae8aae78418d3aa4c5e217afd2e1d49818f8a
4
- data.tar.gz: 7d75f2cfd7d89c2b39ddd5d20e3479a229c4d65dc7e86ca386b9ac232a048141
3
+ metadata.gz: 1cde58b254808d8db7a1b7e65d01bf3f2a3ce44266596920881702d14574dda9
4
+ data.tar.gz: 70dca8dc5e8364f6376752f21e6acd5ee2b1f162f05c2b15066f83ae44b3ebd2
5
5
  SHA512:
6
- metadata.gz: eedfac0e1d82dc99da70a730fba2f63615fad71b3d4526df110d23ca3c8ce9e754760d7947363c361958c49ab498189db94e59c778a27a8c29f758f788d225ec
7
- data.tar.gz: '0493d2fe28054cb06b86cec2ba50daf2e3410b8896c38885b2217f1b5970449c1b95742ba308ad9f16a2f25a32f44cae34642ebc2b2074f5206c3e58a64820b7'
6
+ metadata.gz: ac75be7c1cdc4ac473e36c85e77f8131e865d35bf6eec00764e26c85534575895cc901ebdd12c735fff941cfed512a8c4d0b31e3fc1c2f3391af4124f364d10b
7
+ data.tar.gz: 9925e8f5b4e89eccdbecb4fff9ac755fdbfc0d6e2cca78df9d6ab18ae875c2ba36164b34b2fe730079e17a8beff70c0a7a484177641ce4fffbc566901efe6b5f
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.32.0 (2024-10-30)
5
+ ------------------
6
+
7
+ * Feature - Adds support for interacting with user-defined types (UDTs) through the following new operations: Create-Type, Delete-Type, List-Types, Get-Type.
8
+
4
9
  1.31.0 (2024-10-18)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.31.0
1
+ 1.32.0
@@ -462,12 +462,12 @@ module Aws::Keyspaces
462
462
  # creation status of the new keyspace by using the `GetKeyspace`
463
463
  # operation.
464
464
  #
465
- # For more information, see [Creating keyspaces][1] in the *Amazon
465
+ # For more information, see [Create a keyspace][1] in the *Amazon
466
466
  # Keyspaces Developer Guide*.
467
467
  #
468
468
  #
469
469
  #
470
- # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/working-with-keyspaces.html#keyspaces-create
470
+ # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/getting-started.keyspaces.html
471
471
  #
472
472
  # @option params [required, String] :keyspace_name
473
473
  # The name of the keyspace to be created.
@@ -536,12 +536,12 @@ module Aws::Keyspaces
536
536
  # operation, which returns the current `status` of the table. You can
537
537
  # start using a table when the status is `ACTIVE`.
538
538
  #
539
- # For more information, see [Creating tables][1] in the *Amazon
540
- # Keyspaces Developer Guide*.
539
+ # For more information, see [Create a table][1] in the *Amazon Keyspaces
540
+ # Developer Guide*.
541
541
  #
542
542
  #
543
543
  #
544
- # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/working-with-tables.html#tables-create
544
+ # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/getting-started.tables.html
545
545
  #
546
546
  # @option params [required, String] :keyspace_name
547
547
  # The name of the keyspace that the table is going to be created in.
@@ -856,6 +856,71 @@ module Aws::Keyspaces
856
856
  req.send_request(options)
857
857
  end
858
858
 
859
+ # The `CreateType` operation creates a new user-defined type in the
860
+ # specified keyspace.
861
+ #
862
+ # For more information, see [User-defined types (UDTs)][1] in the
863
+ # *Amazon Keyspaces Developer Guide*.
864
+ #
865
+ #
866
+ #
867
+ # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/udts.html
868
+ #
869
+ # @option params [required, String] :keyspace_name
870
+ # The name of the keyspace.
871
+ #
872
+ # @option params [required, String] :type_name
873
+ # The name of the user-defined type.
874
+ #
875
+ # UDT names must contain 48 characters or less, must begin with an
876
+ # alphabetic character, and can only contain alpha-numeric characters
877
+ # and underscores. Amazon Keyspaces converts upper case characters
878
+ # automatically into lower case characters.
879
+ #
880
+ # Alternatively, you can declare a UDT name in double quotes. When
881
+ # declaring a UDT name inside double quotes, Amazon Keyspaces preserves
882
+ # upper casing and allows special characters.
883
+ #
884
+ # You can also use double quotes as part of the name when you create the
885
+ # UDT, but you must escape each double quote character with an
886
+ # additional double quote character.
887
+ #
888
+ # @option params [required, Array<Types::FieldDefinition>] :field_definitions
889
+ # The field definitions, consisting of names and types, that define this
890
+ # type.
891
+ #
892
+ # @return [Types::CreateTypeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
893
+ #
894
+ # * {Types::CreateTypeResponse#keyspace_arn #keyspace_arn} => String
895
+ # * {Types::CreateTypeResponse#type_name #type_name} => String
896
+ #
897
+ # @example Request syntax with placeholder values
898
+ #
899
+ # resp = client.create_type({
900
+ # keyspace_name: "KeyspaceName", # required
901
+ # type_name: "TypeName", # required
902
+ # field_definitions: [ # required
903
+ # {
904
+ # name: "FieldDefinitionNameString", # required
905
+ # type: "GenericString", # required
906
+ # },
907
+ # ],
908
+ # })
909
+ #
910
+ # @example Response structure
911
+ #
912
+ # resp.keyspace_arn #=> String
913
+ # resp.type_name #=> String
914
+ #
915
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/CreateType AWS API Documentation
916
+ #
917
+ # @overload create_type(params = {})
918
+ # @param [Hash] params ({})
919
+ def create_type(params = {}, options = {})
920
+ req = build_request(:create_type, params)
921
+ req.send_request(options)
922
+ end
923
+
859
924
  # The `DeleteKeyspace` operation deletes a keyspace and all of its
860
925
  # tables.
861
926
  #
@@ -912,6 +977,41 @@ module Aws::Keyspaces
912
977
  req.send_request(options)
913
978
  end
914
979
 
980
+ # The `DeleteType` operation deletes a user-defined type (UDT). You can
981
+ # only delete a type that is not used in a table or another UDT.
982
+ #
983
+ # @option params [required, String] :keyspace_name
984
+ # The name of the keyspace of the to be deleted type.
985
+ #
986
+ # @option params [required, String] :type_name
987
+ # The name of the type to be deleted.
988
+ #
989
+ # @return [Types::DeleteTypeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
990
+ #
991
+ # * {Types::DeleteTypeResponse#keyspace_arn #keyspace_arn} => String
992
+ # * {Types::DeleteTypeResponse#type_name #type_name} => String
993
+ #
994
+ # @example Request syntax with placeholder values
995
+ #
996
+ # resp = client.delete_type({
997
+ # keyspace_name: "KeyspaceName", # required
998
+ # type_name: "TypeName", # required
999
+ # })
1000
+ #
1001
+ # @example Response structure
1002
+ #
1003
+ # resp.keyspace_arn #=> String
1004
+ # resp.type_name #=> String
1005
+ #
1006
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/DeleteType AWS API Documentation
1007
+ #
1008
+ # @overload delete_type(params = {})
1009
+ # @param [Hash] params ({})
1010
+ def delete_type(params = {}, options = {})
1011
+ req = build_request(:delete_type, params)
1012
+ req.send_request(options)
1013
+ end
1014
+
915
1015
  # Returns the name and the Amazon Resource Name (ARN) of the specified
916
1016
  # table.
917
1017
  #
@@ -952,9 +1052,8 @@ module Aws::Keyspaces
952
1052
  # current status, the keyspace name, configuration settings, and
953
1053
  # metadata.
954
1054
  #
955
- # To read table metadata using `GetTable`, `Select` action permissions
956
- # for the table and system tables are required to complete the
957
- # operation.
1055
+ # To read table metadata using `GetTable`, the IAM principal needs
1056
+ # `Select` action permissions for the table and the system keyspace.
958
1057
  #
959
1058
  # @option params [required, String] :keyspace_name
960
1059
  # The name of the keyspace that the table is stored in.
@@ -1124,7 +1223,68 @@ module Aws::Keyspaces
1124
1223
  req.send_request(options)
1125
1224
  end
1126
1225
 
1127
- # Returns a list of keyspaces.
1226
+ # The `GetType` operation returns information about the type, for
1227
+ # example the field definitions, the timestamp when the type was last
1228
+ # modified, the level of nesting, the status, and details about if the
1229
+ # type is used in other types and tables.
1230
+ #
1231
+ # To read keyspace metadata using `GetType`, the IAM principal needs
1232
+ # `Select` action permissions for the system keyspace.
1233
+ #
1234
+ # @option params [required, String] :keyspace_name
1235
+ # The name of the keyspace that contains this type.
1236
+ #
1237
+ # @option params [required, String] :type_name
1238
+ # The formatted name of the type. For example, if the name of the type
1239
+ # was created without double quotes, Amazon Keyspaces saved the name in
1240
+ # lower-case characters. If the name was created in double quotes, you
1241
+ # must use double quotes to specify the type name.
1242
+ #
1243
+ # @return [Types::GetTypeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1244
+ #
1245
+ # * {Types::GetTypeResponse#keyspace_name #keyspace_name} => String
1246
+ # * {Types::GetTypeResponse#type_name #type_name} => String
1247
+ # * {Types::GetTypeResponse#field_definitions #field_definitions} => Array&lt;Types::FieldDefinition&gt;
1248
+ # * {Types::GetTypeResponse#last_modified_timestamp #last_modified_timestamp} => Time
1249
+ # * {Types::GetTypeResponse#status #status} => String
1250
+ # * {Types::GetTypeResponse#direct_referring_tables #direct_referring_tables} => Array&lt;String&gt;
1251
+ # * {Types::GetTypeResponse#direct_parent_types #direct_parent_types} => Array&lt;String&gt;
1252
+ # * {Types::GetTypeResponse#max_nesting_depth #max_nesting_depth} => Integer
1253
+ # * {Types::GetTypeResponse#keyspace_arn #keyspace_arn} => String
1254
+ #
1255
+ # @example Request syntax with placeholder values
1256
+ #
1257
+ # resp = client.get_type({
1258
+ # keyspace_name: "KeyspaceName", # required
1259
+ # type_name: "TypeName", # required
1260
+ # })
1261
+ #
1262
+ # @example Response structure
1263
+ #
1264
+ # resp.keyspace_name #=> String
1265
+ # resp.type_name #=> String
1266
+ # resp.field_definitions #=> Array
1267
+ # resp.field_definitions[0].name #=> String
1268
+ # resp.field_definitions[0].type #=> String
1269
+ # resp.last_modified_timestamp #=> Time
1270
+ # resp.status #=> String, one of "ACTIVE", "CREATING", "DELETING", "RESTORING"
1271
+ # resp.direct_referring_tables #=> Array
1272
+ # resp.direct_referring_tables[0] #=> String
1273
+ # resp.direct_parent_types #=> Array
1274
+ # resp.direct_parent_types[0] #=> String
1275
+ # resp.max_nesting_depth #=> Integer
1276
+ # resp.keyspace_arn #=> String
1277
+ #
1278
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/GetType AWS API Documentation
1279
+ #
1280
+ # @overload get_type(params = {})
1281
+ # @param [Hash] params ({})
1282
+ def get_type(params = {}, options = {})
1283
+ req = build_request(:get_type, params)
1284
+ req.send_request(options)
1285
+ end
1286
+
1287
+ # The `ListKeyspaces` operation returns a list of keyspaces.
1128
1288
  #
1129
1289
  # @option params [String] :next_token
1130
1290
  # The pagination token. To resume pagination, provide the `NextToken`
@@ -1169,7 +1329,11 @@ module Aws::Keyspaces
1169
1329
  req.send_request(options)
1170
1330
  end
1171
1331
 
1172
- # Returns a list of tables for a specified keyspace.
1332
+ # The `ListTables` operation returns a list of tables for a specified
1333
+ # keyspace.
1334
+ #
1335
+ # To read keyspace metadata using `ListTables`, the IAM principal needs
1336
+ # `Select` action permissions for the system keyspace.
1173
1337
  #
1174
1338
  # @option params [String] :next_token
1175
1339
  # The pagination token. To resume pagination, provide the `NextToken`
@@ -1219,6 +1383,10 @@ module Aws::Keyspaces
1219
1383
  # Returns a list of all tags associated with the specified Amazon
1220
1384
  # Keyspaces resource.
1221
1385
  #
1386
+ # To read keyspace metadata using `ListTagsForResource`, the IAM
1387
+ # principal needs `Select` action permissions for the specified resource
1388
+ # and the system keyspace.
1389
+ #
1222
1390
  # @option params [required, String] :resource_arn
1223
1391
  # The Amazon Resource Name (ARN) of the Amazon Keyspaces resource.
1224
1392
  #
@@ -1263,6 +1431,55 @@ module Aws::Keyspaces
1263
1431
  req.send_request(options)
1264
1432
  end
1265
1433
 
1434
+ # The `ListTypes` operation returns a list of types for a specified
1435
+ # keyspace.
1436
+ #
1437
+ # To read keyspace metadata using `ListTypes`, the IAM principal needs
1438
+ # `Select` action permissions for the system keyspace.
1439
+ #
1440
+ # @option params [String] :next_token
1441
+ # The pagination token. To resume pagination, provide the `NextToken`
1442
+ # value as an argument of a subsequent API invocation.
1443
+ #
1444
+ # @option params [Integer] :max_results
1445
+ # The total number of types to return in the output. If the total number
1446
+ # of types available is more than the value specified, a `NextToken` is
1447
+ # provided in the output. To resume pagination, provide the `NextToken`
1448
+ # value as an argument of a subsequent API invocation.
1449
+ #
1450
+ # @option params [required, String] :keyspace_name
1451
+ # The name of the keyspace that contains the listed types.
1452
+ #
1453
+ # @return [Types::ListTypesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1454
+ #
1455
+ # * {Types::ListTypesResponse#next_token #next_token} => String
1456
+ # * {Types::ListTypesResponse#types #types} => Array&lt;String&gt;
1457
+ #
1458
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1459
+ #
1460
+ # @example Request syntax with placeholder values
1461
+ #
1462
+ # resp = client.list_types({
1463
+ # next_token: "NextToken",
1464
+ # max_results: 1,
1465
+ # keyspace_name: "KeyspaceName", # required
1466
+ # })
1467
+ #
1468
+ # @example Response structure
1469
+ #
1470
+ # resp.next_token #=> String
1471
+ # resp.types #=> Array
1472
+ # resp.types[0] #=> String
1473
+ #
1474
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/ListTypes AWS API Documentation
1475
+ #
1476
+ # @overload list_types(params = {})
1477
+ # @param [Hash] params ({})
1478
+ def list_types(params = {}, options = {})
1479
+ req = build_request(:list_types, params)
1480
+ req.send_request(options)
1481
+ end
1482
+
1266
1483
  # Restores the table to the specified point in time within the
1267
1484
  # `earliest_restorable_timestamp` and the current time. For more
1268
1485
  # information about restore points, see [ Time window for PITR
@@ -1837,7 +2054,7 @@ module Aws::Keyspaces
1837
2054
  tracer: tracer
1838
2055
  )
1839
2056
  context[:gem_name] = 'aws-sdk-keyspaces'
1840
- context[:gem_version] = '1.31.0'
2057
+ context[:gem_version] = '1.32.0'
1841
2058
  Seahorse::Client::Request.new(handlers, context)
1842
2059
  end
1843
2060
 
@@ -35,14 +35,22 @@ module Aws::Keyspaces
35
35
  CreateKeyspaceResponse = Shapes::StructureShape.new(name: 'CreateKeyspaceResponse')
36
36
  CreateTableRequest = Shapes::StructureShape.new(name: 'CreateTableRequest')
37
37
  CreateTableResponse = Shapes::StructureShape.new(name: 'CreateTableResponse')
38
+ CreateTypeRequest = Shapes::StructureShape.new(name: 'CreateTypeRequest')
39
+ CreateTypeResponse = Shapes::StructureShape.new(name: 'CreateTypeResponse')
38
40
  DefaultTimeToLive = Shapes::IntegerShape.new(name: 'DefaultTimeToLive')
39
41
  DeleteKeyspaceRequest = Shapes::StructureShape.new(name: 'DeleteKeyspaceRequest')
40
42
  DeleteKeyspaceResponse = Shapes::StructureShape.new(name: 'DeleteKeyspaceResponse')
41
43
  DeleteTableRequest = Shapes::StructureShape.new(name: 'DeleteTableRequest')
42
44
  DeleteTableResponse = Shapes::StructureShape.new(name: 'DeleteTableResponse')
45
+ DeleteTypeRequest = Shapes::StructureShape.new(name: 'DeleteTypeRequest')
46
+ DeleteTypeResponse = Shapes::StructureShape.new(name: 'DeleteTypeResponse')
47
+ Depth = Shapes::IntegerShape.new(name: 'Depth')
43
48
  DoubleObject = Shapes::FloatShape.new(name: 'DoubleObject')
44
49
  EncryptionSpecification = Shapes::StructureShape.new(name: 'EncryptionSpecification')
45
50
  EncryptionType = Shapes::StringShape.new(name: 'EncryptionType')
51
+ FieldDefinition = Shapes::StructureShape.new(name: 'FieldDefinition')
52
+ FieldDefinitionNameString = Shapes::StringShape.new(name: 'FieldDefinitionNameString')
53
+ FieldList = Shapes::ListShape.new(name: 'FieldList')
46
54
  GenericString = Shapes::StringShape.new(name: 'GenericString')
47
55
  GetKeyspaceRequest = Shapes::StructureShape.new(name: 'GetKeyspaceRequest')
48
56
  GetKeyspaceResponse = Shapes::StructureShape.new(name: 'GetKeyspaceResponse')
@@ -50,6 +58,8 @@ module Aws::Keyspaces
50
58
  GetTableAutoScalingSettingsResponse = Shapes::StructureShape.new(name: 'GetTableAutoScalingSettingsResponse')
51
59
  GetTableRequest = Shapes::StructureShape.new(name: 'GetTableRequest')
52
60
  GetTableResponse = Shapes::StructureShape.new(name: 'GetTableResponse')
61
+ GetTypeRequest = Shapes::StructureShape.new(name: 'GetTypeRequest')
62
+ GetTypeResponse = Shapes::StructureShape.new(name: 'GetTypeResponse')
53
63
  IntegerObject = Shapes::IntegerShape.new(name: 'IntegerObject')
54
64
  InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
55
65
  KeyspaceName = Shapes::StringShape.new(name: 'KeyspaceName')
@@ -61,6 +71,8 @@ module Aws::Keyspaces
61
71
  ListTablesResponse = Shapes::StructureShape.new(name: 'ListTablesResponse')
62
72
  ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
63
73
  ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
74
+ ListTypesRequest = Shapes::StructureShape.new(name: 'ListTypesRequest')
75
+ ListTypesResponse = Shapes::StructureShape.new(name: 'ListTypesResponse')
64
76
  MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
65
77
  NextToken = Shapes::StringShape.new(name: 'NextToken')
66
78
  PartitionKey = Shapes::StructureShape.new(name: 'PartitionKey')
@@ -86,6 +98,7 @@ module Aws::Keyspaces
86
98
  StaticColumnList = Shapes::ListShape.new(name: 'StaticColumnList')
87
99
  String = Shapes::StringShape.new(name: 'String')
88
100
  TableName = Shapes::StringShape.new(name: 'TableName')
101
+ TableNameList = Shapes::ListShape.new(name: 'TableNameList')
89
102
  TableStatus = Shapes::StringShape.new(name: 'TableStatus')
90
103
  TableSummary = Shapes::StructureShape.new(name: 'TableSummary')
91
104
  TableSummaryList = Shapes::ListShape.new(name: 'TableSummaryList')
@@ -100,6 +113,9 @@ module Aws::Keyspaces
100
113
  TimeToLive = Shapes::StructureShape.new(name: 'TimeToLive')
101
114
  TimeToLiveStatus = Shapes::StringShape.new(name: 'TimeToLiveStatus')
102
115
  Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
116
+ TypeName = Shapes::StringShape.new(name: 'TypeName')
117
+ TypeNameList = Shapes::ListShape.new(name: 'TypeNameList')
118
+ TypeStatus = Shapes::StringShape.new(name: 'TypeStatus')
103
119
  UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
104
120
  UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
105
121
  UpdateTableRequest = Shapes::StructureShape.new(name: 'UpdateTableRequest')
@@ -183,6 +199,15 @@ module Aws::Keyspaces
183
199
  CreateTableResponse.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "resourceArn"))
184
200
  CreateTableResponse.struct_class = Types::CreateTableResponse
185
201
 
202
+ CreateTypeRequest.add_member(:keyspace_name, Shapes::ShapeRef.new(shape: KeyspaceName, required: true, location_name: "keyspaceName"))
203
+ CreateTypeRequest.add_member(:type_name, Shapes::ShapeRef.new(shape: TypeName, required: true, location_name: "typeName"))
204
+ CreateTypeRequest.add_member(:field_definitions, Shapes::ShapeRef.new(shape: FieldList, required: true, location_name: "fieldDefinitions"))
205
+ CreateTypeRequest.struct_class = Types::CreateTypeRequest
206
+
207
+ CreateTypeResponse.add_member(:keyspace_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "keyspaceArn"))
208
+ CreateTypeResponse.add_member(:type_name, Shapes::ShapeRef.new(shape: TypeName, required: true, location_name: "typeName"))
209
+ CreateTypeResponse.struct_class = Types::CreateTypeResponse
210
+
186
211
  DeleteKeyspaceRequest.add_member(:keyspace_name, Shapes::ShapeRef.new(shape: KeyspaceName, required: true, location_name: "keyspaceName"))
187
212
  DeleteKeyspaceRequest.struct_class = Types::DeleteKeyspaceRequest
188
213
 
@@ -194,10 +219,24 @@ module Aws::Keyspaces
194
219
 
195
220
  DeleteTableResponse.struct_class = Types::DeleteTableResponse
196
221
 
222
+ DeleteTypeRequest.add_member(:keyspace_name, Shapes::ShapeRef.new(shape: KeyspaceName, required: true, location_name: "keyspaceName"))
223
+ DeleteTypeRequest.add_member(:type_name, Shapes::ShapeRef.new(shape: TypeName, required: true, location_name: "typeName"))
224
+ DeleteTypeRequest.struct_class = Types::DeleteTypeRequest
225
+
226
+ DeleteTypeResponse.add_member(:keyspace_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "keyspaceArn"))
227
+ DeleteTypeResponse.add_member(:type_name, Shapes::ShapeRef.new(shape: TypeName, required: true, location_name: "typeName"))
228
+ DeleteTypeResponse.struct_class = Types::DeleteTypeResponse
229
+
197
230
  EncryptionSpecification.add_member(:type, Shapes::ShapeRef.new(shape: EncryptionType, required: true, location_name: "type"))
198
231
  EncryptionSpecification.add_member(:kms_key_identifier, Shapes::ShapeRef.new(shape: kmsKeyARN, location_name: "kmsKeyIdentifier"))
199
232
  EncryptionSpecification.struct_class = Types::EncryptionSpecification
200
233
 
234
+ FieldDefinition.add_member(:name, Shapes::ShapeRef.new(shape: FieldDefinitionNameString, required: true, location_name: "name"))
235
+ FieldDefinition.add_member(:type, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "type"))
236
+ FieldDefinition.struct_class = Types::FieldDefinition
237
+
238
+ FieldList.member = Shapes::ShapeRef.new(shape: FieldDefinition)
239
+
201
240
  GetKeyspaceRequest.add_member(:keyspace_name, Shapes::ShapeRef.new(shape: KeyspaceName, required: true, location_name: "keyspaceName"))
202
241
  GetKeyspaceRequest.struct_class = Types::GetKeyspaceRequest
203
242
 
@@ -238,6 +277,21 @@ module Aws::Keyspaces
238
277
  GetTableResponse.add_member(:replica_specifications, Shapes::ShapeRef.new(shape: ReplicaSpecificationSummaryList, location_name: "replicaSpecifications"))
239
278
  GetTableResponse.struct_class = Types::GetTableResponse
240
279
 
280
+ GetTypeRequest.add_member(:keyspace_name, Shapes::ShapeRef.new(shape: KeyspaceName, required: true, location_name: "keyspaceName"))
281
+ GetTypeRequest.add_member(:type_name, Shapes::ShapeRef.new(shape: TypeName, required: true, location_name: "typeName"))
282
+ GetTypeRequest.struct_class = Types::GetTypeRequest
283
+
284
+ GetTypeResponse.add_member(:keyspace_name, Shapes::ShapeRef.new(shape: KeyspaceName, required: true, location_name: "keyspaceName"))
285
+ GetTypeResponse.add_member(:type_name, Shapes::ShapeRef.new(shape: TypeName, required: true, location_name: "typeName"))
286
+ GetTypeResponse.add_member(:field_definitions, Shapes::ShapeRef.new(shape: FieldList, location_name: "fieldDefinitions"))
287
+ GetTypeResponse.add_member(:last_modified_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "lastModifiedTimestamp"))
288
+ GetTypeResponse.add_member(:status, Shapes::ShapeRef.new(shape: TypeStatus, location_name: "status"))
289
+ GetTypeResponse.add_member(:direct_referring_tables, Shapes::ShapeRef.new(shape: TableNameList, location_name: "directReferringTables"))
290
+ GetTypeResponse.add_member(:direct_parent_types, Shapes::ShapeRef.new(shape: TypeNameList, location_name: "directParentTypes"))
291
+ GetTypeResponse.add_member(:max_nesting_depth, Shapes::ShapeRef.new(shape: Depth, location_name: "maxNestingDepth"))
292
+ GetTypeResponse.add_member(:keyspace_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "keyspaceArn"))
293
+ GetTypeResponse.struct_class = Types::GetTypeResponse
294
+
241
295
  InternalServerException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "message"))
242
296
  InternalServerException.struct_class = Types::InternalServerException
243
297
 
@@ -275,6 +329,15 @@ module Aws::Keyspaces
275
329
  ListTagsForResourceResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tags"))
276
330
  ListTagsForResourceResponse.struct_class = Types::ListTagsForResourceResponse
277
331
 
332
+ ListTypesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
333
+ ListTypesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "maxResults"))
334
+ ListTypesRequest.add_member(:keyspace_name, Shapes::ShapeRef.new(shape: KeyspaceName, required: true, location_name: "keyspaceName"))
335
+ ListTypesRequest.struct_class = Types::ListTypesRequest
336
+
337
+ ListTypesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
338
+ ListTypesResponse.add_member(:types, Shapes::ShapeRef.new(shape: TypeNameList, required: true, location_name: "types"))
339
+ ListTypesResponse.struct_class = Types::ListTypesResponse
340
+
278
341
  PartitionKey.add_member(:name, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "name"))
279
342
  PartitionKey.struct_class = Types::PartitionKey
280
343
 
@@ -347,6 +410,8 @@ module Aws::Keyspaces
347
410
 
348
411
  StaticColumnList.member = Shapes::ShapeRef.new(shape: StaticColumn)
349
412
 
413
+ TableNameList.member = Shapes::ShapeRef.new(shape: TableName)
414
+
350
415
  TableSummary.add_member(:keyspace_name, Shapes::ShapeRef.new(shape: KeyspaceName, required: true, location_name: "keyspaceName"))
351
416
  TableSummary.add_member(:table_name, Shapes::ShapeRef.new(shape: TableName, required: true, location_name: "tableName"))
352
417
  TableSummary.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "resourceArn"))
@@ -375,6 +440,8 @@ module Aws::Keyspaces
375
440
  TimeToLive.add_member(:status, Shapes::ShapeRef.new(shape: TimeToLiveStatus, required: true, location_name: "status"))
376
441
  TimeToLive.struct_class = Types::TimeToLive
377
442
 
443
+ TypeNameList.member = Shapes::ShapeRef.new(shape: TypeName)
444
+
378
445
  UntagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "resourceArn"))
379
446
  UntagResourceRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, required: true, location_name: "tags"))
380
447
  UntagResourceRequest.struct_class = Types::UntagResourceRequest
@@ -408,9 +475,11 @@ module Aws::Keyspaces
408
475
 
409
476
  api.metadata = {
410
477
  "apiVersion" => "2022-02-10",
478
+ "auth" => ["aws.auth#sigv4"],
411
479
  "endpointPrefix" => "cassandra",
412
480
  "jsonVersion" => "1.0",
413
481
  "protocol" => "json",
482
+ "protocols" => ["json"],
414
483
  "serviceFullName" => "Amazon Keyspaces",
415
484
  "serviceId" => "Keyspaces",
416
485
  "signatureVersion" => "v4",
@@ -446,6 +515,20 @@ module Aws::Keyspaces
446
515
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
447
516
  end)
448
517
 
518
+ api.add_operation(:create_type, Seahorse::Model::Operation.new.tap do |o|
519
+ o.name = "CreateType"
520
+ o.http_method = "POST"
521
+ o.http_request_uri = "/"
522
+ o.input = Shapes::ShapeRef.new(shape: CreateTypeRequest)
523
+ o.output = Shapes::ShapeRef.new(shape: CreateTypeResponse)
524
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
525
+ o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
526
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
527
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
528
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
529
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
530
+ end)
531
+
449
532
  api.add_operation(:delete_keyspace, Seahorse::Model::Operation.new.tap do |o|
450
533
  o.name = "DeleteKeyspace"
451
534
  o.http_method = "POST"
@@ -474,6 +557,20 @@ module Aws::Keyspaces
474
557
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
475
558
  end)
476
559
 
560
+ api.add_operation(:delete_type, Seahorse::Model::Operation.new.tap do |o|
561
+ o.name = "DeleteType"
562
+ o.http_method = "POST"
563
+ o.http_request_uri = "/"
564
+ o.input = Shapes::ShapeRef.new(shape: DeleteTypeRequest)
565
+ o.output = Shapes::ShapeRef.new(shape: DeleteTypeResponse)
566
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
567
+ o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
568
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
569
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
570
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
571
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
572
+ end)
573
+
477
574
  api.add_operation(:get_keyspace, Seahorse::Model::Operation.new.tap do |o|
478
575
  o.name = "GetKeyspace"
479
576
  o.http_method = "POST"
@@ -513,6 +610,19 @@ module Aws::Keyspaces
513
610
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
514
611
  end)
515
612
 
613
+ api.add_operation(:get_type, Seahorse::Model::Operation.new.tap do |o|
614
+ o.name = "GetType"
615
+ o.http_method = "POST"
616
+ o.http_request_uri = "/"
617
+ o.input = Shapes::ShapeRef.new(shape: GetTypeRequest)
618
+ o.output = Shapes::ShapeRef.new(shape: GetTypeResponse)
619
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
620
+ o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
621
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
622
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
623
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
624
+ end)
625
+
516
626
  api.add_operation(:list_keyspaces, Seahorse::Model::Operation.new.tap do |o|
517
627
  o.name = "ListKeyspaces"
518
628
  o.http_method = "POST"
@@ -570,6 +680,25 @@ module Aws::Keyspaces
570
680
  )
571
681
  end)
572
682
 
683
+ api.add_operation(:list_types, Seahorse::Model::Operation.new.tap do |o|
684
+ o.name = "ListTypes"
685
+ o.http_method = "POST"
686
+ o.http_request_uri = "/"
687
+ o.input = Shapes::ShapeRef.new(shape: ListTypesRequest)
688
+ o.output = Shapes::ShapeRef.new(shape: ListTypesResponse)
689
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
690
+ o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
691
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
692
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
693
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
694
+ o[:pager] = Aws::Pager.new(
695
+ limit_key: "max_results",
696
+ tokens: {
697
+ "next_token" => "next_token"
698
+ }
699
+ )
700
+ end)
701
+
573
702
  api.add_operation(:restore_table, Seahorse::Model::Operation.new.tap do |o|
574
703
  o.name = "RestoreTable"
575
704
  o.http_method = "POST"
@@ -593,6 +722,7 @@ module Aws::Keyspaces
593
722
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
594
723
  o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
595
724
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
725
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
596
726
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
597
727
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
598
728
  end)
@@ -656,6 +656,62 @@ module Aws::Keyspaces
656
656
  include Aws::Structure
657
657
  end
658
658
 
659
+ # @!attribute [rw] keyspace_name
660
+ # The name of the keyspace.
661
+ # @return [String]
662
+ #
663
+ # @!attribute [rw] type_name
664
+ # The name of the user-defined type.
665
+ #
666
+ # UDT names must contain 48 characters or less, must begin with an
667
+ # alphabetic character, and can only contain alpha-numeric characters
668
+ # and underscores. Amazon Keyspaces converts upper case characters
669
+ # automatically into lower case characters.
670
+ #
671
+ # Alternatively, you can declare a UDT name in double quotes. When
672
+ # declaring a UDT name inside double quotes, Amazon Keyspaces
673
+ # preserves upper casing and allows special characters.
674
+ #
675
+ # You can also use double quotes as part of the name when you create
676
+ # the UDT, but you must escape each double quote character with an
677
+ # additional double quote character.
678
+ # @return [String]
679
+ #
680
+ # @!attribute [rw] field_definitions
681
+ # The field definitions, consisting of names and types, that define
682
+ # this type.
683
+ # @return [Array<Types::FieldDefinition>]
684
+ #
685
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/CreateTypeRequest AWS API Documentation
686
+ #
687
+ class CreateTypeRequest < Struct.new(
688
+ :keyspace_name,
689
+ :type_name,
690
+ :field_definitions)
691
+ SENSITIVE = []
692
+ include Aws::Structure
693
+ end
694
+
695
+ # @!attribute [rw] keyspace_arn
696
+ # The unique identifier of the keyspace that contains the new type in
697
+ # the format of an Amazon Resource Name (ARN).
698
+ # @return [String]
699
+ #
700
+ # @!attribute [rw] type_name
701
+ # The formatted name of the user-defined type that was created. Note
702
+ # that Amazon Keyspaces requires the formatted name of the type for
703
+ # other operations, for example `GetType`.
704
+ # @return [String]
705
+ #
706
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/CreateTypeResponse AWS API Documentation
707
+ #
708
+ class CreateTypeResponse < Struct.new(
709
+ :keyspace_arn,
710
+ :type_name)
711
+ SENSITIVE = []
712
+ include Aws::Structure
713
+ end
714
+
659
715
  # @!attribute [rw] keyspace_name
660
716
  # The name of the keyspace to be deleted.
661
717
  # @return [String]
@@ -693,6 +749,41 @@ module Aws::Keyspaces
693
749
  #
694
750
  class DeleteTableResponse < Aws::EmptyStructure; end
695
751
 
752
+ # @!attribute [rw] keyspace_name
753
+ # The name of the keyspace of the to be deleted type.
754
+ # @return [String]
755
+ #
756
+ # @!attribute [rw] type_name
757
+ # The name of the type to be deleted.
758
+ # @return [String]
759
+ #
760
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/DeleteTypeRequest AWS API Documentation
761
+ #
762
+ class DeleteTypeRequest < Struct.new(
763
+ :keyspace_name,
764
+ :type_name)
765
+ SENSITIVE = []
766
+ include Aws::Structure
767
+ end
768
+
769
+ # @!attribute [rw] keyspace_arn
770
+ # The unique identifier of the keyspace from which the type was
771
+ # deleted in the format of an Amazon Resource Name (ARN).
772
+ # @return [String]
773
+ #
774
+ # @!attribute [rw] type_name
775
+ # The name of the type that was deleted.
776
+ # @return [String]
777
+ #
778
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/DeleteTypeResponse AWS API Documentation
779
+ #
780
+ class DeleteTypeResponse < Struct.new(
781
+ :keyspace_arn,
782
+ :type_name)
783
+ SENSITIVE = []
784
+ include Aws::Structure
785
+ end
786
+
696
787
  # Amazon Keyspaces encrypts and decrypts the table data at rest
697
788
  # transparently and integrates with Key Management Service for storing
698
789
  # and managing the encryption key. You can choose one of the following
@@ -750,6 +841,33 @@ module Aws::Keyspaces
750
841
  include Aws::Structure
751
842
  end
752
843
 
844
+ # A field definition consists out of a name and a type.
845
+ #
846
+ # @!attribute [rw] name
847
+ # The identifier.
848
+ # @return [String]
849
+ #
850
+ # @!attribute [rw] type
851
+ # Any supported Cassandra data type, including collections and other
852
+ # user-defined types that are contained in the same keyspace.
853
+ #
854
+ # For more information, see [Cassandra data type support][1] in the
855
+ # *Amazon Keyspaces Developer Guide*.
856
+ #
857
+ #
858
+ #
859
+ # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/cassandra-apis.html#cassandra-data-type
860
+ # @return [String]
861
+ #
862
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/FieldDefinition AWS API Documentation
863
+ #
864
+ class FieldDefinition < Struct.new(
865
+ :name,
866
+ :type)
867
+ SENSITIVE = []
868
+ include Aws::Structure
869
+ end
870
+
753
871
  # @!attribute [rw] keyspace_name
754
872
  # The name of the keyspace.
755
873
  # @return [String]
@@ -942,6 +1060,79 @@ module Aws::Keyspaces
942
1060
  include Aws::Structure
943
1061
  end
944
1062
 
1063
+ # @!attribute [rw] keyspace_name
1064
+ # The name of the keyspace that contains this type.
1065
+ # @return [String]
1066
+ #
1067
+ # @!attribute [rw] type_name
1068
+ # The formatted name of the type. For example, if the name of the type
1069
+ # was created without double quotes, Amazon Keyspaces saved the name
1070
+ # in lower-case characters. If the name was created in double quotes,
1071
+ # you must use double quotes to specify the type name.
1072
+ # @return [String]
1073
+ #
1074
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/GetTypeRequest AWS API Documentation
1075
+ #
1076
+ class GetTypeRequest < Struct.new(
1077
+ :keyspace_name,
1078
+ :type_name)
1079
+ SENSITIVE = []
1080
+ include Aws::Structure
1081
+ end
1082
+
1083
+ # @!attribute [rw] keyspace_name
1084
+ # The name of the keyspace that contains this type.
1085
+ # @return [String]
1086
+ #
1087
+ # @!attribute [rw] type_name
1088
+ # The name of the type.
1089
+ # @return [String]
1090
+ #
1091
+ # @!attribute [rw] field_definitions
1092
+ # The names and types that define this type.
1093
+ # @return [Array<Types::FieldDefinition>]
1094
+ #
1095
+ # @!attribute [rw] last_modified_timestamp
1096
+ # The timestamp that shows when this type was last modified.
1097
+ # @return [Time]
1098
+ #
1099
+ # @!attribute [rw] status
1100
+ # The status of this type.
1101
+ # @return [String]
1102
+ #
1103
+ # @!attribute [rw] direct_referring_tables
1104
+ # The tables that use this type.
1105
+ # @return [Array<String>]
1106
+ #
1107
+ # @!attribute [rw] direct_parent_types
1108
+ # The types that use this type.
1109
+ # @return [Array<String>]
1110
+ #
1111
+ # @!attribute [rw] max_nesting_depth
1112
+ # The level of nesting implemented for this type.
1113
+ # @return [Integer]
1114
+ #
1115
+ # @!attribute [rw] keyspace_arn
1116
+ # The unique identifier of the keyspace that contains this type in the
1117
+ # format of an Amazon Resource Name (ARN).
1118
+ # @return [String]
1119
+ #
1120
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/GetTypeResponse AWS API Documentation
1121
+ #
1122
+ class GetTypeResponse < Struct.new(
1123
+ :keyspace_name,
1124
+ :type_name,
1125
+ :field_definitions,
1126
+ :last_modified_timestamp,
1127
+ :status,
1128
+ :direct_referring_tables,
1129
+ :direct_parent_types,
1130
+ :max_nesting_depth,
1131
+ :keyspace_arn)
1132
+ SENSITIVE = []
1133
+ include Aws::Structure
1134
+ end
1135
+
945
1136
  # Amazon Keyspaces was unable to fully process this request because of
946
1137
  # an internal server error.
947
1138
  #
@@ -1117,6 +1308,50 @@ module Aws::Keyspaces
1117
1308
  include Aws::Structure
1118
1309
  end
1119
1310
 
1311
+ # @!attribute [rw] next_token
1312
+ # The pagination token. To resume pagination, provide the `NextToken`
1313
+ # value as an argument of a subsequent API invocation.
1314
+ # @return [String]
1315
+ #
1316
+ # @!attribute [rw] max_results
1317
+ # The total number of types to return in the output. If the total
1318
+ # number of types available is more than the value specified, a
1319
+ # `NextToken` is provided in the output. To resume pagination, provide
1320
+ # the `NextToken` value as an argument of a subsequent API invocation.
1321
+ # @return [Integer]
1322
+ #
1323
+ # @!attribute [rw] keyspace_name
1324
+ # The name of the keyspace that contains the listed types.
1325
+ # @return [String]
1326
+ #
1327
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/ListTypesRequest AWS API Documentation
1328
+ #
1329
+ class ListTypesRequest < Struct.new(
1330
+ :next_token,
1331
+ :max_results,
1332
+ :keyspace_name)
1333
+ SENSITIVE = []
1334
+ include Aws::Structure
1335
+ end
1336
+
1337
+ # @!attribute [rw] next_token
1338
+ # The pagination token. To resume pagination, provide the `NextToken`
1339
+ # value as an argument of a subsequent API invocation.
1340
+ # @return [String]
1341
+ #
1342
+ # @!attribute [rw] types
1343
+ # The list of types contained in the specified keyspace.
1344
+ # @return [Array<String>]
1345
+ #
1346
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/ListTypesResponse AWS API Documentation
1347
+ #
1348
+ class ListTypesResponse < Struct.new(
1349
+ :next_token,
1350
+ :types)
1351
+ SENSITIVE = []
1352
+ include Aws::Structure
1353
+ end
1354
+
1120
1355
  # The partition key portion of the primary key is required and
1121
1356
  # determines how Amazon Keyspaces stores the data. The partition key can
1122
1357
  # be a single column, or it can be a compound value composed of two or
@@ -1314,17 +1549,17 @@ module Aws::Keyspaces
1314
1549
  include Aws::Structure
1315
1550
  end
1316
1551
 
1317
- # The operation tried to access a keyspace or table that doesn't exist.
1318
- # The resource might not be specified correctly, or its status might not
1319
- # be `ACTIVE`.
1552
+ # The operation tried to access a keyspace, table, or type that doesn't
1553
+ # exist. The resource might not be specified correctly, or its status
1554
+ # might not be `ACTIVE`.
1320
1555
  #
1321
1556
  # @!attribute [rw] message
1322
1557
  # Description of the error.
1323
1558
  # @return [String]
1324
1559
  #
1325
1560
  # @!attribute [rw] resource_arn
1326
- # The unique identifier in the format of Amazon Resource Name (ARN),
1327
- # for the resource not found.
1561
+ # The unique identifier in the format of Amazon Resource Name (ARN)
1562
+ # for the resource could't be found.
1328
1563
  # @return [String]
1329
1564
  #
1330
1565
  # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/ResourceNotFoundException AWS API Documentation
@@ -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.31.0'
58
+ GEM_VERSION = '1.32.0'
59
59
 
60
60
  end
61
61
 
data/sig/client.rbs CHANGED
@@ -206,6 +206,24 @@ module Aws
206
206
  ) -> _CreateTableResponseSuccess
207
207
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CreateTableResponseSuccess
208
208
 
209
+ interface _CreateTypeResponseSuccess
210
+ include ::Seahorse::Client::_ResponseSuccess[Types::CreateTypeResponse]
211
+ def keyspace_arn: () -> ::String
212
+ def type_name: () -> ::String
213
+ end
214
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Keyspaces/Client.html#create_type-instance_method
215
+ def create_type: (
216
+ keyspace_name: ::String,
217
+ type_name: ::String,
218
+ field_definitions: Array[
219
+ {
220
+ name: ::String,
221
+ type: ::String
222
+ },
223
+ ]
224
+ ) -> _CreateTypeResponseSuccess
225
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CreateTypeResponseSuccess
226
+
209
227
  interface _DeleteKeyspaceResponseSuccess
210
228
  include ::Seahorse::Client::_ResponseSuccess[Types::DeleteKeyspaceResponse]
211
229
  end
@@ -225,6 +243,18 @@ module Aws
225
243
  ) -> _DeleteTableResponseSuccess
226
244
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DeleteTableResponseSuccess
227
245
 
246
+ interface _DeleteTypeResponseSuccess
247
+ include ::Seahorse::Client::_ResponseSuccess[Types::DeleteTypeResponse]
248
+ def keyspace_arn: () -> ::String
249
+ def type_name: () -> ::String
250
+ end
251
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Keyspaces/Client.html#delete_type-instance_method
252
+ def delete_type: (
253
+ keyspace_name: ::String,
254
+ type_name: ::String
255
+ ) -> _DeleteTypeResponseSuccess
256
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DeleteTypeResponseSuccess
257
+
228
258
  interface _GetKeyspaceResponseSuccess
229
259
  include ::Seahorse::Client::_ResponseSuccess[Types::GetKeyspaceResponse]
230
260
  def keyspace_name: () -> ::String
@@ -277,6 +307,25 @@ module Aws
277
307
  ) -> _GetTableAutoScalingSettingsResponseSuccess
278
308
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetTableAutoScalingSettingsResponseSuccess
279
309
 
310
+ interface _GetTypeResponseSuccess
311
+ include ::Seahorse::Client::_ResponseSuccess[Types::GetTypeResponse]
312
+ def keyspace_name: () -> ::String
313
+ def type_name: () -> ::String
314
+ def field_definitions: () -> ::Array[Types::FieldDefinition]
315
+ def last_modified_timestamp: () -> ::Time
316
+ def status: () -> ("ACTIVE" | "CREATING" | "DELETING" | "RESTORING")
317
+ def direct_referring_tables: () -> ::Array[::String]
318
+ def direct_parent_types: () -> ::Array[::String]
319
+ def max_nesting_depth: () -> ::Integer
320
+ def keyspace_arn: () -> ::String
321
+ end
322
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Keyspaces/Client.html#get_type-instance_method
323
+ def get_type: (
324
+ keyspace_name: ::String,
325
+ type_name: ::String
326
+ ) -> _GetTypeResponseSuccess
327
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetTypeResponseSuccess
328
+
280
329
  interface _ListKeyspacesResponseSuccess
281
330
  include ::Seahorse::Client::_ResponseSuccess[Types::ListKeyspacesResponse]
282
331
  def next_token: () -> ::String
@@ -315,6 +364,19 @@ module Aws
315
364
  ) -> _ListTagsForResourceResponseSuccess
316
365
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListTagsForResourceResponseSuccess
317
366
 
367
+ interface _ListTypesResponseSuccess
368
+ include ::Seahorse::Client::_ResponseSuccess[Types::ListTypesResponse]
369
+ def next_token: () -> ::String
370
+ def types: () -> ::Array[::String]
371
+ end
372
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Keyspaces/Client.html#list_types-instance_method
373
+ def list_types: (
374
+ ?next_token: ::String,
375
+ ?max_results: ::Integer,
376
+ keyspace_name: ::String
377
+ ) -> _ListTypesResponseSuccess
378
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListTypesResponseSuccess
379
+
318
380
  interface _RestoreTableResponseSuccess
319
381
  include ::Seahorse::Client::_ResponseSuccess[Types::RestoreTableResponse]
320
382
  def restored_table_arn: () -> ::String
data/sig/types.rbs CHANGED
@@ -108,6 +108,19 @@ module Aws::Keyspaces
108
108
  SENSITIVE: []
109
109
  end
110
110
 
111
+ class CreateTypeRequest
112
+ attr_accessor keyspace_name: ::String
113
+ attr_accessor type_name: ::String
114
+ attr_accessor field_definitions: ::Array[Types::FieldDefinition]
115
+ SENSITIVE: []
116
+ end
117
+
118
+ class CreateTypeResponse
119
+ attr_accessor keyspace_arn: ::String
120
+ attr_accessor type_name: ::String
121
+ SENSITIVE: []
122
+ end
123
+
111
124
  class DeleteKeyspaceRequest
112
125
  attr_accessor keyspace_name: ::String
113
126
  SENSITIVE: []
@@ -125,12 +138,30 @@ module Aws::Keyspaces
125
138
  class DeleteTableResponse < Aws::EmptyStructure
126
139
  end
127
140
 
141
+ class DeleteTypeRequest
142
+ attr_accessor keyspace_name: ::String
143
+ attr_accessor type_name: ::String
144
+ SENSITIVE: []
145
+ end
146
+
147
+ class DeleteTypeResponse
148
+ attr_accessor keyspace_arn: ::String
149
+ attr_accessor type_name: ::String
150
+ SENSITIVE: []
151
+ end
152
+
128
153
  class EncryptionSpecification
129
154
  attr_accessor type: ("CUSTOMER_MANAGED_KMS_KEY" | "AWS_OWNED_KMS_KEY")
130
155
  attr_accessor kms_key_identifier: ::String
131
156
  SENSITIVE: []
132
157
  end
133
158
 
159
+ class FieldDefinition
160
+ attr_accessor name: ::String
161
+ attr_accessor type: ::String
162
+ SENSITIVE: []
163
+ end
164
+
134
165
  class GetKeyspaceRequest
135
166
  attr_accessor keyspace_name: ::String
136
167
  SENSITIVE: []
@@ -183,6 +214,25 @@ module Aws::Keyspaces
183
214
  SENSITIVE: []
184
215
  end
185
216
 
217
+ class GetTypeRequest
218
+ attr_accessor keyspace_name: ::String
219
+ attr_accessor type_name: ::String
220
+ SENSITIVE: []
221
+ end
222
+
223
+ class GetTypeResponse
224
+ attr_accessor keyspace_name: ::String
225
+ attr_accessor type_name: ::String
226
+ attr_accessor field_definitions: ::Array[Types::FieldDefinition]
227
+ attr_accessor last_modified_timestamp: ::Time
228
+ attr_accessor status: ("ACTIVE" | "CREATING" | "DELETING" | "RESTORING")
229
+ attr_accessor direct_referring_tables: ::Array[::String]
230
+ attr_accessor direct_parent_types: ::Array[::String]
231
+ attr_accessor max_nesting_depth: ::Integer
232
+ attr_accessor keyspace_arn: ::String
233
+ SENSITIVE: []
234
+ end
235
+
186
236
  class InternalServerException
187
237
  attr_accessor message: ::String
188
238
  SENSITIVE: []
@@ -234,6 +284,19 @@ module Aws::Keyspaces
234
284
  SENSITIVE: []
235
285
  end
236
286
 
287
+ class ListTypesRequest
288
+ attr_accessor next_token: ::String
289
+ attr_accessor max_results: ::Integer
290
+ attr_accessor keyspace_name: ::String
291
+ SENSITIVE: []
292
+ end
293
+
294
+ class ListTypesResponse
295
+ attr_accessor next_token: ::String
296
+ attr_accessor types: ::Array[::String]
297
+ SENSITIVE: []
298
+ end
299
+
237
300
  class PartitionKey
238
301
  attr_accessor name: ::String
239
302
  SENSITIVE: []
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.31.0
4
+ version: 1.32.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-18 00:00:00.000000000 Z
11
+ date: 2024-10-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -36,14 +36,14 @@ dependencies:
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: '1.1'
39
+ version: '1.5'
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: '1.1'
46
+ version: '1.5'
47
47
  description: Official AWS Ruby gem for Amazon Keyspaces. This gem is part of the AWS
48
48
  SDK for Ruby.
49
49
  email: