Skip to content

Commit e5aa344

Browse files
This release provides change data capture (CDC) streams support through updates to the Amazon Keyspaces API.
1 parent ea36060 commit e5aa344

15 files changed

+897
-3
lines changed

generator/ServiceModels/keyspaces/keyspaces-2022-02-10.api.json

Lines changed: 56 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -391,6 +391,40 @@
391391
"box":true,
392392
"min":1
393393
},
394+
"CdcPropagateTags":{
395+
"type":"string",
396+
"enum":[
397+
"TABLE",
398+
"NONE"
399+
]
400+
},
401+
"CdcSpecification":{
402+
"type":"structure",
403+
"required":["status"],
404+
"members":{
405+
"status":{"shape":"CdcStatus"},
406+
"viewType":{"shape":"ViewType"},
407+
"tags":{"shape":"TagList"},
408+
"propagateTags":{"shape":"CdcPropagateTags"}
409+
}
410+
},
411+
"CdcSpecificationSummary":{
412+
"type":"structure",
413+
"required":["status"],
414+
"members":{
415+
"status":{"shape":"CdcStatus"},
416+
"viewType":{"shape":"ViewType"}
417+
}
418+
},
419+
"CdcStatus":{
420+
"type":"string",
421+
"enum":[
422+
"ENABLED",
423+
"ENABLING",
424+
"DISABLED",
425+
"DISABLING"
426+
]
427+
},
394428
"ClientSideTimestamps":{
395429
"type":"structure",
396430
"required":["status"],
@@ -483,7 +517,8 @@
483517
"tags":{"shape":"TagList"},
484518
"clientSideTimestamps":{"shape":"ClientSideTimestamps"},
485519
"autoScalingSpecification":{"shape":"AutoScalingSpecification"},
486-
"replicaSpecifications":{"shape":"ReplicaSpecificationList"}
520+
"replicaSpecifications":{"shape":"ReplicaSpecificationList"},
521+
"cdcSpecification":{"shape":"CdcSpecification"}
487522
}
488523
},
489524
"CreateTableResponse":{
@@ -692,7 +727,9 @@
692727
"defaultTimeToLive":{"shape":"DefaultTimeToLive"},
693728
"comment":{"shape":"Comment"},
694729
"clientSideTimestamps":{"shape":"ClientSideTimestamps"},
695-
"replicaSpecifications":{"shape":"ReplicaSpecificationSummaryList"}
730+
"replicaSpecifications":{"shape":"ReplicaSpecificationSummaryList"},
731+
"latestStreamArn":{"shape":"StreamArn"},
732+
"cdcSpecification":{"shape":"CdcSpecificationSummary"}
696733
}
697734
},
698735
"GetTypeRequest":{
@@ -1020,6 +1057,12 @@
10201057
"type":"list",
10211058
"member":{"shape":"StaticColumn"}
10221059
},
1060+
"StreamArn":{
1061+
"type":"string",
1062+
"max":1024,
1063+
"min":1,
1064+
"pattern":"arn:(aws[a-zA-Z0-9-]*):cassandra:.+.*"
1065+
},
10231066
"String":{"type":"string"},
10241067
"TableName":{
10251068
"type":"string",
@@ -1208,7 +1251,8 @@
12081251
"defaultTimeToLive":{"shape":"DefaultTimeToLive"},
12091252
"clientSideTimestamps":{"shape":"ClientSideTimestamps"},
12101253
"autoScalingSpecification":{"shape":"AutoScalingSpecification"},
1211-
"replicaSpecifications":{"shape":"ReplicaSpecificationList"}
1254+
"replicaSpecifications":{"shape":"ReplicaSpecificationList"},
1255+
"cdcSpecification":{"shape":"CdcSpecification"}
12121256
}
12131257
},
12141258
"UpdateTableResponse":{
@@ -1225,6 +1269,15 @@
12251269
},
12261270
"exception":true
12271271
},
1272+
"ViewType":{
1273+
"type":"string",
1274+
"enum":[
1275+
"NEW_IMAGE",
1276+
"OLD_IMAGE",
1277+
"KEYS_ONLY",
1278+
"NEW_AND_OLD_IMAGES"
1279+
]
1280+
},
12281281
"kmsKeyARN":{
12291282
"type":"string",
12301283
"max":5096,

generator/ServiceModels/keyspaces/keyspaces-2022-02-10.docs.json

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,32 @@
108108
"ReplicaSpecification$readCapacityUnits": "<p>The provisioned read capacity units for the multi-Region table in the specified Amazon Web Services Region.</p>"
109109
}
110110
},
111+
"CdcPropagateTags": {
112+
"base": null,
113+
"refs": {
114+
"CdcSpecification$propagateTags": "<p>Specifies that the stream inherits the tags from the table.</p>"
115+
}
116+
},
117+
"CdcSpecification": {
118+
"base": "<p>The settings for the CDC stream of a table. For more information about CDC streams, see <a href=\"https://docs.aws.amazon.com/keyspaces/latest/devguide/cdc.html\">Working with change data capture (CDC) streams in Amazon Keyspaces</a> in the <i>Amazon Keyspaces Developer Guide</i>.</p>",
119+
"refs": {
120+
"CreateTableRequest$cdcSpecification": "<p>The CDC stream settings of the table.</p>",
121+
"UpdateTableRequest$cdcSpecification": "<p>The CDC stream settings of the table.</p>"
122+
}
123+
},
124+
"CdcSpecificationSummary": {
125+
"base": "<p>The settings of the CDC stream of the table. For more information about CDC streams, see <a href=\"https://docs.aws.amazon.com/keyspaces/latest/devguide/cdc.html\">Working with change data capture (CDC) streams in Amazon Keyspaces</a> in the <i>Amazon Keyspaces Developer Guide</i>.</p>",
126+
"refs": {
127+
"GetTableResponse$cdcSpecification": "<p>The CDC stream settings of the table.</p>"
128+
}
129+
},
130+
"CdcStatus": {
131+
"base": null,
132+
"refs": {
133+
"CdcSpecification$status": "<p>The status of the CDC stream. You can enable or disable a stream for a table.</p>",
134+
"CdcSpecificationSummary$status": "<p>The status of the CDC stream. Specifies if the table has a CDC stream.</p>"
135+
}
136+
},
111137
"ClientSideTimestamps": {
112138
"base": "<p>The client-side timestamp setting of the table.</p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/keyspaces/latest/devguide/client-side-timestamps-how-it-works.html\">How it works: Amazon Keyspaces client-side timestamps</a> in the <i>Amazon Keyspaces Developer Guide</i>.</p>",
113139
"refs": {
@@ -587,6 +613,12 @@
587613
"SchemaDefinition$staticColumns": "<p>The columns that have been defined as <code>STATIC</code>. Static columns store values that are shared by all rows in the same partition.</p>"
588614
}
589615
},
616+
"StreamArn": {
617+
"base": null,
618+
"refs": {
619+
"GetTableResponse$latestStreamArn": "<p>The Amazon Resource Name (ARN) of the stream.</p>"
620+
}
621+
},
590622
"String": {
591623
"base": null,
592624
"refs": {
@@ -661,6 +693,7 @@
661693
"TagList": {
662694
"base": null,
663695
"refs": {
696+
"CdcSpecification$tags": "<p>The tags (key-value pairs) that you want to apply to the stream.</p>",
664697
"CreateKeyspaceRequest$tags": "<p>A list of key-value pair tags to be attached to the keyspace.</p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/keyspaces/latest/devguide/tagging-keyspaces.html\">Adding tags and labels to Amazon Keyspaces resources</a> in the <i>Amazon Keyspaces Developer Guide</i>.</p>",
665698
"CreateTableRequest$tags": "<p>A list of key-value pair tags to be attached to the resource. </p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/keyspaces/latest/devguide/tagging-keyspaces.html\">Adding tags and labels to Amazon Keyspaces resources</a> in the <i>Amazon Keyspaces Developer Guide</i>.</p>",
666699
"ListTagsForResourceResponse$tags": "<p>A list of tags.</p>",
@@ -782,6 +815,13 @@
782815
"refs": {
783816
}
784817
},
818+
"ViewType": {
819+
"base": null,
820+
"refs": {
821+
"CdcSpecification$viewType": "<p>The view type specifies the changes Amazon Keyspaces records for each changed row in the stream. After you create the stream, you can't make changes to this selection. </p> <p>The options are:</p> <ul> <li> <p> <code>NEW_AND_OLD_IMAGES</code> - both versions of the row, before and after the change. This is the default.</p> </li> <li> <p> <code>NEW_IMAGE</code> - the version of the row after the change.</p> </li> <li> <p> <code>OLD_IMAGE</code> - the version of the row before the change.</p> </li> <li> <p> <code>KEYS_ONLY</code> - the partition and clustering keys of the row that was changed.</p> </li> </ul>",
822+
"CdcSpecificationSummary$viewType": "<p>The view type specifies the changes Amazon Keyspaces records for each changed row in the stream. This setting can't be changed, after the stream has been created. </p> <p>The options are:</p> <ul> <li> <p> <code>NEW_AND_OLD_IMAGES</code> - both versions of the row, before and after the change. This is the default.</p> </li> <li> <p> <code>NEW_IMAGE</code> - the version of the row after the change.</p> </li> <li> <p> <code>OLD_IMAGE</code> - the version of the row before the change.</p> </li> <li> <p> <code>KEYS_ONLY</code> - the partition and clustering keys of the row that was changed.</p> </li> </ul>"
823+
}
824+
},
785825
"kmsKeyARN": {
786826
"base": null,
787827
"refs": {

generator/ServiceModels/keyspaces/keyspaces-2022-02-10.normal.json

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -461,6 +461,60 @@
461461
"box":true,
462462
"min":1
463463
},
464+
"CdcPropagateTags":{
465+
"type":"string",
466+
"enum":[
467+
"TABLE",
468+
"NONE"
469+
]
470+
},
471+
"CdcSpecification":{
472+
"type":"structure",
473+
"required":["status"],
474+
"members":{
475+
"status":{
476+
"shape":"CdcStatus",
477+
"documentation":"<p>The status of the CDC stream. You can enable or disable a stream for a table.</p>"
478+
},
479+
"viewType":{
480+
"shape":"ViewType",
481+
"documentation":"<p>The view type specifies the changes Amazon Keyspaces records for each changed row in the stream. After you create the stream, you can't make changes to this selection. </p> <p>The options are:</p> <ul> <li> <p> <code>NEW_AND_OLD_IMAGES</code> - both versions of the row, before and after the change. This is the default.</p> </li> <li> <p> <code>NEW_IMAGE</code> - the version of the row after the change.</p> </li> <li> <p> <code>OLD_IMAGE</code> - the version of the row before the change.</p> </li> <li> <p> <code>KEYS_ONLY</code> - the partition and clustering keys of the row that was changed.</p> </li> </ul>"
482+
},
483+
"tags":{
484+
"shape":"TagList",
485+
"documentation":"<p>The tags (key-value pairs) that you want to apply to the stream.</p>"
486+
},
487+
"propagateTags":{
488+
"shape":"CdcPropagateTags",
489+
"documentation":"<p>Specifies that the stream inherits the tags from the table.</p>"
490+
}
491+
},
492+
"documentation":"<p>The settings for the CDC stream of a table. For more information about CDC streams, see <a href=\"https://docs.aws.amazon.com/keyspaces/latest/devguide/cdc.html\">Working with change data capture (CDC) streams in Amazon Keyspaces</a> in the <i>Amazon Keyspaces Developer Guide</i>.</p>"
493+
},
494+
"CdcSpecificationSummary":{
495+
"type":"structure",
496+
"required":["status"],
497+
"members":{
498+
"status":{
499+
"shape":"CdcStatus",
500+
"documentation":"<p>The status of the CDC stream. Specifies if the table has a CDC stream.</p>"
501+
},
502+
"viewType":{
503+
"shape":"ViewType",
504+
"documentation":"<p>The view type specifies the changes Amazon Keyspaces records for each changed row in the stream. This setting can't be changed, after the stream has been created. </p> <p>The options are:</p> <ul> <li> <p> <code>NEW_AND_OLD_IMAGES</code> - both versions of the row, before and after the change. This is the default.</p> </li> <li> <p> <code>NEW_IMAGE</code> - the version of the row after the change.</p> </li> <li> <p> <code>OLD_IMAGE</code> - the version of the row before the change.</p> </li> <li> <p> <code>KEYS_ONLY</code> - the partition and clustering keys of the row that was changed.</p> </li> </ul>"
505+
}
506+
},
507+
"documentation":"<p>The settings of the CDC stream of the table. For more information about CDC streams, see <a href=\"https://docs.aws.amazon.com/keyspaces/latest/devguide/cdc.html\">Working with change data capture (CDC) streams in Amazon Keyspaces</a> in the <i>Amazon Keyspaces Developer Guide</i>.</p>"
508+
},
509+
"CdcStatus":{
510+
"type":"string",
511+
"enum":[
512+
"ENABLED",
513+
"ENABLING",
514+
"DISABLED",
515+
"DISABLING"
516+
]
517+
},
464518
"ClientSideTimestamps":{
465519
"type":"structure",
466520
"required":["status"],
@@ -630,6 +684,10 @@
630684
"replicaSpecifications":{
631685
"shape":"ReplicaSpecificationList",
632686
"documentation":"<p>The optional Amazon Web Services Region specific settings of a multi-Region table. These settings overwrite the general settings of the table for the specified Region. </p> <p>For a multi-Region table in provisioned capacity mode, you can configure the table's read capacity differently for each Region's replica. The write capacity, however, remains synchronized between all replicas to ensure that there's enough capacity to replicate writes across all Regions. To define the read capacity for a table replica in a specific Region, you can do so by configuring the following parameters.</p> <ul> <li> <p> <code>region</code>: The Region where these settings are applied. (Required)</p> </li> <li> <p> <code>readCapacityUnits</code>: The provisioned read capacity units. (Optional)</p> </li> <li> <p> <code>readCapacityAutoScaling</code>: The read capacity auto scaling settings for the table. (Optional) </p> </li> </ul>"
687+
},
688+
"cdcSpecification":{
689+
"shape":"CdcSpecification",
690+
"documentation":"<p>The CDC stream settings of the table.</p>"
633691
}
634692
}
635693
},
@@ -979,6 +1037,14 @@
9791037
"replicaSpecifications":{
9801038
"shape":"ReplicaSpecificationSummaryList",
9811039
"documentation":"<p>Returns the Amazon Web Services Region specific settings of all Regions a multi-Region table is replicated in.</p>"
1040+
},
1041+
"latestStreamArn":{
1042+
"shape":"StreamArn",
1043+
"documentation":"<p>The Amazon Resource Name (ARN) of the stream.</p>"
1044+
},
1045+
"cdcSpecification":{
1046+
"shape":"CdcSpecificationSummary",
1047+
"documentation":"<p>The CDC stream settings of the table.</p>"
9821048
}
9831049
}
9841050
},
@@ -1534,6 +1600,12 @@
15341600
"type":"list",
15351601
"member":{"shape":"StaticColumn"}
15361602
},
1603+
"StreamArn":{
1604+
"type":"string",
1605+
"max":1024,
1606+
"min":1,
1607+
"pattern":"arn:(aws[a-zA-Z0-9-]*):cassandra:.+.*"
1608+
},
15371609
"String":{"type":"string"},
15381610
"TableName":{
15391611
"type":"string",
@@ -1807,6 +1879,10 @@
18071879
"replicaSpecifications":{
18081880
"shape":"ReplicaSpecificationList",
18091881
"documentation":"<p>The Region specific settings of a multi-Regional table.</p>"
1882+
},
1883+
"cdcSpecification":{
1884+
"shape":"CdcSpecification",
1885+
"documentation":"<p>The CDC stream settings of the table.</p>"
18101886
}
18111887
}
18121888
},
@@ -1831,6 +1907,15 @@
18311907
"documentation":"<p>The operation failed due to an invalid or malformed request.</p>",
18321908
"exception":true
18331909
},
1910+
"ViewType":{
1911+
"type":"string",
1912+
"enum":[
1913+
"NEW_IMAGE",
1914+
"OLD_IMAGE",
1915+
"KEYS_ONLY",
1916+
"NEW_AND_OLD_IMAGES"
1917+
]
1918+
},
18341919
"kmsKeyARN":{
18351920
"type":"string",
18361921
"max":5096,

sdk/code-analysis/ServiceAnalysis/Keyspaces/Generated/PropertyValueRules.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,12 @@
143143
<max>48</max>
144144
<pattern>[a-zA-Z0-9][a-zA-Z0-9_]{0,47}</pattern>
145145
</property-value-rule>
146+
<property-value-rule>
147+
<property>Amazon.Keyspaces.Model.GetTableResponse.LatestStreamArn</property>
148+
<min>1</min>
149+
<max>1024</max>
150+
<pattern>arn:(aws[a-zA-Z0-9-]*):cassandra:.+.*</pattern>
151+
</property-value-rule>
146152
<property-value-rule>
147153
<property>Amazon.Keyspaces.Model.GetTableResponse.ResourceArn</property>
148154
<min>20</min>

0 commit comments

Comments
 (0)