capo-keyspaces 0.1.0__py3-none-any.whl

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.
Files changed (174) hide show
  1. capo_keyspaces/__init__.py +70 -0
  2. capo_keyspaces/_async.py +25 -0
  3. capo_keyspaces/_auth/_identity.py +16 -0
  4. capo_keyspaces/_auth/_providers.py +886 -0
  5. capo_keyspaces/_auth/_signers.py +88 -0
  6. capo_keyspaces/_auth/_sigv4.py +434 -0
  7. capo_keyspaces/_auth/_zapros_handler.py +80 -0
  8. capo_keyspaces/_iter.py +113 -0
  9. capo_keyspaces/_operations/keyspaces_service/create_keyspace.py +170 -0
  10. capo_keyspaces/_operations/keyspaces_service/create_table.py +183 -0
  11. capo_keyspaces/_operations/keyspaces_service/create_type.py +172 -0
  12. capo_keyspaces/_operations/keyspaces_service/delete_keyspace.py +165 -0
  13. capo_keyspaces/_operations/keyspaces_service/delete_table.py +163 -0
  14. capo_keyspaces/_operations/keyspaces_service/delete_type.py +171 -0
  15. capo_keyspaces/_operations/keyspaces_service/get_keyspace.py +168 -0
  16. capo_keyspaces/_operations/keyspaces_service/get_table.py +173 -0
  17. capo_keyspaces/_operations/keyspaces_service/get_table_auto_scaling_settings.py +168 -0
  18. capo_keyspaces/_operations/keyspaces_service/get_type.py +166 -0
  19. capo_keyspaces/_operations/keyspaces_service/list_keyspaces.py +167 -0
  20. capo_keyspaces/_operations/keyspaces_service/list_tables.py +167 -0
  21. capo_keyspaces/_operations/keyspaces_service/list_tags_for_resource.py +167 -0
  22. capo_keyspaces/_operations/keyspaces_service/list_types.py +163 -0
  23. capo_keyspaces/_operations/keyspaces_service/restore_table.py +178 -0
  24. capo_keyspaces/_operations/keyspaces_service/tag_resource.py +164 -0
  25. capo_keyspaces/_operations/keyspaces_service/untag_resource.py +164 -0
  26. capo_keyspaces/_operations/keyspaces_service/update_keyspace.py +175 -0
  27. capo_keyspaces/_operations/keyspaces_service/update_table.py +181 -0
  28. capo_keyspaces/_pagination.py +21 -0
  29. capo_keyspaces/_protocol/__init__.py +1 -0
  30. capo_keyspaces/_protocol/errors.py +93 -0
  31. capo_keyspaces/_protocol/eventstream.py +238 -0
  32. capo_keyspaces/_protocol/serialize.py +47 -0
  33. capo_keyspaces/_protocol/xml.py +33 -0
  34. capo_keyspaces/_rule_engine/__init__.py +0 -0
  35. capo_keyspaces/_rule_engine/_aws_partition.py +160 -0
  36. capo_keyspaces/_rule_engine/_endpoint_rule_set.py +150 -0
  37. capo_keyspaces/_rule_engine/_endpoint_runtime.py +389 -0
  38. capo_keyspaces/_services/_aws_config.py +160 -0
  39. capo_keyspaces/_services/_pipeline.py +198 -0
  40. capo_keyspaces/_services/async_keyspaces.py +1467 -0
  41. capo_keyspaces/_services/keyspaces.py +1448 -0
  42. capo_keyspaces/errors/__init__.py +35 -0
  43. capo_keyspaces/errors/_base.py +94 -0
  44. capo_keyspaces/errors/access_denied_exception.py +47 -0
  45. capo_keyspaces/errors/conflict_exception.py +47 -0
  46. capo_keyspaces/errors/internal_server_exception.py +47 -0
  47. capo_keyspaces/errors/resource_not_found_exception.py +58 -0
  48. capo_keyspaces/errors/service_quota_exceeded_exception.py +49 -0
  49. capo_keyspaces/errors/validation_exception.py +47 -0
  50. capo_keyspaces/py.typed +0 -0
  51. capo_keyspaces/types/_prelude/blob.py +12 -0
  52. capo_keyspaces/types/_prelude/timestamp.py +17 -0
  53. capo_keyspaces/types/arn.py +5 -0
  54. capo_keyspaces/types/auto_scaling_policy.py +42 -0
  55. capo_keyspaces/types/auto_scaling_settings.py +63 -0
  56. capo_keyspaces/types/auto_scaling_specification.py +62 -0
  57. capo_keyspaces/types/boolean_object.py +5 -0
  58. capo_keyspaces/types/capacity_specification.py +48 -0
  59. capo_keyspaces/types/capacity_specification_summary.py +71 -0
  60. capo_keyspaces/types/capacity_units.py +5 -0
  61. capo_keyspaces/types/cdc_propagate_tags.py +5 -0
  62. capo_keyspaces/types/cdc_specification.py +62 -0
  63. capo_keyspaces/types/cdc_specification_summary.py +38 -0
  64. capo_keyspaces/types/cdc_status.py +5 -0
  65. capo_keyspaces/types/client_side_timestamps.py +33 -0
  66. capo_keyspaces/types/client_side_timestamps_status.py +5 -0
  67. capo_keyspaces/types/clustering_key.py +39 -0
  68. capo_keyspaces/types/clustering_key_list.py +29 -0
  69. capo_keyspaces/types/column_definition.py +38 -0
  70. capo_keyspaces/types/column_definition_list.py +33 -0
  71. capo_keyspaces/types/comment.py +26 -0
  72. capo_keyspaces/types/create_keyspace_request.py +67 -0
  73. capo_keyspaces/types/create_keyspace_response.py +31 -0
  74. capo_keyspaces/types/create_table_request.py +281 -0
  75. capo_keyspaces/types/create_table_response.py +31 -0
  76. capo_keyspaces/types/create_type_request.py +57 -0
  77. capo_keyspaces/types/create_type_response.py +39 -0
  78. capo_keyspaces/types/default_time_to_live.py +5 -0
  79. capo_keyspaces/types/delete_keyspace_request.py +31 -0
  80. capo_keyspaces/types/delete_keyspace_response.py +18 -0
  81. capo_keyspaces/types/delete_table_request.py +39 -0
  82. capo_keyspaces/types/delete_table_response.py +18 -0
  83. capo_keyspaces/types/delete_type_request.py +39 -0
  84. capo_keyspaces/types/delete_type_response.py +39 -0
  85. capo_keyspaces/types/depth.py +5 -0
  86. capo_keyspaces/types/double_object.py +5 -0
  87. capo_keyspaces/types/encryption_specification.py +38 -0
  88. capo_keyspaces/types/encryption_type.py +5 -0
  89. capo_keyspaces/types/field_definition.py +38 -0
  90. capo_keyspaces/types/field_list.py +29 -0
  91. capo_keyspaces/types/generic_string.py +5 -0
  92. capo_keyspaces/types/get_keyspace_request.py +31 -0
  93. capo_keyspaces/types/get_keyspace_response.py +87 -0
  94. capo_keyspaces/types/get_table_auto_scaling_settings_request.py +43 -0
  95. capo_keyspaces/types/get_table_auto_scaling_settings_response.py +95 -0
  96. capo_keyspaces/types/get_table_request.py +39 -0
  97. capo_keyspaces/types/get_table_response.py +287 -0
  98. capo_keyspaces/types/get_type_request.py +39 -0
  99. capo_keyspaces/types/get_type_response.py +140 -0
  100. capo_keyspaces/types/integer_object.py +5 -0
  101. capo_keyspaces/types/keyspace_name.py +5 -0
  102. capo_keyspaces/types/keyspace_status.py +5 -0
  103. capo_keyspaces/types/keyspace_summary.py +66 -0
  104. capo_keyspaces/types/keyspace_summary_list.py +31 -0
  105. capo_keyspaces/types/kms_key_arn.py +5 -0
  106. capo_keyspaces/types/list_keyspaces_request.py +35 -0
  107. capo_keyspaces/types/list_keyspaces_response.py +50 -0
  108. capo_keyspaces/types/list_tables_request.py +45 -0
  109. capo_keyspaces/types/list_tables_response.py +45 -0
  110. capo_keyspaces/types/list_tags_for_resource_request.py +45 -0
  111. capo_keyspaces/types/list_tags_for_resource_response.py +43 -0
  112. capo_keyspaces/types/list_types_request.py +45 -0
  113. capo_keyspaces/types/list_types_response.py +46 -0
  114. capo_keyspaces/types/max_results.py +5 -0
  115. capo_keyspaces/types/next_token.py +5 -0
  116. capo_keyspaces/types/partition_key.py +31 -0
  117. capo_keyspaces/types/partition_key_list.py +29 -0
  118. capo_keyspaces/types/point_in_time_recovery.py +33 -0
  119. capo_keyspaces/types/point_in_time_recovery_status.py +5 -0
  120. capo_keyspaces/types/point_in_time_recovery_summary.py +54 -0
  121. capo_keyspaces/types/region.py +5 -0
  122. capo_keyspaces/types/region_list.py +17 -0
  123. capo_keyspaces/types/replica_auto_scaling_specification.py +49 -0
  124. capo_keyspaces/types/replica_auto_scaling_specification_list.py +39 -0
  125. capo_keyspaces/types/replica_specification.py +61 -0
  126. capo_keyspaces/types/replica_specification_list.py +35 -0
  127. capo_keyspaces/types/replica_specification_summary.py +76 -0
  128. capo_keyspaces/types/replica_specification_summary_list.py +39 -0
  129. capo_keyspaces/types/replication_group_status.py +48 -0
  130. capo_keyspaces/types/replication_group_status_list.py +35 -0
  131. capo_keyspaces/types/replication_specification.py +48 -0
  132. capo_keyspaces/types/restore_table_request.py +190 -0
  133. capo_keyspaces/types/restore_table_response.py +31 -0
  134. capo_keyspaces/types/rs.py +5 -0
  135. capo_keyspaces/types/schema_definition.py +105 -0
  136. capo_keyspaces/types/sort_order.py +5 -0
  137. capo_keyspaces/types/static_column.py +31 -0
  138. capo_keyspaces/types/static_column_list.py +29 -0
  139. capo_keyspaces/types/stream_arn.py +5 -0
  140. capo_keyspaces/types/table_name.py +5 -0
  141. capo_keyspaces/types/table_name_list.py +17 -0
  142. capo_keyspaces/types/table_status.py +5 -0
  143. capo_keyspaces/types/table_summary.py +47 -0
  144. capo_keyspaces/types/table_summary_list.py +29 -0
  145. capo_keyspaces/types/tables_replication_progress.py +5 -0
  146. capo_keyspaces/types/tag.py +39 -0
  147. capo_keyspaces/types/tag_key.py +5 -0
  148. capo_keyspaces/types/tag_list.py +29 -0
  149. capo_keyspaces/types/tag_resource_request.py +45 -0
  150. capo_keyspaces/types/tag_resource_response.py +18 -0
  151. capo_keyspaces/types/tag_value.py +5 -0
  152. capo_keyspaces/types/target_tracking_scaling_policy_configuration.py +60 -0
  153. capo_keyspaces/types/throughput_mode.py +5 -0
  154. capo_keyspaces/types/time_to_live.py +31 -0
  155. capo_keyspaces/types/time_to_live_status.py +5 -0
  156. capo_keyspaces/types/timestamp.py +20 -0
  157. capo_keyspaces/types/type_name.py +5 -0
  158. capo_keyspaces/types/type_name_list.py +17 -0
  159. capo_keyspaces/types/type_status.py +5 -0
  160. capo_keyspaces/types/untag_resource_request.py +45 -0
  161. capo_keyspaces/types/untag_resource_response.py +18 -0
  162. capo_keyspaces/types/update_keyspace_request.py +74 -0
  163. capo_keyspaces/types/update_keyspace_response.py +31 -0
  164. capo_keyspaces/types/update_table_request.py +252 -0
  165. capo_keyspaces/types/update_table_response.py +31 -0
  166. capo_keyspaces/types/view_type.py +5 -0
  167. capo_keyspaces/types/warm_throughput_specification.py +29 -0
  168. capo_keyspaces/types/warm_throughput_specification_summary.py +49 -0
  169. capo_keyspaces/types/warm_throughput_status.py +5 -0
  170. capo_keyspaces-0.1.0.dist-info/METADATA +101 -0
  171. capo_keyspaces-0.1.0.dist-info/RECORD +174 -0
  172. capo_keyspaces-0.1.0.dist-info/WHEEL +5 -0
  173. capo_keyspaces-0.1.0.dist-info/licenses/LICENSE +21 -0
  174. capo_keyspaces-0.1.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,287 @@
