aws-sdk-keyspaces 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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