aws-sdk-keyspaces 1.0.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.
@@ -0,0 +1,1597 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::Keyspaces
11
+ module Types
12
+
13
+ # You do not have sufficient access to perform this action.
14
+ #
15
+ # @!attribute [rw] message
16
+ # @return [String]
17
+ #
18
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/AccessDeniedException AWS API Documentation
19
+ #
20
+ class AccessDeniedException < Struct.new(
21
+ :message)
22
+ SENSITIVE = []
23
+ include Aws::Structure
24
+ end
25
+
26
+ # Amazon Keyspaces has two read/write capacity modes for processing
27
+ # reads and writes on your tables:
28
+ #
29
+ # * On-demand (default)
30
+ #
31
+ # * Provisioned
32
+ # ^
33
+ #
34
+ # <p> The read/write capacity mode that you choose controls how you are charged for read and write throughput and how table throughput capacity is managed. </p> <p>For more information, see <a href="https://docs.aws.amazon.com/keyspaces/latest/devguide/ReadWriteCapacityMode.html">Read/write capacity modes</a> in the <i>Amazon Keyspaces Developer Guide</i>.</p>
35
+ #
36
+ # @note When making an API call, you may pass CapacitySpecification
37
+ # data as a hash:
38
+ #
39
+ # {
40
+ # throughput_mode: "PAY_PER_REQUEST", # required, accepts PAY_PER_REQUEST, PROVISIONED
41
+ # read_capacity_units: 1,
42
+ # write_capacity_units: 1,
43
+ # }
44
+ #
45
+ # @!attribute [rw] throughput_mode
46
+ # The read/write throughput capacity mode for a table. The options
47
+ # are:
48
+ #
49
+ # * `throughputMode:PAY_PER_REQUEST` and
50
+ #
51
+ # * `throughputMode:PROVISIONED`. The provisioned capacity mode
52
+ # requires `readCapacityUnits` and `writeCapacityUnits` as inputs.
53
+ #
54
+ # The default is `throughput_mode:PAY_PER_REQUEST`.
55
+ #
56
+ # For more information, see [Read/write capacity modes][1] in the
57
+ # *Amazon Keyspaces Developer Guide*.
58
+ #
59
+ #
60
+ #
61
+ # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/ReadWriteCapacityMode.html
62
+ # @return [String]
63
+ #
64
+ # @!attribute [rw] read_capacity_units
65
+ # The throughput capacity specified for `read` operations defined in
66
+ # `read capacity units` `(RCUs)`.
67
+ # @return [Integer]
68
+ #
69
+ # @!attribute [rw] write_capacity_units
70
+ # The throughput capacity specified for `write` operations defined in
71
+ # `write capacity units` `(WCUs)`.
72
+ # @return [Integer]
73
+ #
74
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/CapacitySpecification AWS API Documentation
75
+ #
76
+ class CapacitySpecification < Struct.new(
77
+ :throughput_mode,
78
+ :read_capacity_units,
79
+ :write_capacity_units)
80
+ SENSITIVE = []
81
+ include Aws::Structure
82
+ end
83
+
84
+ # The read/write throughput capacity mode for a table. The options are:
85
+ #
86
+ # * `throughputMode:PAY_PER_REQUEST` and
87
+ #
88
+ # * `throughputMode:PROVISIONED`.
89
+ #
90
+ # For more information, see [Read/write capacity modes][1] in the
91
+ # *Amazon Keyspaces Developer Guide*.
92
+ #
93
+ #
94
+ #
95
+ # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/ReadWriteCapacityMode.html
96
+ #
97
+ # @!attribute [rw] throughput_mode
98
+ # The read/write throughput capacity mode for a table. The options
99
+ # are:
100
+ #
101
+ # * `throughputMode:PAY_PER_REQUEST` and
102
+ #
103
+ # * `throughputMode:PROVISIONED`. The provisioned capacity mode
104
+ # requires `readCapacityUnits` and `writeCapacityUnits` as inputs.
105
+ #
106
+ # The default is `throughput_mode:PAY_PER_REQUEST`.
107
+ #
108
+ # For more information, see [Read/write capacity modes][1] in the
109
+ # *Amazon Keyspaces Developer Guide*.
110
+ #
111
+ #
112
+ #
113
+ # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/ReadWriteCapacityMode.html
114
+ # @return [String]
115
+ #
116
+ # @!attribute [rw] read_capacity_units
117
+ # The throughput capacity specified for `read` operations defined in
118
+ # `read capacity units` `(RCUs)`.
119
+ # @return [Integer]
120
+ #
121
+ # @!attribute [rw] write_capacity_units
122
+ # The throughput capacity specified for `write` operations defined in
123
+ # `write capacity units` `(WCUs)`.
124
+ # @return [Integer]
125
+ #
126
+ # @!attribute [rw] last_update_to_pay_per_request_timestamp
127
+ # The timestamp of the last operation that changed the provisioned
128
+ # throughput capacity of a table.
129
+ # @return [Time]
130
+ #
131
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/CapacitySpecificationSummary AWS API Documentation
132
+ #
133
+ class CapacitySpecificationSummary < Struct.new(
134
+ :throughput_mode,
135
+ :read_capacity_units,
136
+ :write_capacity_units,
137
+ :last_update_to_pay_per_request_timestamp)
138
+ SENSITIVE = []
139
+ include Aws::Structure
140
+ end
141
+
142
+ # The optional clustering column portion of your primary key determines
143
+ # how the data is clustered and sorted within each partition.
144
+ #
145
+ # @note When making an API call, you may pass ClusteringKey
146
+ # data as a hash:
147
+ #
148
+ # {
149
+ # name: "GenericString", # required
150
+ # order_by: "ASC", # required, accepts ASC, DESC
151
+ # }
152
+ #
153
+ # @!attribute [rw] name
154
+ # The name(s) of the clustering column(s).
155
+ # @return [String]
156
+ #
157
+ # @!attribute [rw] order_by
158
+ # Sets the ascendant (`ASC`) or descendant (`DESC`) order modifier.
159
+ # @return [String]
160
+ #
161
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/ClusteringKey AWS API Documentation
162
+ #
163
+ class ClusteringKey < Struct.new(
164
+ :name,
165
+ :order_by)
166
+ SENSITIVE = []
167
+ include Aws::Structure
168
+ end
169
+
170
+ # The names and data types of regular columns.
171
+ #
172
+ # @note When making an API call, you may pass ColumnDefinition
173
+ # data as a hash:
174
+ #
175
+ # {
176
+ # name: "GenericString", # required
177
+ # type: "GenericString", # required
178
+ # }
179
+ #
180
+ # @!attribute [rw] name
181
+ # The name of the column.
182
+ # @return [String]
183
+ #
184
+ # @!attribute [rw] type
185
+ # The data type of the column. For a list of available data types, see
186
+ # [Data types][1] in the *Amazon Keyspaces Developer Guide*.
187
+ #
188
+ #
189
+ #
190
+ # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/cql.elements.html#cql.data-types
191
+ # @return [String]
192
+ #
193
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/ColumnDefinition AWS API Documentation
194
+ #
195
+ class ColumnDefinition < Struct.new(
196
+ :name,
197
+ :type)
198
+ SENSITIVE = []
199
+ include Aws::Structure
200
+ end
201
+
202
+ # An optional comment that describes the table.
203
+ #
204
+ # @note When making an API call, you may pass Comment
205
+ # data as a hash:
206
+ #
207
+ # {
208
+ # message: "String", # required
209
+ # }
210
+ #
211
+ # @!attribute [rw] message
212
+ # An optional description of the table.
213
+ # @return [String]
214
+ #
215
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/Comment AWS API Documentation
216
+ #
217
+ class Comment < Struct.new(
218
+ :message)
219
+ SENSITIVE = []
220
+ include Aws::Structure
221
+ end
222
+
223
+ # Amazon Keyspaces could not complete the requested action. This error
224
+ # may occur if you try to perform an action and the same or a different
225
+ # action is already in progress, or if you try to create a resource that
226
+ # already exists.
227
+ #
228
+ # @!attribute [rw] message
229
+ # @return [String]
230
+ #
231
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/ConflictException AWS API Documentation
232
+ #
233
+ class ConflictException < Struct.new(
234
+ :message)
235
+ SENSITIVE = []
236
+ include Aws::Structure
237
+ end
238
+
239
+ # @note When making an API call, you may pass CreateKeyspaceRequest
240
+ # data as a hash:
241
+ #
242
+ # {
243
+ # keyspace_name: "KeyspaceName", # required
244
+ # tags: [
245
+ # {
246
+ # key: "TagKey", # required
247
+ # value: "TagValue", # required
248
+ # },
249
+ # ],
250
+ # }
251
+ #
252
+ # @!attribute [rw] keyspace_name
253
+ # The name of the keyspace to be created.
254
+ # @return [String]
255
+ #
256
+ # @!attribute [rw] tags
257
+ # A list of key-value pair tags to be attached to the keyspace.
258
+ #
259
+ # For more information, see [Adding tags and labels to Amazon
260
+ # Keyspaces resources][1] in the *Amazon Keyspaces Developer Guide*.
261
+ #
262
+ #
263
+ #
264
+ # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/tagging-keyspaces.html
265
+ # @return [Array<Types::Tag>]
266
+ #
267
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/CreateKeyspaceRequest AWS API Documentation
268
+ #
269
+ class CreateKeyspaceRequest < Struct.new(
270
+ :keyspace_name,
271
+ :tags)
272
+ SENSITIVE = []
273
+ include Aws::Structure
274
+ end
275
+
276
+ # @!attribute [rw] resource_arn
277
+ # The unique identifier of the keyspace in the format of an Amazon
278
+ # Resource Name (ARN).
279
+ # @return [String]
280
+ #
281
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/CreateKeyspaceResponse AWS API Documentation
282
+ #
283
+ class CreateKeyspaceResponse < Struct.new(
284
+ :resource_arn)
285
+ SENSITIVE = []
286
+ include Aws::Structure
287
+ end
288
+
289
+ # @note When making an API call, you may pass CreateTableRequest
290
+ # data as a hash:
291
+ #
292
+ # {
293
+ # keyspace_name: "KeyspaceName", # required
294
+ # table_name: "TableName", # required
295
+ # schema_definition: { # required
296
+ # all_columns: [ # required
297
+ # {
298
+ # name: "GenericString", # required
299
+ # type: "GenericString", # required
300
+ # },
301
+ # ],
302
+ # partition_keys: [ # required
303
+ # {
304
+ # name: "GenericString", # required
305
+ # },
306
+ # ],
307
+ # clustering_keys: [
308
+ # {
309
+ # name: "GenericString", # required
310
+ # order_by: "ASC", # required, accepts ASC, DESC
311
+ # },
312
+ # ],
313
+ # static_columns: [
314
+ # {
315
+ # name: "GenericString", # required
316
+ # },
317
+ # ],
318
+ # },
319
+ # comment: {
320
+ # message: "String", # required
321
+ # },
322
+ # capacity_specification: {
323
+ # throughput_mode: "PAY_PER_REQUEST", # required, accepts PAY_PER_REQUEST, PROVISIONED
324
+ # read_capacity_units: 1,
325
+ # write_capacity_units: 1,
326
+ # },
327
+ # encryption_specification: {
328
+ # type: "CUSTOMER_MANAGED_KMS_KEY", # required, accepts CUSTOMER_MANAGED_KMS_KEY, AWS_OWNED_KMS_KEY
329
+ # kms_key_identifier: "kmsKeyARN",
330
+ # },
331
+ # point_in_time_recovery: {
332
+ # status: "ENABLED", # required, accepts ENABLED, DISABLED
333
+ # },
334
+ # ttl: {
335
+ # status: "ENABLED", # required, accepts ENABLED
336
+ # },
337
+ # default_time_to_live: 1,
338
+ # tags: [
339
+ # {
340
+ # key: "TagKey", # required
341
+ # value: "TagValue", # required
342
+ # },
343
+ # ],
344
+ # }
345
+ #
346
+ # @!attribute [rw] keyspace_name
347
+ # The name of the keyspace that the table is going to be created in.
348
+ # @return [String]
349
+ #
350
+ # @!attribute [rw] table_name
351
+ # The name of the table.
352
+ # @return [String]
353
+ #
354
+ # @!attribute [rw] schema_definition
355
+ # The `schemaDefinition` consists of the following parameters.
356
+ #
357
+ # For each column to be created:
358
+ #
359
+ # * <i> <code>name</code> </i> - The name of the column.
360
+ #
361
+ # * ` type ` - An Amazon Keyspaces data type. For more information,
362
+ # see [Data types][1] in the *Amazon Keyspaces Developer Guide*.
363
+ # ^
364
+ #
365
+ # <p>The primary key of the table consists of the following columns:</p> <ul> <li> <p> <code>partitionKeys</code> - The partition key can be a single column, or it can be a compound value composed of two or more columns. The partition key portion of the primary key is required and determines how Amazon Keyspaces stores your data.</p> <ul> <li> <p> <i> <code>name</code> </i> - The name of each partition key column.</p> </li> </ul> </li> <li> <p> <code>clusteringKeys</code> - The optional clustering column portion of your primary key determines how the data is clustered and sorted within each partition.</p> <ul> <li> <p> <i> <code>name</code> </i> - The name of the clustering column. </p> </li> <li> <p> <i> <code>orderBy</code> </i> - Sets the ascendant (<code>ASC</code>) or descendant (<code>DESC</code>) order modifier.</p> </li> </ul> </li> </ul> <p>To define a column as static use <code> <i>staticColumns</i> </code> - Static columns store values that are shared by all rows in the same partition:</p> <ul> <li> <p> <i> <code>name</code> </i> - The name of the column.</p> </li> <li> <p> <code> <i>type</i> </code> - An Amazon Keyspaces data type.</p> </li> </ul>
366
+ #
367
+ #
368
+ #
369
+ # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/cql.elements.html#cql.data-types
370
+ # @return [Types::SchemaDefinition]
371
+ #
372
+ # @!attribute [rw] comment
373
+ # This parameter allows to enter a description of the table.
374
+ # @return [Types::Comment]
375
+ #
376
+ # @!attribute [rw] capacity_specification
377
+ # Specifies the read/write throughput capacity mode for the table. The
378
+ # options are:
379
+ #
380
+ # * `throughputMode:PAY_PER_REQUEST` and
381
+ #
382
+ # * `throughputMode:PROVISIONED`. The provisioned capacity mode
383
+ # requires `readCapacityUnits` and `writeCapacityUnits` as inputs.
384
+ #
385
+ # The default is `throughput_mode:PAY_PER_REQUEST`.
386
+ #
387
+ # For more information, see [Read/write capacity modes][1] in the
388
+ # *Amazon Keyspaces Developer Guide*.
389
+ #
390
+ #
391
+ #
392
+ # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/ReadWriteCapacityMode.html
393
+ # @return [Types::CapacitySpecification]
394
+ #
395
+ # @!attribute [rw] encryption_specification
396
+ # Specifies how the encryption key for encryption at rest is managed
397
+ # for the table. You can choose one of the following KMS key (KMS
398
+ # key):
399
+ #
400
+ # <ul> <li> <p> <code>type:AWS_OWNED_KMS_KEY</code> - This key is owned by Amazon Keyspaces. </p> </li> <li> <p> <code>type:CUSTOMER_MANAGED_KMS_KEY</code> - This key is stored in your account and is created, owned, and managed by you. This option requires the <code>kms_key_identifier</code> of the KMS key in Amazon Resource Name (ARN) format as input. </p> </li> </ul> <p>The default is <code>type:AWS_OWNED_KMS_KEY</code>. </p> <p>For more information, see <a href="https://docs.aws.amazon.com/keyspaces/latest/devguide/EncryptionAtRest.html">Encryption at rest</a> in the <i>Amazon Keyspaces Developer Guide</i>.</p>
401
+ # @return [Types::EncryptionSpecification]
402
+ #
403
+ # @!attribute [rw] point_in_time_recovery
404
+ # Specifies if `pointInTimeRecovery` is enabled or disabled for the
405
+ # table. The options are:
406
+ #
407
+ # * `ENABLED`
408
+ #
409
+ # * `DISABLED`
410
+ #
411
+ # If it's not specified, the default is `DISABLED`.
412
+ #
413
+ # For more information, see [Point-in-time recovery][1] in the *Amazon
414
+ # Keyspaces Developer Guide*.
415
+ #
416
+ #
417
+ #
418
+ # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/PointInTimeRecovery.html
419
+ # @return [Types::PointInTimeRecovery]
420
+ #
421
+ # @!attribute [rw] ttl
422
+ # Enables Time to Live custom settings for the table. The options are:
423
+ #
424
+ # * `status:enabled`
425
+ #
426
+ # * `status:disabled`
427
+ #
428
+ # The default is `status:disabled`. After `ttl` is enabled, you can't
429
+ # disable it for the table.
430
+ #
431
+ # For more information, see [Expiring data by using Amazon Keyspaces
432
+ # Time to Live (TTL)][1] in the *Amazon Keyspaces Developer Guide*.
433
+ #
434
+ #
435
+ #
436
+ # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL.html
437
+ # @return [Types::TimeToLive]
438
+ #
439
+ # @!attribute [rw] default_time_to_live
440
+ # The default Time to Live setting in seconds for the table.
441
+ #
442
+ # For more information, see [Setting the default TTL value for a
443
+ # table][1] in the *Amazon Keyspaces Developer Guide*.
444
+ #
445
+ #
446
+ #
447
+ # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL-how-it-works.html#ttl-howitworks_default_ttl
448
+ # @return [Integer]
449
+ #
450
+ # @!attribute [rw] tags
451
+ # A list of key-value pair tags to be attached to the resource.
452
+ #
453
+ # For more information, see [Adding tags and labels to Amazon
454
+ # Keyspaces resources][1] in the *Amazon Keyspaces Developer Guide*.
455
+ #
456
+ #
457
+ #
458
+ # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/tagging-keyspaces.html
459
+ # @return [Array<Types::Tag>]
460
+ #
461
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/CreateTableRequest AWS API Documentation
462
+ #
463
+ class CreateTableRequest < Struct.new(
464
+ :keyspace_name,
465
+ :table_name,
466
+ :schema_definition,
467
+ :comment,
468
+ :capacity_specification,
469
+ :encryption_specification,
470
+ :point_in_time_recovery,
471
+ :ttl,
472
+ :default_time_to_live,
473
+ :tags)
474
+ SENSITIVE = []
475
+ include Aws::Structure
476
+ end
477
+
478
+ # @!attribute [rw] resource_arn
479
+ # The unique identifier of the table in the format of an Amazon
480
+ # Resource Name (ARN).
481
+ # @return [String]
482
+ #
483
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/CreateTableResponse AWS API Documentation
484
+ #
485
+ class CreateTableResponse < Struct.new(
486
+ :resource_arn)
487
+ SENSITIVE = []
488
+ include Aws::Structure
489
+ end
490
+
491
+ # @note When making an API call, you may pass DeleteKeyspaceRequest
492
+ # data as a hash:
493
+ #
494
+ # {
495
+ # keyspace_name: "KeyspaceName", # required
496
+ # }
497
+ #
498
+ # @!attribute [rw] keyspace_name
499
+ # The name of the keyspace to be deleted.
500
+ # @return [String]
501
+ #
502
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/DeleteKeyspaceRequest AWS API Documentation
503
+ #
504
+ class DeleteKeyspaceRequest < Struct.new(
505
+ :keyspace_name)
506
+ SENSITIVE = []
507
+ include Aws::Structure
508
+ end
509
+
510
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/DeleteKeyspaceResponse AWS API Documentation
511
+ #
512
+ class DeleteKeyspaceResponse < Aws::EmptyStructure; end
513
+
514
+ # @note When making an API call, you may pass DeleteTableRequest
515
+ # data as a hash:
516
+ #
517
+ # {
518
+ # keyspace_name: "KeyspaceName", # required
519
+ # table_name: "TableName", # required
520
+ # }
521
+ #
522
+ # @!attribute [rw] keyspace_name
523
+ # The name of the keyspace of the to be deleted table.
524
+ # @return [String]
525
+ #
526
+ # @!attribute [rw] table_name
527
+ # The name of the table to be deleted.
528
+ # @return [String]
529
+ #
530
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/DeleteTableRequest AWS API Documentation
531
+ #
532
+ class DeleteTableRequest < Struct.new(
533
+ :keyspace_name,
534
+ :table_name)
535
+ SENSITIVE = []
536
+ include Aws::Structure
537
+ end
538
+
539
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/DeleteTableResponse AWS API Documentation
540
+ #
541
+ class DeleteTableResponse < Aws::EmptyStructure; end
542
+
543
+ # Amazon Keyspaces encrypts and decrypts the table data at rest
544
+ # transparently and integrates with Key Management Service for storing
545
+ # and managing the encryption key. You can choose one of the following
546
+ # KMS keys (KMS keys):
547
+ #
548
+ # * Amazon Web Services owned key - This is the default encryption type.
549
+ # The key is owned by Amazon Keyspaces (no additional charge).
550
+ #
551
+ # * Customer managed key - This key is stored in your account and is
552
+ # created, owned, and managed by you. You have full control over the
553
+ # customer managed key (KMS charges apply).
554
+ #
555
+ # For more information about encryption at rest in Amazon Keyspaces, see
556
+ # [Encryption at rest][1] in the *Amazon Keyspaces Developer Guide*.
557
+ #
558
+ # For more information about KMS, see [KMS management service
559
+ # concepts][1] in the *Key Management Service Developer Guide*.
560
+ #
561
+ #
562
+ #
563
+ # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/EncryptionAtRest.html
564
+ #
565
+ # @note When making an API call, you may pass EncryptionSpecification
566
+ # data as a hash:
567
+ #
568
+ # {
569
+ # type: "CUSTOMER_MANAGED_KMS_KEY", # required, accepts CUSTOMER_MANAGED_KMS_KEY, AWS_OWNED_KMS_KEY
570
+ # kms_key_identifier: "kmsKeyARN",
571
+ # }
572
+ #
573
+ # @!attribute [rw] type
574
+ # The encryption option specified for the table. You can choose one of
575
+ # the following KMS keys (KMS keys):
576
+ #
577
+ # * `type:AWS_OWNED_KMS_KEY` - This key is owned by Amazon Keyspaces.
578
+ #
579
+ # * `type:CUSTOMER_MANAGED_KMS_KEY` - This key is stored in your
580
+ # account and is created, owned, and managed by you. This option
581
+ # requires the `kms_key_identifier` of the KMS key in Amazon
582
+ # Resource Name (ARN) format as input.
583
+ #
584
+ # The default is `type:AWS_OWNED_KMS_KEY`.
585
+ #
586
+ # For more information, see [Encryption at rest][1] in the *Amazon
587
+ # Keyspaces Developer Guide*.
588
+ #
589
+ #
590
+ #
591
+ # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/EncryptionAtRest.html
592
+ # @return [String]
593
+ #
594
+ # @!attribute [rw] kms_key_identifier
595
+ # The Amazon Resource Name (ARN) of the customer managed KMS key, for
596
+ # example `kms_key_identifier:ARN`.
597
+ # @return [String]
598
+ #
599
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/EncryptionSpecification AWS API Documentation
600
+ #
601
+ class EncryptionSpecification < Struct.new(
602
+ :type,
603
+ :kms_key_identifier)
604
+ SENSITIVE = []
605
+ include Aws::Structure
606
+ end
607
+
608
+ # @note When making an API call, you may pass GetKeyspaceRequest
609
+ # data as a hash:
610
+ #
611
+ # {
612
+ # keyspace_name: "KeyspaceName", # required
613
+ # }
614
+ #
615
+ # @!attribute [rw] keyspace_name
616
+ # The name of the keyspace.
617
+ # @return [String]
618
+ #
619
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/GetKeyspaceRequest AWS API Documentation
620
+ #
621
+ class GetKeyspaceRequest < Struct.new(
622
+ :keyspace_name)
623
+ SENSITIVE = []
624
+ include Aws::Structure
625
+ end
626
+
627
+ # @!attribute [rw] keyspace_name
628
+ # The name of the keyspace.
629
+ # @return [String]
630
+ #
631
+ # @!attribute [rw] resource_arn
632
+ # The ARN of the keyspace.
633
+ # @return [String]
634
+ #
635
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/GetKeyspaceResponse AWS API Documentation
636
+ #
637
+ class GetKeyspaceResponse < Struct.new(
638
+ :keyspace_name,
639
+ :resource_arn)
640
+ SENSITIVE = []
641
+ include Aws::Structure
642
+ end
643
+
644
+ # @note When making an API call, you may pass GetTableRequest
645
+ # data as a hash:
646
+ #
647
+ # {
648
+ # keyspace_name: "KeyspaceName", # required
649
+ # table_name: "TableName", # required
650
+ # }
651
+ #
652
+ # @!attribute [rw] keyspace_name
653
+ # The name of the keyspace that the table is stored in.
654
+ # @return [String]
655
+ #
656
+ # @!attribute [rw] table_name
657
+ # The name of the table.
658
+ # @return [String]
659
+ #
660
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/GetTableRequest AWS API Documentation
661
+ #
662
+ class GetTableRequest < Struct.new(
663
+ :keyspace_name,
664
+ :table_name)
665
+ SENSITIVE = []
666
+ include Aws::Structure
667
+ end
668
+
669
+ # @!attribute [rw] keyspace_name
670
+ # The name of the keyspace that the specified table is stored in.
671
+ # @return [String]
672
+ #
673
+ # @!attribute [rw] table_name
674
+ # The name of the specified table.
675
+ # @return [String]
676
+ #
677
+ # @!attribute [rw] resource_arn
678
+ # The Amazon Resource Name (ARN) of the specified table.
679
+ # @return [String]
680
+ #
681
+ # @!attribute [rw] creation_timestamp
682
+ # The creation timestamp of the specified table.
683
+ # @return [Time]
684
+ #
685
+ # @!attribute [rw] status
686
+ # The current status of the specified table.
687
+ # @return [String]
688
+ #
689
+ # @!attribute [rw] schema_definition
690
+ # The schema definition of the specified table.
691
+ # @return [Types::SchemaDefinition]
692
+ #
693
+ # @!attribute [rw] capacity_specification
694
+ # The read/write throughput capacity mode for a table. The options
695
+ # are:
696
+ #
697
+ # * `throughputMode:PAY_PER_REQUEST` and
698
+ #
699
+ # * `throughputMode:PROVISIONED`.
700
+ # @return [Types::CapacitySpecificationSummary]
701
+ #
702
+ # @!attribute [rw] encryption_specification
703
+ # The encryption settings of the specified table.
704
+ # @return [Types::EncryptionSpecification]
705
+ #
706
+ # @!attribute [rw] point_in_time_recovery
707
+ # The point-in-time recovery status of the specified table.
708
+ # @return [Types::PointInTimeRecoverySummary]
709
+ #
710
+ # @!attribute [rw] ttl
711
+ # The custom Time to Live settings of the specified table.
712
+ # @return [Types::TimeToLive]
713
+ #
714
+ # @!attribute [rw] default_time_to_live
715
+ # The default Time to Live settings of the specified table.
716
+ # @return [Integer]
717
+ #
718
+ # @!attribute [rw] comment
719
+ # The the description of the specified table.
720
+ # @return [Types::Comment]
721
+ #
722
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/GetTableResponse AWS API Documentation
723
+ #
724
+ class GetTableResponse < Struct.new(
725
+ :keyspace_name,
726
+ :table_name,
727
+ :resource_arn,
728
+ :creation_timestamp,
729
+ :status,
730
+ :schema_definition,
731
+ :capacity_specification,
732
+ :encryption_specification,
733
+ :point_in_time_recovery,
734
+ :ttl,
735
+ :default_time_to_live,
736
+ :comment)
737
+ SENSITIVE = []
738
+ include Aws::Structure
739
+ end
740
+
741
+ # Amazon Keyspaces was unable to fully process this request because of
742
+ # an internal server error.
743
+ #
744
+ # @!attribute [rw] message
745
+ # @return [String]
746
+ #
747
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/InternalServerException AWS API Documentation
748
+ #
749
+ class InternalServerException < Struct.new(
750
+ :message)
751
+ SENSITIVE = []
752
+ include Aws::Structure
753
+ end
754
+
755
+ # Represents the properties of a keyspace.
756
+ #
757
+ # @!attribute [rw] keyspace_name
758
+ # The name of the keyspace.
759
+ # @return [String]
760
+ #
761
+ # @!attribute [rw] resource_arn
762
+ # The unique identifier of the keyspace in the format of an Amazon
763
+ # Resource Name (ARN).
764
+ # @return [String]
765
+ #
766
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/KeyspaceSummary AWS API Documentation
767
+ #
768
+ class KeyspaceSummary < Struct.new(
769
+ :keyspace_name,
770
+ :resource_arn)
771
+ SENSITIVE = []
772
+ include Aws::Structure
773
+ end
774
+
775
+ # @note When making an API call, you may pass ListKeyspacesRequest
776
+ # data as a hash:
777
+ #
778
+ # {
779
+ # next_token: "NextToken",
780
+ # max_results: 1,
781
+ # }
782
+ #
783
+ # @!attribute [rw] next_token
784
+ # The pagination token. To resume pagination, provide the `NextToken`
785
+ # value as argument of a subsequent API invocation.
786
+ # @return [String]
787
+ #
788
+ # @!attribute [rw] max_results
789
+ # The total number of keyspaces to return in the output. If the total
790
+ # number of keyspaces available is more than the value specified, a
791
+ # `NextToken` is provided in the output. To resume pagination, provide
792
+ # the `NextToken` value as an argument of a subsequent API invocation.
793
+ # @return [Integer]
794
+ #
795
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/ListKeyspacesRequest AWS API Documentation
796
+ #
797
+ class ListKeyspacesRequest < Struct.new(
798
+ :next_token,
799
+ :max_results)
800
+ SENSITIVE = []
801
+ include Aws::Structure
802
+ end
803
+
804
+ # @!attribute [rw] next_token
805
+ # A token to specify where to start paginating. This is the
806
+ # `NextToken` from a previously truncated response.
807
+ # @return [String]
808
+ #
809
+ # @!attribute [rw] keyspaces
810
+ # A list of keyspaces.
811
+ # @return [Array<Types::KeyspaceSummary>]
812
+ #
813
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/ListKeyspacesResponse AWS API Documentation
814
+ #
815
+ class ListKeyspacesResponse < Struct.new(
816
+ :next_token,
817
+ :keyspaces)
818
+ SENSITIVE = []
819
+ include Aws::Structure
820
+ end
821
+
822
+ # @note When making an API call, you may pass ListTablesRequest
823
+ # data as a hash:
824
+ #
825
+ # {
826
+ # next_token: "NextToken",
827
+ # max_results: 1,
828
+ # keyspace_name: "KeyspaceName", # required
829
+ # }
830
+ #
831
+ # @!attribute [rw] next_token
832
+ # The pagination token. To resume pagination, provide the `NextToken`
833
+ # value as an argument of a subsequent API invocation.
834
+ # @return [String]
835
+ #
836
+ # @!attribute [rw] max_results
837
+ # The total number of tables to return in the output. If the total
838
+ # number of tables available is more than the value specified, a
839
+ # `NextToken` is provided in the output. To resume pagination, provide
840
+ # the `NextToken` value as an argument of a subsequent API invocation.
841
+ # @return [Integer]
842
+ #
843
+ # @!attribute [rw] keyspace_name
844
+ # The name of the keyspace.
845
+ # @return [String]
846
+ #
847
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/ListTablesRequest AWS API Documentation
848
+ #
849
+ class ListTablesRequest < Struct.new(
850
+ :next_token,
851
+ :max_results,
852
+ :keyspace_name)
853
+ SENSITIVE = []
854
+ include Aws::Structure
855
+ end
856
+
857
+ # @!attribute [rw] next_token
858
+ # A token to specify where to start paginating. This is the
859
+ # `NextToken` from a previously truncated response.
860
+ # @return [String]
861
+ #
862
+ # @!attribute [rw] tables
863
+ # A list of tables.
864
+ # @return [Array<Types::TableSummary>]
865
+ #
866
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/ListTablesResponse AWS API Documentation
867
+ #
868
+ class ListTablesResponse < Struct.new(
869
+ :next_token,
870
+ :tables)
871
+ SENSITIVE = []
872
+ include Aws::Structure
873
+ end
874
+
875
+ # @note When making an API call, you may pass ListTagsForResourceRequest
876
+ # data as a hash:
877
+ #
878
+ # {
879
+ # resource_arn: "ARN", # required
880
+ # next_token: "NextToken",
881
+ # max_results: 1,
882
+ # }
883
+ #
884
+ # @!attribute [rw] resource_arn
885
+ # The Amazon Resource Name (ARN) of the Amazon Keyspaces resource.
886
+ # @return [String]
887
+ #
888
+ # @!attribute [rw] next_token
889
+ # The pagination token. To resume pagination, provide the `NextToken`
890
+ # value as argument of a subsequent API invocation.
891
+ # @return [String]
892
+ #
893
+ # @!attribute [rw] max_results
894
+ # The total number of tags to return in the output. If the total
895
+ # number of tags available is more than the value specified, a
896
+ # `NextToken` is provided in the output. To resume pagination, provide
897
+ # the `NextToken` value as an argument of a subsequent API invocation.
898
+ # @return [Integer]
899
+ #
900
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/ListTagsForResourceRequest AWS API Documentation
901
+ #
902
+ class ListTagsForResourceRequest < Struct.new(
903
+ :resource_arn,
904
+ :next_token,
905
+ :max_results)
906
+ SENSITIVE = []
907
+ include Aws::Structure
908
+ end
909
+
910
+ # @!attribute [rw] next_token
911
+ # A token to specify where to start paginating. This is the
912
+ # `NextToken` from a previously truncated response.
913
+ # @return [String]
914
+ #
915
+ # @!attribute [rw] tags
916
+ # A list of tags.
917
+ # @return [Array<Types::Tag>]
918
+ #
919
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/ListTagsForResourceResponse AWS API Documentation
920
+ #
921
+ class ListTagsForResourceResponse < Struct.new(
922
+ :next_token,
923
+ :tags)
924
+ SENSITIVE = []
925
+ include Aws::Structure
926
+ end
927
+
928
+ # The partition key portion of the primary key is required and
929
+ # determines how Amazon Keyspaces stores the data. The partition key can
930
+ # be a single column, or it can be a compound value composed of two or
931
+ # more columns.
932
+ #
933
+ # @note When making an API call, you may pass PartitionKey
934
+ # data as a hash:
935
+ #
936
+ # {
937
+ # name: "GenericString", # required
938
+ # }
939
+ #
940
+ # @!attribute [rw] name
941
+ # The name(s) of the partition key column(s).
942
+ # @return [String]
943
+ #
944
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/PartitionKey AWS API Documentation
945
+ #
946
+ class PartitionKey < Struct.new(
947
+ :name)
948
+ SENSITIVE = []
949
+ include Aws::Structure
950
+ end
951
+
952
+ # Point-in-time recovery (PITR) helps protect your Amazon Keyspaces
953
+ # tables from accidental write or delete operations by providing you
954
+ # continuous backups of your table data.
955
+ #
956
+ # For more information, see [Point-in-time recovery][1] in the *Amazon
957
+ # Keyspaces Developer Guide*.
958
+ #
959
+ #
960
+ #
961
+ # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/PointInTimeRecovery.html
962
+ #
963
+ # @note When making an API call, you may pass PointInTimeRecovery
964
+ # data as a hash:
965
+ #
966
+ # {
967
+ # status: "ENABLED", # required, accepts ENABLED, DISABLED
968
+ # }
969
+ #
970
+ # @!attribute [rw] status
971
+ # The options are:
972
+ #
973
+ # * `ENABLED`
974
+ #
975
+ # * `DISABLED`
976
+ # @return [String]
977
+ #
978
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/PointInTimeRecovery AWS API Documentation
979
+ #
980
+ class PointInTimeRecovery < Struct.new(
981
+ :status)
982
+ SENSITIVE = []
983
+ include Aws::Structure
984
+ end
985
+
986
+ # The point-in-time recovery status of the specified table.
987
+ #
988
+ # @!attribute [rw] status
989
+ # Shows if point-in-time recovery is enabled or disabled for the
990
+ # specified table.
991
+ # @return [String]
992
+ #
993
+ # @!attribute [rw] earliest_restorable_timestamp
994
+ # Specifies the earliest possible restore point of the table in ISO
995
+ # 8601 format.
996
+ # @return [Time]
997
+ #
998
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/PointInTimeRecoverySummary AWS API Documentation
999
+ #
1000
+ class PointInTimeRecoverySummary < Struct.new(
1001
+ :status,
1002
+ :earliest_restorable_timestamp)
1003
+ SENSITIVE = []
1004
+ include Aws::Structure
1005
+ end
1006
+
1007
+ # The operation tried to access a keyspace or table that doesn't exist.
1008
+ # The resource might not be specified correctly, or its status might not
1009
+ # be `ACTIVE`.
1010
+ #
1011
+ # @!attribute [rw] message
1012
+ # @return [String]
1013
+ #
1014
+ # @!attribute [rw] resource_arn
1015
+ # The unique identifier in the format of Amazon Resource Name (ARN),
1016
+ # for the resource not found.
1017
+ # @return [String]
1018
+ #
1019
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/ResourceNotFoundException AWS API Documentation
1020
+ #
1021
+ class ResourceNotFoundException < Struct.new(
1022
+ :message,
1023
+ :resource_arn)
1024
+ SENSITIVE = []
1025
+ include Aws::Structure
1026
+ end
1027
+
1028
+ # @note When making an API call, you may pass RestoreTableRequest
1029
+ # data as a hash:
1030
+ #
1031
+ # {
1032
+ # source_keyspace_name: "KeyspaceName", # required
1033
+ # source_table_name: "TableName", # required
1034
+ # target_keyspace_name: "KeyspaceName", # required
1035
+ # target_table_name: "TableName", # required
1036
+ # restore_timestamp: Time.now,
1037
+ # capacity_specification_override: {
1038
+ # throughput_mode: "PAY_PER_REQUEST", # required, accepts PAY_PER_REQUEST, PROVISIONED
1039
+ # read_capacity_units: 1,
1040
+ # write_capacity_units: 1,
1041
+ # },
1042
+ # encryption_specification_override: {
1043
+ # type: "CUSTOMER_MANAGED_KMS_KEY", # required, accepts CUSTOMER_MANAGED_KMS_KEY, AWS_OWNED_KMS_KEY
1044
+ # kms_key_identifier: "kmsKeyARN",
1045
+ # },
1046
+ # point_in_time_recovery_override: {
1047
+ # status: "ENABLED", # required, accepts ENABLED, DISABLED
1048
+ # },
1049
+ # tags_override: [
1050
+ # {
1051
+ # key: "TagKey", # required
1052
+ # value: "TagValue", # required
1053
+ # },
1054
+ # ],
1055
+ # }
1056
+ #
1057
+ # @!attribute [rw] source_keyspace_name
1058
+ # The keyspace name of the source table.
1059
+ # @return [String]
1060
+ #
1061
+ # @!attribute [rw] source_table_name
1062
+ # The name of the source table.
1063
+ # @return [String]
1064
+ #
1065
+ # @!attribute [rw] target_keyspace_name
1066
+ # The name of the target keyspace.
1067
+ # @return [String]
1068
+ #
1069
+ # @!attribute [rw] target_table_name
1070
+ # The name of the target table.
1071
+ # @return [String]
1072
+ #
1073
+ # @!attribute [rw] restore_timestamp
1074
+ # The restore timestamp in ISO 8601 format.
1075
+ # @return [Time]
1076
+ #
1077
+ # @!attribute [rw] capacity_specification_override
1078
+ # Specifies the read/write throughput capacity mode for the target
1079
+ # table. The options are:
1080
+ #
1081
+ # * `throughputMode:PAY_PER_REQUEST` and
1082
+ #
1083
+ # * `throughputMode:PROVISIONED`. The provisioned capacity mode
1084
+ # requires `readCapacityUnits` and `writeCapacityUnits` as inputs.
1085
+ #
1086
+ # The default is `throughput_mode:PAY_PER_REQUEST`.
1087
+ #
1088
+ # For more information, see [Read/write capacity modes][1] in the
1089
+ # *Amazon Keyspaces Developer Guide*.
1090
+ #
1091
+ #
1092
+ #
1093
+ # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/ReadWriteCapacityMode.html
1094
+ # @return [Types::CapacitySpecification]
1095
+ #
1096
+ # @!attribute [rw] encryption_specification_override
1097
+ # Specifies the encryption settings for the target table. You can
1098
+ # choose one of the following KMS key (KMS key):
1099
+ #
1100
+ # <ul> <li> <p> <code>type:AWS_OWNED_KMS_KEY</code> - This key is owned by Amazon Keyspaces. </p> </li> <li> <p> <code>type:CUSTOMER_MANAGED_KMS_KEY</code> - This key is stored in your account and is created, owned, and managed by you. This option requires the <code>kms_key_identifier</code> of the KMS key in Amazon Resource Name (ARN) format as input. </p> </li> </ul> <p>The default is <code>type:AWS_OWNED_KMS_KEY</code>. </p> <p>For more information, see <a href="https://docs.aws.amazon.com/keyspaces/latest/devguide/EncryptionAtRest.html">Encryption at rest</a> in the <i>Amazon Keyspaces Developer Guide</i>.</p>
1101
+ # @return [Types::EncryptionSpecification]
1102
+ #
1103
+ # @!attribute [rw] point_in_time_recovery_override
1104
+ # Specifies the `pointInTimeRecovery` settings for the target table.
1105
+ # The options are:
1106
+ #
1107
+ # * `ENABLED`
1108
+ #
1109
+ # * `DISABLED`
1110
+ #
1111
+ # If it's not specified, the default is `DISABLED`.
1112
+ #
1113
+ # For more information, see [Point-in-time recovery][1] in the *Amazon
1114
+ # Keyspaces Developer Guide*.
1115
+ #
1116
+ #
1117
+ #
1118
+ # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/PointInTimeRecovery.html
1119
+ # @return [Types::PointInTimeRecovery]
1120
+ #
1121
+ # @!attribute [rw] tags_override
1122
+ # A list of key-value pair tags to be attached to the restored table.
1123
+ #
1124
+ # For more information, see [Adding tags and labels to Amazon
1125
+ # Keyspaces resources][1] in the *Amazon Keyspaces Developer Guide*.
1126
+ #
1127
+ #
1128
+ #
1129
+ # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/tagging-keyspaces.html
1130
+ # @return [Array<Types::Tag>]
1131
+ #
1132
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/RestoreTableRequest AWS API Documentation
1133
+ #
1134
+ class RestoreTableRequest < Struct.new(
1135
+ :source_keyspace_name,
1136
+ :source_table_name,
1137
+ :target_keyspace_name,
1138
+ :target_table_name,
1139
+ :restore_timestamp,
1140
+ :capacity_specification_override,
1141
+ :encryption_specification_override,
1142
+ :point_in_time_recovery_override,
1143
+ :tags_override)
1144
+ SENSITIVE = []
1145
+ include Aws::Structure
1146
+ end
1147
+
1148
+ # @!attribute [rw] restored_table_arn
1149
+ # The Amazon Resource Name (ARN) of the restored table.
1150
+ # @return [String]
1151
+ #
1152
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/RestoreTableResponse AWS API Documentation
1153
+ #
1154
+ class RestoreTableResponse < Struct.new(
1155
+ :restored_table_arn)
1156
+ SENSITIVE = []
1157
+ include Aws::Structure
1158
+ end
1159
+
1160
+ # Describes the schema of the table.
1161
+ #
1162
+ # @note When making an API call, you may pass SchemaDefinition
1163
+ # data as a hash:
1164
+ #
1165
+ # {
1166
+ # all_columns: [ # required
1167
+ # {
1168
+ # name: "GenericString", # required
1169
+ # type: "GenericString", # required
1170
+ # },
1171
+ # ],
1172
+ # partition_keys: [ # required
1173
+ # {
1174
+ # name: "GenericString", # required
1175
+ # },
1176
+ # ],
1177
+ # clustering_keys: [
1178
+ # {
1179
+ # name: "GenericString", # required
1180
+ # order_by: "ASC", # required, accepts ASC, DESC
1181
+ # },
1182
+ # ],
1183
+ # static_columns: [
1184
+ # {
1185
+ # name: "GenericString", # required
1186
+ # },
1187
+ # ],
1188
+ # }
1189
+ #
1190
+ # @!attribute [rw] all_columns
1191
+ # The regular columns of the table.
1192
+ # @return [Array<Types::ColumnDefinition>]
1193
+ #
1194
+ # @!attribute [rw] partition_keys
1195
+ # The columns that are part of the partition key of the table .
1196
+ # @return [Array<Types::PartitionKey>]
1197
+ #
1198
+ # @!attribute [rw] clustering_keys
1199
+ # The columns that are part of the clustering key of the table.
1200
+ # @return [Array<Types::ClusteringKey>]
1201
+ #
1202
+ # @!attribute [rw] static_columns
1203
+ # The columns that have been defined as `STATIC`. Static columns store
1204
+ # values that are shared by all rows in the same partition.
1205
+ # @return [Array<Types::StaticColumn>]
1206
+ #
1207
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/SchemaDefinition AWS API Documentation
1208
+ #
1209
+ class SchemaDefinition < Struct.new(
1210
+ :all_columns,
1211
+ :partition_keys,
1212
+ :clustering_keys,
1213
+ :static_columns)
1214
+ SENSITIVE = []
1215
+ include Aws::Structure
1216
+ end
1217
+
1218
+ # The operation exceeded the service quota for this resource. For more
1219
+ # information on service quotas, see [Quotas][1] in the *Amazon
1220
+ # Keyspaces Developer Guide*.
1221
+ #
1222
+ #
1223
+ #
1224
+ # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/quotas.html
1225
+ #
1226
+ # @!attribute [rw] message
1227
+ # @return [String]
1228
+ #
1229
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/ServiceQuotaExceededException AWS API Documentation
1230
+ #
1231
+ class ServiceQuotaExceededException < Struct.new(
1232
+ :message)
1233
+ SENSITIVE = []
1234
+ include Aws::Structure
1235
+ end
1236
+
1237
+ # The static columns of the table. Static columns store values that are
1238
+ # shared by all rows in the same partition.
1239
+ #
1240
+ # @note When making an API call, you may pass StaticColumn
1241
+ # data as a hash:
1242
+ #
1243
+ # {
1244
+ # name: "GenericString", # required
1245
+ # }
1246
+ #
1247
+ # @!attribute [rw] name
1248
+ # The name of the static column.
1249
+ # @return [String]
1250
+ #
1251
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/StaticColumn AWS API Documentation
1252
+ #
1253
+ class StaticColumn < Struct.new(
1254
+ :name)
1255
+ SENSITIVE = []
1256
+ include Aws::Structure
1257
+ end
1258
+
1259
+ # Returns the name of the specified table, the keyspace it is stored in,
1260
+ # and the unique identifier in the format of an Amazon Resource Name
1261
+ # (ARN).
1262
+ #
1263
+ # @!attribute [rw] keyspace_name
1264
+ # The name of the keyspace that the table is stored in.
1265
+ # @return [String]
1266
+ #
1267
+ # @!attribute [rw] table_name
1268
+ # The name of the table.
1269
+ # @return [String]
1270
+ #
1271
+ # @!attribute [rw] resource_arn
1272
+ # The unique identifier of the table in the format of an Amazon
1273
+ # Resource Name (ARN).
1274
+ # @return [String]
1275
+ #
1276
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/TableSummary AWS API Documentation
1277
+ #
1278
+ class TableSummary < Struct.new(
1279
+ :keyspace_name,
1280
+ :table_name,
1281
+ :resource_arn)
1282
+ SENSITIVE = []
1283
+ include Aws::Structure
1284
+ end
1285
+
1286
+ # Describes a tag. A tag is a key-value pair. You can add up to 50 tags
1287
+ # to a single Amazon Keyspaces resource.
1288
+ #
1289
+ # Amazon Web Services-assigned tag names and values are automatically
1290
+ # assigned the `aws:` prefix, which the user cannot assign. Amazon Web
1291
+ # Services-assigned tag names do not count towards the tag limit of 50.
1292
+ # User-assigned tag names have the prefix `user:` in the Cost Allocation
1293
+ # Report. You cannot backdate the application of a tag.
1294
+ #
1295
+ # For more information, see [Adding tags and labels to Amazon Keyspaces
1296
+ # resources][1] in the *Amazon Keyspaces Developer Guide*.
1297
+ #
1298
+ #
1299
+ #
1300
+ # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/tagging-keyspaces.html
1301
+ #
1302
+ # @note When making an API call, you may pass Tag
1303
+ # data as a hash:
1304
+ #
1305
+ # {
1306
+ # key: "TagKey", # required
1307
+ # value: "TagValue", # required
1308
+ # }
1309
+ #
1310
+ # @!attribute [rw] key
1311
+ # The key of the tag. Tag keys are case sensitive. Each Amazon
1312
+ # Keyspaces resource can only have up to one tag with the same key. If
1313
+ # you try to add an existing tag (same key), the existing tag value
1314
+ # will be updated to the new value.
1315
+ # @return [String]
1316
+ #
1317
+ # @!attribute [rw] value
1318
+ # The value of the tag. Tag values are case-sensitive and can be null.
1319
+ # @return [String]
1320
+ #
1321
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/Tag AWS API Documentation
1322
+ #
1323
+ class Tag < Struct.new(
1324
+ :key,
1325
+ :value)
1326
+ SENSITIVE = []
1327
+ include Aws::Structure
1328
+ end
1329
+
1330
+ # @note When making an API call, you may pass TagResourceRequest
1331
+ # data as a hash:
1332
+ #
1333
+ # {
1334
+ # resource_arn: "ARN", # required
1335
+ # tags: [ # required
1336
+ # {
1337
+ # key: "TagKey", # required
1338
+ # value: "TagValue", # required
1339
+ # },
1340
+ # ],
1341
+ # }
1342
+ #
1343
+ # @!attribute [rw] resource_arn
1344
+ # The Amazon Resource Name (ARN) of the Amazon Keyspaces resource to
1345
+ # which to add tags.
1346
+ # @return [String]
1347
+ #
1348
+ # @!attribute [rw] tags
1349
+ # The tags to be assigned to the Amazon Keyspaces resource.
1350
+ # @return [Array<Types::Tag>]
1351
+ #
1352
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/TagResourceRequest AWS API Documentation
1353
+ #
1354
+ class TagResourceRequest < Struct.new(
1355
+ :resource_arn,
1356
+ :tags)
1357
+ SENSITIVE = []
1358
+ include Aws::Structure
1359
+ end
1360
+
1361
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/TagResourceResponse AWS API Documentation
1362
+ #
1363
+ class TagResourceResponse < Aws::EmptyStructure; end
1364
+
1365
+ # Enable custom Time to Live (TTL) settings for rows and columns without
1366
+ # setting a TTL default for the specified table.
1367
+ #
1368
+ # For more information, see [Enabling TTL on tables][1] in the *Amazon
1369
+ # Keyspaces Developer Guide*.
1370
+ #
1371
+ #
1372
+ #
1373
+ # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL-how-it-works.html#ttl-howitworks_enabling
1374
+ #
1375
+ # @note When making an API call, you may pass TimeToLive
1376
+ # data as a hash:
1377
+ #
1378
+ # {
1379
+ # status: "ENABLED", # required, accepts ENABLED
1380
+ # }
1381
+ #
1382
+ # @!attribute [rw] status
1383
+ # Shows how to enable custom Time to Live (TTL) settings for the
1384
+ # specified table.
1385
+ # @return [String]
1386
+ #
1387
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/TimeToLive AWS API Documentation
1388
+ #
1389
+ class TimeToLive < Struct.new(
1390
+ :status)
1391
+ SENSITIVE = []
1392
+ include Aws::Structure
1393
+ end
1394
+
1395
+ # @note When making an API call, you may pass UntagResourceRequest
1396
+ # data as a hash:
1397
+ #
1398
+ # {
1399
+ # resource_arn: "ARN", # required
1400
+ # tags: [ # required
1401
+ # {
1402
+ # key: "TagKey", # required
1403
+ # value: "TagValue", # required
1404
+ # },
1405
+ # ],
1406
+ # }
1407
+ #
1408
+ # @!attribute [rw] resource_arn
1409
+ # The Amazon Keyspaces resource that the tags will be removed from.
1410
+ # This value is an Amazon Resource Name (ARN).
1411
+ # @return [String]
1412
+ #
1413
+ # @!attribute [rw] tags
1414
+ # A list of existing tags to be removed from the Amazon Keyspaces
1415
+ # resource.
1416
+ # @return [Array<Types::Tag>]
1417
+ #
1418
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/UntagResourceRequest AWS API Documentation
1419
+ #
1420
+ class UntagResourceRequest < Struct.new(
1421
+ :resource_arn,
1422
+ :tags)
1423
+ SENSITIVE = []
1424
+ include Aws::Structure
1425
+ end
1426
+
1427
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/UntagResourceResponse AWS API Documentation
1428
+ #
1429
+ class UntagResourceResponse < Aws::EmptyStructure; end
1430
+
1431
+ # @note When making an API call, you may pass UpdateTableRequest
1432
+ # data as a hash:
1433
+ #
1434
+ # {
1435
+ # keyspace_name: "KeyspaceName", # required
1436
+ # table_name: "TableName", # required
1437
+ # add_columns: [
1438
+ # {
1439
+ # name: "GenericString", # required
1440
+ # type: "GenericString", # required
1441
+ # },
1442
+ # ],
1443
+ # capacity_specification: {
1444
+ # throughput_mode: "PAY_PER_REQUEST", # required, accepts PAY_PER_REQUEST, PROVISIONED
1445
+ # read_capacity_units: 1,
1446
+ # write_capacity_units: 1,
1447
+ # },
1448
+ # encryption_specification: {
1449
+ # type: "CUSTOMER_MANAGED_KMS_KEY", # required, accepts CUSTOMER_MANAGED_KMS_KEY, AWS_OWNED_KMS_KEY
1450
+ # kms_key_identifier: "kmsKeyARN",
1451
+ # },
1452
+ # point_in_time_recovery: {
1453
+ # status: "ENABLED", # required, accepts ENABLED, DISABLED
1454
+ # },
1455
+ # ttl: {
1456
+ # status: "ENABLED", # required, accepts ENABLED
1457
+ # },
1458
+ # default_time_to_live: 1,
1459
+ # }
1460
+ #
1461
+ # @!attribute [rw] keyspace_name
1462
+ # The name of the keyspace the specified table is stored in.
1463
+ # @return [String]
1464
+ #
1465
+ # @!attribute [rw] table_name
1466
+ # The name of the table.
1467
+ # @return [String]
1468
+ #
1469
+ # @!attribute [rw] add_columns
1470
+ # For each column to be added to the specified table:
1471
+ #
1472
+ # * <i> <code>name</code> </i> - The name of the column.
1473
+ #
1474
+ # * ` type ` - An Amazon Keyspaces data type. For more information,
1475
+ # see [Data types][1] in the *Amazon Keyspaces Developer Guide*.
1476
+ #
1477
+ #
1478
+ #
1479
+ # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/cql.elements.html#cql.data-types
1480
+ # @return [Array<Types::ColumnDefinition>]
1481
+ #
1482
+ # @!attribute [rw] capacity_specification
1483
+ # Modifies the read/write throughput capacity mode for the table. The
1484
+ # options are:
1485
+ #
1486
+ # * `throughputMode:PAY_PER_REQUEST` and
1487
+ #
1488
+ # * `throughputMode:PROVISIONED`. The provisioned capacity mode
1489
+ # requires `readCapacityUnits` and `writeCapacityUnits` as inputs.
1490
+ #
1491
+ # The default is `throughput_mode:PAY_PER_REQUEST`.
1492
+ #
1493
+ # For more information, see [Read/write capacity modes][1] in the
1494
+ # *Amazon Keyspaces Developer Guide*.
1495
+ #
1496
+ #
1497
+ #
1498
+ # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/ReadWriteCapacityMode.html
1499
+ # @return [Types::CapacitySpecification]
1500
+ #
1501
+ # @!attribute [rw] encryption_specification
1502
+ # Modifies the encryption settings of the table. You can choose one of
1503
+ # the following KMS key (KMS key):
1504
+ #
1505
+ # <ul> <li> <p> <code>type:AWS_OWNED_KMS_KEY</code> - This key is owned by Amazon Keyspaces. </p> </li> <li> <p> <code>type:CUSTOMER_MANAGED_KMS_KEY</code> - This key is stored in your account and is created, owned, and managed by you. This option requires the <code>kms_key_identifier</code> of the KMS key in Amazon Resource Name (ARN) format as input. </p> </li> </ul> <p>The default is <code>AWS_OWNED_KMS_KEY</code>. </p> <p>For more information, see <a href="https://docs.aws.amazon.com/keyspaces/latest/devguide/EncryptionAtRest.html">Encryption at rest</a> in the <i>Amazon Keyspaces Developer Guide</i>.</p>
1506
+ # @return [Types::EncryptionSpecification]
1507
+ #
1508
+ # @!attribute [rw] point_in_time_recovery
1509
+ # Modifies the `pointInTimeRecovery` settings of the table. The
1510
+ # options are:
1511
+ #
1512
+ # * `ENABLED`
1513
+ #
1514
+ # * `DISABLED`
1515
+ #
1516
+ # If it's not specified, the default is `DISABLED`.
1517
+ #
1518
+ # For more information, see [Point-in-time recovery][1] in the *Amazon
1519
+ # Keyspaces Developer Guide*.
1520
+ #
1521
+ #
1522
+ #
1523
+ # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/PointInTimeRecovery.html
1524
+ # @return [Types::PointInTimeRecovery]
1525
+ #
1526
+ # @!attribute [rw] ttl
1527
+ # Modifies Time to Live custom settings for the table. The options
1528
+ # are:
1529
+ #
1530
+ # * `status:enabled`
1531
+ #
1532
+ # * `status:disabled`
1533
+ #
1534
+ # The default is `status:disabled`. After `ttl` is enabled, you can't
1535
+ # disable it for the table.
1536
+ #
1537
+ # For more information, see [Expiring data by using Amazon Keyspaces
1538
+ # Time to Live (TTL)][1] in the *Amazon Keyspaces Developer Guide*.
1539
+ #
1540
+ #
1541
+ #
1542
+ # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL.html
1543
+ # @return [Types::TimeToLive]
1544
+ #
1545
+ # @!attribute [rw] default_time_to_live
1546
+ # The default Time to Live setting in seconds for the table.
1547
+ #
1548
+ # For more information, see [Setting the default TTL value for a
1549
+ # table][1] in the *Amazon Keyspaces Developer Guide*.
1550
+ #
1551
+ #
1552
+ #
1553
+ # [1]: https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL-how-it-works.html#ttl-howitworks_default_ttl
1554
+ # @return [Integer]
1555
+ #
1556
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/UpdateTableRequest AWS API Documentation
1557
+ #
1558
+ class UpdateTableRequest < Struct.new(
1559
+ :keyspace_name,
1560
+ :table_name,
1561
+ :add_columns,
1562
+ :capacity_specification,
1563
+ :encryption_specification,
1564
+ :point_in_time_recovery,
1565
+ :ttl,
1566
+ :default_time_to_live)
1567
+ SENSITIVE = []
1568
+ include Aws::Structure
1569
+ end
1570
+
1571
+ # @!attribute [rw] resource_arn
1572
+ # The Amazon Resource Name (ARN) of the modified table.
1573
+ # @return [String]
1574
+ #
1575
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/UpdateTableResponse AWS API Documentation
1576
+ #
1577
+ class UpdateTableResponse < Struct.new(
1578
+ :resource_arn)
1579
+ SENSITIVE = []
1580
+ include Aws::Structure
1581
+ end
1582
+
1583
+ # The operation failed due to an invalid or malformed request.
1584
+ #
1585
+ # @!attribute [rw] message
1586
+ # @return [String]
1587
+ #
1588
+ # @see http://docs.aws.amazon.com/goto/WebAPI/keyspaces-2022-02-10/ValidationException AWS API Documentation
1589
+ #
1590
+ class ValidationException < Struct.new(
1591
+ :message)
1592
+ SENSITIVE = []
1593
+ include Aws::Structure
1594
+ end
1595
+
1596
+ end
1597
+ end