1
+ """Generated from Smithy shape ``com.amazonaws.keyspaces#GetTableResponse``."""
2
+
3
+ from typing import TYPE_CHECKING
4
+
5
+ from typing_extensions import NotRequired, TypedDict
6
+
7
+ from capo_keyspaces.errors import DeserializationError
8
+
9
+ if TYPE_CHECKING:
10
+ import capo_keyspaces.types.arn
11
+ import capo_keyspaces.types.capacity_specification_summary
12
+ import capo_keyspaces.types.cdc_specification_summary
13
+ import capo_keyspaces.types.client_side_timestamps
14
+ import capo_keyspaces.types.comment
15
+ import capo_keyspaces.types.default_time_to_live
16
+ import capo_keyspaces.types.encryption_specification
17
+ import capo_keyspaces.types.keyspace_name
18
+ import capo_keyspaces.types.point_in_time_recovery_summary
19
+ import capo_keyspaces.types.replica_specification_summary_list
20
+ import capo_keyspaces.types.schema_definition
21
+ import capo_keyspaces.types.stream_arn
22
+ import capo_keyspaces.types.table_name
23
+ import capo_keyspaces.types.table_status
24
+ import capo_keyspaces.types.time_to_live
25
+ import capo_keyspaces.types.timestamp
26
+ import capo_keyspaces.types.warm_throughput_specification_summary
27
+
28
+
29
+ class GetTableResponse(TypedDict, closed=True):
30
+ keyspace_name: "capo_keyspaces.types.keyspace_name.KeyspaceName"
31
+ """<p>The name of the keyspace that the specified table is stored in.</p>"""
32
+ table_name: "capo_keyspaces.types.table_name.TableName"
33
+ """<p>The name of the specified table.</p>"""
34
+ resource_arn: "capo_keyspaces.types.arn.ARN"
35
+ """<p>The Amazon Resource Name (ARN) of the specified table.</p>"""
36
+ creation_timestamp: NotRequired["capo_keyspaces.types.timestamp.Timestamp"]
37
+ """<p>The creation timestamp of the specified table.</p>"""
38
+ status: NotRequired["capo_keyspaces.types.table_status.TableStatus"]
39
+ """<p>The current status of the specified table.</p>"""
40
+ schema_definition: NotRequired[
41
+ "capo_keyspaces.types.schema_definition.SchemaDefinition"
42
+ ]
43
+ """<p>The schema definition of the specified table.</p>"""
44
+ capacity_specification: NotRequired[
45
+ "capo_keyspaces.types.capacity_specification_summary.CapacitySpecificationSummary"
46
+ ]
47
+ """<p>The read/write throughput capacity mode for a table. The options are:</p> <ul> <li> <p> <code>throughputMode:PAY_PER_REQUEST</code> </p> </li> <li> <p> <code>throughputMode:PROVISIONED</code> </p> </li> </ul>"""
48
+ encryption_specification: NotRequired[
49
+ "capo_keyspaces.types.encryption_specification.EncryptionSpecification"
50
+ ]
51
+ """<p>The encryption settings of the specified table.</p>"""
52
+ point_in_time_recovery: NotRequired[
53
+ "capo_keyspaces.types.point_in_time_recovery_summary.PointInTimeRecoverySummary"
54
+ ]
55
+ """<p>The point-in-time recovery status of the specified table.</p>"""
56
+ ttl: NotRequired["capo_keyspaces.types.time_to_live.TimeToLive"]
57
+ """<p>The custom Time to Live settings of the specified table.</p>"""
58
+ default_time_to_live: NotRequired[
59
+ "capo_keyspaces.types.default_time_to_live.DefaultTimeToLive"
60
+ ]
61
+ """<p>The default Time to Live settings in seconds of the specified table.</p>"""
62
+ comment: NotRequired["capo_keyspaces.types.comment.Comment"]
63
+ """<p>The the description of the specified table.</p>"""
64
+ client_side_timestamps: NotRequired[
65
+ "capo_keyspaces.types.client_side_timestamps.ClientSideTimestamps"
66
+ ]
67
+ """<p> The client-side timestamps setting of the table.</p>"""
68
+ replica_specifications: NotRequired[
69
+ "capo_keyspaces.types.replica_specification_summary_list.ReplicaSpecificationSummaryList"
70
+ ]
71
+ """<p>Returns the Amazon Web Services Region specific settings of all Regions a multi-Region table is replicated in.</p>"""
72
+ latest_stream_arn: NotRequired["capo_keyspaces.types.stream_arn.StreamArn"]
73
+ """<p>The Amazon Resource Name (ARN) of the stream.</p>"""
74
+ cdc_specification: NotRequired[
75
+ "capo_keyspaces.types.cdc_specification_summary.CdcSpecificationSummary"
76
+ ]
77
+ """<p>The CDC stream settings of the table.</p>"""
78
+ warm_throughput_specification: NotRequired[
79
+ "capo_keyspaces.types.warm_throughput_specification_summary.WarmThroughputSpecificationSummary"
80
+ ]
81
+ """<p>The warm throughput settings for the table, including the current status and configured read and write capacity units.</p>"""
82
+
83
+
84
+ # --- awsJson1_0 ser/de ---
85
+ def serialize_aws_json_1_0(value: GetTableResponse) -> dict:
86
+ out: dict = {}
87
+ out["keyspaceName"] = value["keyspace_name"]
88
+ out["tableName"] = value["table_name"]
89
+ out["resourceArn"] = value["resource_arn"]
90
+ if "creation_timestamp" in value:
91
+ import capo_keyspaces.types.timestamp
92
+
93
+ out["creationTimestamp"] = (
94
+ capo_keyspaces.types.timestamp.serialize_aws_json_1_0(
95
+ value["creation_timestamp"]
96
+ )
97
+ )
98
+ if "status" in value:
99
+ out["status"] = value["status"]
100
+ if "schema_definition" in value:
101
+ import capo_keyspaces.types.schema_definition
102
+
103
+ out["schemaDefinition"] = (
104
+ capo_keyspaces.types.schema_definition.serialize_aws_json_1_0(
105
+ value["schema_definition"]
106
+ )
107
+ )
108
+ if "capacity_specification" in value:
109
+ import capo_keyspaces.types.capacity_specification_summary
110
+
111
+ out["capacitySpecification"] = (
112
+ capo_keyspaces.types.capacity_specification_summary.serialize_aws_json_1_0(
113
+ value["capacity_specification"]
114
+ )
115
+ )
116
+ if "encryption_specification" in value:
117
+ import capo_keyspaces.types.encryption_specification
118
+
119
+ out["encryptionSpecification"] = (
120
+ capo_keyspaces.types.encryption_specification.serialize_aws_json_1_0(
121
+ value["encryption_specification"]
122
+ )
123
+ )
124
+ if "point_in_time_recovery" in value:
125
+ import capo_keyspaces.types.point_in_time_recovery_summary
126
+
127
+ out["pointInTimeRecovery"] = (
128
+ capo_keyspaces.types.point_in_time_recovery_summary.serialize_aws_json_1_0(
129
+ value["point_in_time_recovery"]
130
+ )
131
+ )
132
+ if "ttl" in value:
133
+ import capo_keyspaces.types.time_to_live
134
+
135
+ out["ttl"] = capo_keyspaces.types.time_to_live.serialize_aws_json_1_0(
136
+ value["ttl"]
137
+ )
138
+ if "default_time_to_live" in value:
139
+ out["defaultTimeToLive"] = value["default_time_to_live"]
140
+ if "comment" in value:
141
+ import capo_keyspaces.types.comment
142
+
143
+ out["comment"] = capo_keyspaces.types.comment.serialize_aws_json_1_0(
144
+ value["comment"]
145
+ )
146
+ if "client_side_timestamps" in value:
147
+ import capo_keyspaces.types.client_side_timestamps
148
+
149
+ out["clientSideTimestamps"] = (
150
+ capo_keyspaces.types.client_side_timestamps.serialize_aws_json_1_0(
151
+ value["client_side_timestamps"]
152
+ )
153
+ )
154
+ if "replica_specifications" in value:
155
+ import capo_keyspaces.types.replica_specification_summary_list
156
+
157
+ out["replicaSpecifications"] = (
158
+ capo_keyspaces.types.replica_specification_summary_list.serialize_aws_json_1_0(
159
+ value["replica_specifications"]
160
+ )
161
+ )
162
+ if "latest_stream_arn" in value:
163
+ out["latestStreamArn"] = value["latest_stream_arn"]
164
+ if "cdc_specification" in value:
165
+ import capo_keyspaces.types.cdc_specification_summary
166
+
167
+ out["cdcSpecification"] = (
168
+ capo_keyspaces.types.cdc_specification_summary.serialize_aws_json_1_0(
169
+ value["cdc_specification"]
170
+ )
171
+ )
172
+ if "warm_throughput_specification" in value:
173
+ import capo_keyspaces.types.warm_throughput_specification_summary
174
+
175
+ out["warmThroughputSpecification"] = (
176
+ capo_keyspaces.types.warm_throughput_specification_summary.serialize_aws_json_1_0(
177
+ value["warm_throughput_specification"]
178
+ )
179
+ )
180
+ return out
181
+
182
+
183
+ def deserialize_aws_json_1_0(data: dict) -> GetTableResponse:
184
+ out: GetTableResponse = {} # type: ignore[typeddict-item]
185
+ if data.get("keyspaceName") is not None:
186
+ out["keyspace_name"] = data["keyspaceName"]
187
+ else:
188
+ raise DeserializationError("GetTableResponse.keyspace_name required")
189
+ if data.get("tableName") is not None:
190
+ out["table_name"] = data["tableName"]
191
+ else:
192
+ raise DeserializationError("GetTableResponse.table_name required")
193
+ if data.get("resourceArn") is not None:
194
+ out["resource_arn"] = data["resourceArn"]
195
+ else:
196
+ raise DeserializationError("GetTableResponse.resource_arn required")
197
+ if data.get("creationTimestamp") is not None:
198
+ import capo_keyspaces.types.timestamp
199
+
200
+ out["creation_timestamp"] = (
201
+ capo_keyspaces.types.timestamp.deserialize_aws_json_1_0(
202
+ data["creationTimestamp"]
203
+ )
204
+ )
205
+ if data.get("status") is not None:
206
+ out["status"] = data["status"]
207
+ if data.get("schemaDefinition") is not None:
208
+ import capo_keyspaces.types.schema_definition
209
+
210
+ out["schema_definition"] = (
211
+ capo_keyspaces.types.schema_definition.deserialize_aws_json_1_0(
212
+ data["schemaDefinition"]
213
+ )
214
+ )
215
+ if data.get("capacitySpecification") is not None:
216
+ import capo_keyspaces.types.capacity_specification_summary
217
+
218
+ out["capacity_specification"] = (
219
+ capo_keyspaces.types.capacity_specification_summary.deserialize_aws_json_1_0(
220
+ data["capacitySpecification"]
221
+ )
222
+ )
223
+ if data.get("encryptionSpecification") is not None:
224
+ import capo_keyspaces.types.encryption_specification
225
+
226
+ out["encryption_specification"] = (
227
+ capo_keyspaces.types.encryption_specification.deserialize_aws_json_1_0(
228
+ data["encryptionSpecification"]
229
+ )
230
+ )
231
+ if data.get("pointInTimeRecovery") is not None:
232
+ import capo_keyspaces.types.point_in_time_recovery_summary
233
+
234
+ out["point_in_time_recovery"] = (
235
+ capo_keyspaces.types.point_in_time_recovery_summary.deserialize_aws_json_1_0(
236
+ data["pointInTimeRecovery"]
237
+ )
238
+ )
239
+ if data.get("ttl") is not None:
240
+ import capo_keyspaces.types.time_to_live
241
+
242
+ out["ttl"] = capo_keyspaces.types.time_to_live.deserialize_aws_json_1_0(
243
+ data["ttl"]
244
+ )
245
+ if data.get("defaultTimeToLive") is not None:
246
+ out["default_time_to_live"] = data["defaultTimeToLive"]
247
+ if data.get("comment") is not None:
248
+ import capo_keyspaces.types.comment
249
+
250
+ out["comment"] = capo_keyspaces.types.comment.deserialize_aws_json_1_0(
251
+ data["comment"]
252
+ )
253
+ if data.get("clientSideTimestamps") is not None:
254
+ import capo_keyspaces.types.client_side_timestamps
255
+
256
+ out["client_side_timestamps"] = (
257
+ capo_keyspaces.types.client_side_timestamps.deserialize_aws_json_1_0(
258
+ data["clientSideTimestamps"]
259
+ )
260
+ )
261
+ if data.get("replicaSpecifications") is not None:
262
+ import capo_keyspaces.types.replica_specification_summary_list
263
+
264
+ out["replica_specifications"] = (
265
+ capo_keyspaces.types.replica_specification_summary_list.deserialize_aws_json_1_0(
266
+ data["replicaSpecifications"]
267
+ )
268
+ )
269
+ if data.get("latestStreamArn") is not None:
270
+ out["latest_stream_arn"] = data["latestStreamArn"]
271
+ if data.get("cdcSpecification") is not None:
272
+ import capo_keyspaces.types.cdc_specification_summary
273
+
274
+ out["cdc_specification"] = (
275
+ capo_keyspaces.types.cdc_specification_summary.deserialize_aws_json_1_0(
276
+ data["cdcSpecification"]
277
+ )
278
+ )
279
+ if data.get("warmThroughputSpecification") is not None:
280
+ import capo_keyspaces.types.warm_throughput_specification_summary
281
+
282
+ out["warm_throughput_specification"] = (
283
+ capo_keyspaces.types.warm_throughput_specification_summary.deserialize_aws_json_1_0(
284
+ data["warmThroughputSpecification"]
285
+ )
286
+ )
287
+ return out
@@ -0,0 +1,39 @@
1
+ """Generated from Smithy shape ``com.amazonaws.keyspaces#GetTypeRequest``."""
2
+
3
+ from typing import TYPE_CHECKING
4
+
5
+ from typing_extensions import TypedDict
6
+
7
+ from capo_keyspaces.errors import DeserializationError
8
+
9
+ if TYPE_CHECKING:
10
+ import capo_keyspaces.types.keyspace_name
11
+ import capo_keyspaces.types.type_name
12
+
13
+
14
+ class GetTypeRequest(TypedDict, closed=True):
15
+ keyspace_name: "capo_keyspaces.types.keyspace_name.KeyspaceName"
16
+ """<p> The name of the keyspace that contains this type. </p>"""
17
+ type_name: "capo_keyspaces.types.type_name.TypeName"
18
+ """<p>The formatted name of the type. For example, if the name of the type was created without double quotes, Amazon Keyspaces saved the name in lower-case characters. If the name was created in double quotes, you must use double quotes to specify the type name. </p>"""
19
+
20
+
21
+ # --- awsJson1_0 ser/de ---
22
+ def serialize_aws_json_1_0(value: GetTypeRequest) -> dict:
23
+ out: dict = {}
24
+ out["keyspaceName"] = value["keyspace_name"]
25
+ out["typeName"] = value["type_name"]
26
+ return out
27
+
28
+
29
+ def deserialize_aws_json_1_0(data: dict) -> GetTypeRequest:
30
+ out: GetTypeRequest = {} # type: ignore[typeddict-item]
31
+ if data.get("keyspaceName") is not None:
32
+ out["keyspace_name"] = data["keyspaceName"]
33
+ else:
34
+ raise DeserializationError("GetTypeRequest.keyspace_name required")
35
+ if data.get("typeName") is not None:
36
+ out["type_name"] = data["typeName"]
37
+ else:
38
+ raise DeserializationError("GetTypeRequest.type_name required")
39
+ return out
@@ -0,0 +1,140 @@
1
+ """Generated from Smithy shape ``com.amazonaws.keyspaces#GetTypeResponse``."""
2
+
3
+ from typing import TYPE_CHECKING
4
+
5
+ from typing_extensions import NotRequired, TypedDict
6
+
7
+ from capo_keyspaces.errors import DeserializationError
8
+
9
+ if TYPE_CHECKING:
10
+ import capo_keyspaces.types.arn
11
+ import capo_keyspaces.types.depth
12
+ import capo_keyspaces.types.field_list
13
+ import capo_keyspaces.types.keyspace_name
14
+ import capo_keyspaces.types.table_name_list
15
+ import capo_keyspaces.types.timestamp
16
+ import capo_keyspaces.types.type_name
17
+ import capo_keyspaces.types.type_name_list
18
+ import capo_keyspaces.types.type_status
19
+
20
+
21
+ class GetTypeResponse(TypedDict, closed=True):
22
+ keyspace_name: "capo_keyspaces.types.keyspace_name.KeyspaceName"
23
+ """<p> The name of the keyspace that contains this type. </p>"""
24
+ type_name: "capo_keyspaces.types.type_name.TypeName"
25
+ """<p> The name of the type. </p>"""
26
+ field_definitions: NotRequired["capo_keyspaces.types.field_list.FieldList"]
27
+ """<p> The names and types that define this type. </p>"""
28
+ last_modified_timestamp: NotRequired["capo_keyspaces.types.timestamp.Timestamp"]
29
+ """<p> The timestamp that shows when this type was last modified. </p>"""
30
+ status: NotRequired["capo_keyspaces.types.type_status.TypeStatus"]
31
+ """<p> The status of this type. </p>"""
32
+ direct_referring_tables: NotRequired[
33
+ "capo_keyspaces.types.table_name_list.TableNameList"
34
+ ]
35
+ """<p> The tables that use this type. </p>"""
36
+ direct_parent_types: NotRequired["capo_keyspaces.types.type_name_list.TypeNameList"]
37
+ """<p> The types that use this type. </p>"""
38
+ max_nesting_depth: "capo_keyspaces.types.depth.Depth"
39
+ """<p> The level of nesting implemented for this type. </p>"""
40
+ keyspace_arn: "capo_keyspaces.types.arn.ARN"
41
+ """<p> The unique identifier of the keyspace that contains this type in the format of an Amazon Resource Name (ARN). </p>"""
42
+
43
+
44
+ # --- awsJson1_0 ser/de ---
45
+ def serialize_aws_json_1_0(value: GetTypeResponse) -> dict:
46
+ out: dict = {}
47
+ out["keyspaceName"] = value["keyspace_name"]
48
+ out["typeName"] = value["type_name"]
49
+ if "field_definitions" in value:
50
+ import capo_keyspaces.types.field_list
51
+
52
+ out["fieldDefinitions"] = (
53
+ capo_keyspaces.types.field_list.serialize_aws_json_1_0(
54
+ value["field_definitions"]
55
+ )
56
+ )
57
+ if "last_modified_timestamp" in value:
58
+ import capo_keyspaces.types.timestamp
59
+
60
+ out["lastModifiedTimestamp"] = (
61
+ capo_keyspaces.types.timestamp.serialize_aws_json_1_0(
62
+ value["last_modified_timestamp"]
63
+ )
64
+ )
65
+ if "status" in value:
66
+ out["status"] = value["status"]
67
+ if "direct_referring_tables" in value:
68
+ import capo_keyspaces.types.table_name_list
69
+
70
+ out["directReferringTables"] = (
71
+ capo_keyspaces.types.table_name_list.serialize_aws_json_1_0(
72
+ value["direct_referring_tables"]
73
+ )
74
+ )
75
+ if "direct_parent_types" in value:
76
+ import capo_keyspaces.types.type_name_list
77
+
78
+ out["directParentTypes"] = (
79
+ capo_keyspaces.types.type_name_list.serialize_aws_json_1_0(
80
+ value["direct_parent_types"]
81
+ )
82
+ )
83
+ out["maxNestingDepth"] = value.get("max_nesting_depth", 0)
84
+ out["keyspaceArn"] = value["keyspace_arn"]
85
+ return out
86
+
87
+
88
+ def deserialize_aws_json_1_0(data: dict) -> GetTypeResponse:
89
+ out: GetTypeResponse = {} # type: ignore[typeddict-item]
90
+ if data.get("keyspaceName") is not None:
91
+ out["keyspace_name"] = data["keyspaceName"]
92
+ else:
93
+ raise DeserializationError("GetTypeResponse.keyspace_name required")
94
+ if data.get("typeName") is not None:
95
+ out["type_name"] = data["typeName"]
96
+ else:
97
+ raise DeserializationError("GetTypeResponse.type_name required")
98
+ if data.get("fieldDefinitions") is not None:
99
+ import capo_keyspaces.types.field_list
100
+
101
+ out["field_definitions"] = (
102
+ capo_keyspaces.types.field_list.deserialize_aws_json_1_0(
103
+ data["fieldDefinitions"]
104
+ )
105
+ )
106
+ if data.get("lastModifiedTimestamp") is not None:
107
+ import capo_keyspaces.types.timestamp
108
+
109
+ out["last_modified_timestamp"] = (
110
+ capo_keyspaces.types.timestamp.deserialize_aws_json_1_0(
111
+ data["lastModifiedTimestamp"]
112
+ )
113
+ )
114
+ if data.get("status") is not None:
115
+ out["status"] = data["status"]
116
+ if data.get("directReferringTables") is not None:
117
+ import capo_keyspaces.types.table_name_list
118
+
119
+ out["direct_referring_tables"] = (
120
+ capo_keyspaces.types.table_name_list.deserialize_aws_json_1_0(
121
+ data["directReferringTables"]
122
+ )
123
+ )
124
+ if data.get("directParentTypes") is not None:
125
+ import capo_keyspaces.types.type_name_list
126
+
127
+ out["direct_parent_types"] = (
128
+ capo_keyspaces.types.type_name_list.deserialize_aws_json_1_0(
129
+ data["directParentTypes"]
130
+ )
131
+ )
132
+ if data.get("maxNestingDepth") is not None:
133
+ out["max_nesting_depth"] = data["maxNestingDepth"]
134
+ else:
135
+ out["max_nesting_depth"] = 0
136
+ if data.get("keyspaceArn") is not None:
137
+ out["keyspace_arn"] = data["keyspaceArn"]
138
+ else:
139
+ raise DeserializationError("GetTypeResponse.keyspace_arn required")
140
+ return out
@@ -0,0 +1,5 @@
1
+ """Generated from Smithy shape ``com.amazonaws.keyspaces#IntegerObject``."""
2
+
3
+ from typing import TypeAlias
4
+
5
+ IntegerObject: TypeAlias = int
@@ -0,0 +1,5 @@
1
+ """Generated from Smithy shape ``com.amazonaws.keyspaces#KeyspaceName``."""
2
+
3
+ from typing import TypeAlias
4
+
5
+ KeyspaceName: TypeAlias = str
@@ -0,0 +1,5 @@
1
+ """Generated from Smithy shape ``com.amazonaws.keyspaces#KeyspaceStatus``."""
2
+
3
+ from typing import TypeAlias
4
+
5
+ KeyspaceStatus: TypeAlias = str
@@ -0,0 +1,66 @@
1
+ """Generated from Smithy shape ``com.amazonaws.keyspaces#KeyspaceSummary``."""
2
+
3
+ from typing import TYPE_CHECKING
4
+
5
+ from typing_extensions import NotRequired, TypedDict
6
+
7
+ from capo_keyspaces.errors import DeserializationError
8
+
9
+ if TYPE_CHECKING:
10
+ import capo_keyspaces.types.arn
11
+ import capo_keyspaces.types.keyspace_name
12
+ import capo_keyspaces.types.region_list
13
+ import capo_keyspaces.types.rs
14
+
15
+
16
+ class KeyspaceSummary(TypedDict, closed=True):
17
+ keyspace_name: "capo_keyspaces.types.keyspace_name.KeyspaceName"
18
+ """<p>The name of the keyspace.</p>"""
19
+ resource_arn: "capo_keyspaces.types.arn.ARN"
20
+ """<p>The unique identifier of the keyspace in the format of an Amazon Resource Name (ARN).</p>"""
21
+ replication_strategy: "capo_keyspaces.types.rs.rs"
22
+ """<p> This property specifies if a keyspace is a single Region keyspace or a multi-Region keyspace. The available values are <code>SINGLE_REGION</code> or <code>MULTI_REGION</code>. </p>"""
23
+ replication_regions: NotRequired["capo_keyspaces.types.region_list.RegionList"]
24
+ """<p> If the <code>replicationStrategy</code> of the keyspace is <code>MULTI_REGION</code>, a list of replication Regions is returned. </p>"""
25
+
26
+
27
+ # --- awsJson1_0 ser/de ---
28
+ def serialize_aws_json_1_0(value: KeyspaceSummary) -> dict:
29
+ out: dict = {}
30
+ out["keyspaceName"] = value["keyspace_name"]
31
+ out["resourceArn"] = value["resource_arn"]
32
+ out["replicationStrategy"] = value["replication_strategy"]
33
+ if "replication_regions" in value:
34
+ import capo_keyspaces.types.region_list
35
+
36
+ out["replicationRegions"] = (
37
+ capo_keyspaces.types.region_list.serialize_aws_json_1_0(
38
+ value["replication_regions"]
39
+ )
40
+ )
41
+ return out
42
+
43
+
44
+ def deserialize_aws_json_1_0(data: dict) -> KeyspaceSummary:
45
+ out: KeyspaceSummary = {} # type: ignore[typeddict-item]
46
+ if data.get("keyspaceName") is not None:
47
+ out["keyspace_name"] = data["keyspaceName"]
48
+ else:
49
+ raise DeserializationError("KeyspaceSummary.keyspace_name required")
50
+ if data.get("resourceArn") is not None:
51
+ out["resource_arn"] = data["resourceArn"]
52
+ else:
53
+ raise DeserializationError("KeyspaceSummary.resource_arn required")
54
+ if data.get("replicationStrategy") is not None:
55
+ out["replication_strategy"] = data["replicationStrategy"]
56
+ else:
57
+ raise DeserializationError("KeyspaceSummary.replication_strategy required")
58
+ if data.get("replicationRegions") is not None:
59
+ import capo_keyspaces.types.region_list
60
+
61
+ out["replication_regions"] = (
62
+ capo_keyspaces.types.region_list.deserialize_aws_json_1_0(
63
+ data["replicationRegions"]
64
+ )
65
+ )
66
+ return out
@@ -0,0 +1,31 @@
1
+ """Generated from Smithy shape ``com.amazonaws.keyspaces#KeyspaceSummaryList``."""
2
+
3
+ from typing import TYPE_CHECKING, TypeAlias
4
+
5
+ if TYPE_CHECKING:
6
+ import capo_keyspaces.types.keyspace_summary
7
+
8
+ KeyspaceSummaryList: TypeAlias = list[
9
+ "capo_keyspaces.types.keyspace_summary.KeyspaceSummary"
10
+ ]
11
+
12
+
13
+ # --- awsJson1_0 ser/de ---
14
+ def serialize_aws_json_1_0(value: KeyspaceSummaryList) -> list:
15
+ import capo_keyspaces.types.keyspace_summary
16
+
17
+ out: list = []
18
+ for item in value:
19
+ out.append(capo_keyspaces.types.keyspace_summary.serialize_aws_json_1_0(item))
20
+ return out
21
+
22
+
23
+ def deserialize_aws_json_1_0(data: list) -> KeyspaceSummaryList:
24
+ import capo_keyspaces.types.keyspace_summary
25
+
26
+ out: KeyspaceSummaryList = []
27
+ for item in data:
28
+ if item is None:
29
+ continue
30
+ out.append(capo_keyspaces.types.keyspace_summary.deserialize_aws_json_1_0(item))
31
+ return out
@@ -0,0 +1,5 @@
1
+ """Generated from Smithy shape ``com.amazonaws.keyspaces#kmsKeyARN``."""
2
+
3
+ from typing import TypeAlias
4
+
5
+ kmsKeyARN: TypeAlias = str
@@ -0,0 +1,35 @@
1
+ """Generated from Smithy shape ``com.amazonaws.keyspaces#ListKeyspacesRequest``."""
2
+
3
+ from typing import TYPE_CHECKING
4
+
5
+ from typing_extensions import NotRequired, TypedDict
6
+
7
+ if TYPE_CHECKING:
8
+ import capo_keyspaces.types.max_results
9
+ import capo_keyspaces.types.next_token
10
+
11
+
12
+ class ListKeyspacesRequest(TypedDict, closed=True):
13
+ next_token: NotRequired["capo_keyspaces.types.next_token.NextToken"]
14
+ """<p>The pagination token. To resume pagination, provide the <code>NextToken</code> value as argument of a subsequent API invocation.</p>"""
15
+ max_results: NotRequired["capo_keyspaces.types.max_results.MaxResults"]
16
+ """<p>The total number of keyspaces to return in the output. If the total number of keyspaces available is more than the value specified, a <code>NextToken</code> is provided in the output. To resume pagination, provide the <code>NextToken</code> value as an argument of a subsequent API invocation.</p>"""
17
+
18
+
19
+ # --- awsJson1_0 ser/de ---
20
+ def serialize_aws_json_1_0(value: ListKeyspacesRequest) -> dict:
21
+ out: dict = {}
22
+ if "next_token" in value:
23
+ out["nextToken"] = value["next_token"]
24
+ if "max_results" in value:
25
+ out["maxResults"] = value["max_results"]
26
+ return out
27
+
28
+
29
+ def deserialize_aws_json_1_0(data: dict) -> ListKeyspacesRequest:
30
+ out: ListKeyspacesRequest = {} # type: ignore[typeddict-item]
31
+ if data.get("nextToken") is not None:
32
+ out["next_token"] = data["nextToken"]
33
+ if data.get("maxResults") is not None:
34
+ out["max_results"] = data["maxResults"]
35
+ return out