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,61 @@
1
+ """Generated from Smithy shape ``com.amazonaws.keyspaces#ReplicaSpecification``."""
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.auto_scaling_settings
11
+ import capo_keyspaces.types.capacity_units
12
+ import capo_keyspaces.types.region
13
+
14
+
15
+ class ReplicaSpecification(TypedDict, closed=True):
16
+ region: "capo_keyspaces.types.region.region"
17
+ """<p>The Amazon Web Services Region.</p>"""
18
+ read_capacity_units: NotRequired[
19
+ "capo_keyspaces.types.capacity_units.CapacityUnits"
20
+ ]
21
+ """<p>The provisioned read capacity units for the multi-Region table in the specified Amazon Web Services Region.</p>"""
22
+ read_capacity_auto_scaling: NotRequired[
23
+ "capo_keyspaces.types.auto_scaling_settings.AutoScalingSettings"
24
+ ]
25
+ """<p>The read capacity auto scaling settings for the multi-Region table in the specified Amazon Web Services Region.</p>"""
26
+
27
+
28
+ # --- awsJson1_0 ser/de ---
29
+ def serialize_aws_json_1_0(value: ReplicaSpecification) -> dict:
30
+ out: dict = {}
31
+ out["region"] = value["region"]
32
+ if "read_capacity_units" in value:
33
+ out["readCapacityUnits"] = value["read_capacity_units"]
34
+ if "read_capacity_auto_scaling" in value:
35
+ import capo_keyspaces.types.auto_scaling_settings
36
+
37
+ out["readCapacityAutoScaling"] = (
38
+ capo_keyspaces.types.auto_scaling_settings.serialize_aws_json_1_0(
39
+ value["read_capacity_auto_scaling"]
40
+ )
41
+ )
42
+ return out
43
+
44
+
45
+ def deserialize_aws_json_1_0(data: dict) -> ReplicaSpecification:
46
+ out: ReplicaSpecification = {} # type: ignore[typeddict-item]
47
+ if data.get("region") is not None:
48
+ out["region"] = data["region"]
49
+ else:
50
+ raise DeserializationError("ReplicaSpecification.region required")
51
+ if data.get("readCapacityUnits") is not None:
52
+ out["read_capacity_units"] = data["readCapacityUnits"]
53
+ if data.get("readCapacityAutoScaling") is not None:
54
+ import capo_keyspaces.types.auto_scaling_settings
55
+
56
+ out["read_capacity_auto_scaling"] = (
57
+ capo_keyspaces.types.auto_scaling_settings.deserialize_aws_json_1_0(
58
+ data["readCapacityAutoScaling"]
59
+ )
60
+ )
61
+ return out
@@ -0,0 +1,35 @@
1
+ """Generated from Smithy shape ``com.amazonaws.keyspaces#ReplicaSpecificationList``."""
2
+
3
+ from typing import TYPE_CHECKING, TypeAlias
4
+
5
+ if TYPE_CHECKING:
6
+ import capo_keyspaces.types.replica_specification
7
+
8
+ ReplicaSpecificationList: TypeAlias = list[
9
+ "capo_keyspaces.types.replica_specification.ReplicaSpecification"
10
+ ]
11
+
12
+
13
+ # --- awsJson1_0 ser/de ---
14
+ def serialize_aws_json_1_0(value: ReplicaSpecificationList) -> list:
15
+ import capo_keyspaces.types.replica_specification
16
+
17
+ out: list = []
18
+ for item in value:
19
+ out.append(
20
+ capo_keyspaces.types.replica_specification.serialize_aws_json_1_0(item)
21
+ )
22
+ return out
23
+
24
+
25
+ def deserialize_aws_json_1_0(data: list) -> ReplicaSpecificationList:
26
+ import capo_keyspaces.types.replica_specification
27
+
28
+ out: ReplicaSpecificationList = []
29
+ for item in data:
30
+ if item is None:
31
+ continue
32
+ out.append(
33
+ capo_keyspaces.types.replica_specification.deserialize_aws_json_1_0(item)
34
+ )
35
+ return out
@@ -0,0 +1,76 @@
1
+ """Generated from Smithy shape ``com.amazonaws.keyspaces#ReplicaSpecificationSummary``."""
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.capacity_specification_summary
9
+ import capo_keyspaces.types.region
10
+ import capo_keyspaces.types.table_status
11
+ import capo_keyspaces.types.warm_throughput_specification_summary
12
+
13
+
14
+ class ReplicaSpecificationSummary(TypedDict, closed=True):
15
+ region: NotRequired["capo_keyspaces.types.region.region"]
16
+ """<p>The Amazon Web Services Region.</p>"""
17
+ status: NotRequired["capo_keyspaces.types.table_status.TableStatus"]
18
+ """<p>The status of the multi-Region table in the specified Amazon Web Services Region.</p>"""
19
+ capacity_specification: NotRequired[
20
+ "capo_keyspaces.types.capacity_specification_summary.CapacitySpecificationSummary"
21
+ ]
22
+ warm_throughput_specification: NotRequired[
23
+ "capo_keyspaces.types.warm_throughput_specification_summary.WarmThroughputSpecificationSummary"
24
+ ]
25
+ """<p>The warm throughput settings for this replica, including the current status and configured read and write capacity units.</p>"""
26
+
27
+
28
+ # --- awsJson1_0 ser/de ---
29
+ def serialize_aws_json_1_0(value: ReplicaSpecificationSummary) -> dict:
30
+ out: dict = {}
31
+ if "region" in value:
32
+ out["region"] = value["region"]
33
+ if "status" in value:
34
+ out["status"] = value["status"]
35
+ if "capacity_specification" in value:
36
+ import capo_keyspaces.types.capacity_specification_summary
37
+
38
+ out["capacitySpecification"] = (
39
+ capo_keyspaces.types.capacity_specification_summary.serialize_aws_json_1_0(
40
+ value["capacity_specification"]
41
+ )
42
+ )
43
+ if "warm_throughput_specification" in value:
44
+ import capo_keyspaces.types.warm_throughput_specification_summary
45
+
46
+ out["warmThroughputSpecification"] = (
47
+ capo_keyspaces.types.warm_throughput_specification_summary.serialize_aws_json_1_0(
48
+ value["warm_throughput_specification"]
49
+ )
50
+ )
51
+ return out
52
+
53
+
54
+ def deserialize_aws_json_1_0(data: dict) -> ReplicaSpecificationSummary:
55
+ out: ReplicaSpecificationSummary = {} # type: ignore[typeddict-item]
56
+ if data.get("region") is not None:
57
+ out["region"] = data["region"]
58
+ if data.get("status") is not None:
59
+ out["status"] = data["status"]
60
+ if data.get("capacitySpecification") is not None:
61
+ import capo_keyspaces.types.capacity_specification_summary
62
+
63
+ out["capacity_specification"] = (
64
+ capo_keyspaces.types.capacity_specification_summary.deserialize_aws_json_1_0(
65
+ data["capacitySpecification"]
66
+ )
67
+ )
68
+ if data.get("warmThroughputSpecification") is not None:
69
+ import capo_keyspaces.types.warm_throughput_specification_summary
70
+
71
+ out["warm_throughput_specification"] = (
72
+ capo_keyspaces.types.warm_throughput_specification_summary.deserialize_aws_json_1_0(
73
+ data["warmThroughputSpecification"]
74
+ )
75
+ )
76
+ return out
@@ -0,0 +1,39 @@
1
+ """Generated from Smithy shape ``com.amazonaws.keyspaces#ReplicaSpecificationSummaryList``."""
2
+
3
+ from typing import TYPE_CHECKING, TypeAlias
4
+
5
+ if TYPE_CHECKING:
6
+ import capo_keyspaces.types.replica_specification_summary
7
+
8
+ ReplicaSpecificationSummaryList: TypeAlias = list[
9
+ "capo_keyspaces.types.replica_specification_summary.ReplicaSpecificationSummary"
10
+ ]
11
+
12
+
13
+ # --- awsJson1_0 ser/de ---
14
+ def serialize_aws_json_1_0(value: ReplicaSpecificationSummaryList) -> list:
15
+ import capo_keyspaces.types.replica_specification_summary
16
+
17
+ out: list = []
18
+ for item in value:
19
+ out.append(
20
+ capo_keyspaces.types.replica_specification_summary.serialize_aws_json_1_0(
21
+ item
22
+ )
23
+ )
24
+ return out
25
+
26
+
27
+ def deserialize_aws_json_1_0(data: list) -> ReplicaSpecificationSummaryList:
28
+ import capo_keyspaces.types.replica_specification_summary
29
+
30
+ out: ReplicaSpecificationSummaryList = []
31
+ for item in data:
32
+ if item is None:
33
+ continue
34
+ out.append(
35
+ capo_keyspaces.types.replica_specification_summary.deserialize_aws_json_1_0(
36
+ item
37
+ )
38
+ )
39
+ return out
@@ -0,0 +1,48 @@
1
+ """Generated from Smithy shape ``com.amazonaws.keyspaces#ReplicationGroupStatus``."""
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.keyspace_status
11
+ import capo_keyspaces.types.region
12
+ import capo_keyspaces.types.tables_replication_progress
13
+
14
+
15
+ class ReplicationGroupStatus(TypedDict, closed=True):
16
+ region: "capo_keyspaces.types.region.region"
17
+ """<p> The name of the Region that was added to the keyspace. </p>"""
18
+ keyspace_status: "capo_keyspaces.types.keyspace_status.KeyspaceStatus"
19
+ """<p> The status of the keyspace. </p>"""
20
+ tables_replication_progress: NotRequired[
21
+ "capo_keyspaces.types.tables_replication_progress.TablesReplicationProgress"
22
+ ]
23
+ """<p> This shows the replication progress of tables in the keyspace. The value is expressed as a percentage of the newly replicated tables with status <code>Active</code> compared to the total number of tables in the keyspace. </p>"""
24
+
25
+
26
+ # --- awsJson1_0 ser/de ---
27
+ def serialize_aws_json_1_0(value: ReplicationGroupStatus) -> dict:
28
+ out: dict = {}
29
+ out["region"] = value["region"]
30
+ out["keyspaceStatus"] = value["keyspace_status"]
31
+ if "tables_replication_progress" in value:
32
+ out["tablesReplicationProgress"] = value["tables_replication_progress"]
33
+ return out
34
+
35
+
36
+ def deserialize_aws_json_1_0(data: dict) -> ReplicationGroupStatus:
37
+ out: ReplicationGroupStatus = {} # type: ignore[typeddict-item]
38
+ if data.get("region") is not None:
39
+ out["region"] = data["region"]
40
+ else:
41
+ raise DeserializationError("ReplicationGroupStatus.region required")
42
+ if data.get("keyspaceStatus") is not None:
43
+ out["keyspace_status"] = data["keyspaceStatus"]
44
+ else:
45
+ raise DeserializationError("ReplicationGroupStatus.keyspace_status required")
46
+ if data.get("tablesReplicationProgress") is not None:
47
+ out["tables_replication_progress"] = data["tablesReplicationProgress"]
48
+ return out
@@ -0,0 +1,35 @@
1
+ """Generated from Smithy shape ``com.amazonaws.keyspaces#ReplicationGroupStatusList``."""
2
+
3
+ from typing import TYPE_CHECKING, TypeAlias
4
+
5
+ if TYPE_CHECKING:
6
+ import capo_keyspaces.types.replication_group_status
7
+
8
+ ReplicationGroupStatusList: TypeAlias = list[
9
+ "capo_keyspaces.types.replication_group_status.ReplicationGroupStatus"
10
+ ]
11
+
12
+
13
+ # --- awsJson1_0 ser/de ---
14
+ def serialize_aws_json_1_0(value: ReplicationGroupStatusList) -> list:
15
+ import capo_keyspaces.types.replication_group_status
16
+
17
+ out: list = []
18
+ for item in value:
19
+ out.append(
20
+ capo_keyspaces.types.replication_group_status.serialize_aws_json_1_0(item)
21
+ )
22
+ return out
23
+
24
+
25
+ def deserialize_aws_json_1_0(data: list) -> ReplicationGroupStatusList:
26
+ import capo_keyspaces.types.replication_group_status
27
+
28
+ out: ReplicationGroupStatusList = []
29
+ for item in data:
30
+ if item is None:
31
+ continue
32
+ out.append(
33
+ capo_keyspaces.types.replication_group_status.deserialize_aws_json_1_0(item)
34
+ )
35
+ return out
@@ -0,0 +1,48 @@
1
+ """Generated from Smithy shape ``com.amazonaws.keyspaces#ReplicationSpecification``."""
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.region_list
11
+ import capo_keyspaces.types.rs
12
+
13
+
14
+ class ReplicationSpecification(TypedDict, closed=True):
15
+ replication_strategy: "capo_keyspaces.types.rs.rs"
16
+ """<p> The <code>replicationStrategy</code> of a keyspace, the required value is <code>SINGLE_REGION</code> or <code>MULTI_REGION</code>. </p>"""
17
+ region_list: NotRequired["capo_keyspaces.types.region_list.RegionList"]
18
+ """<p> The <code>regionList</code> contains the Amazon Web Services Regions where the keyspace is replicated in. </p>"""
19
+
20
+
21
+ # --- awsJson1_0 ser/de ---
22
+ def serialize_aws_json_1_0(value: ReplicationSpecification) -> dict:
23
+ out: dict = {}
24
+ out["replicationStrategy"] = value["replication_strategy"]
25
+ if "region_list" in value:
26
+ import capo_keyspaces.types.region_list
27
+
28
+ out["regionList"] = capo_keyspaces.types.region_list.serialize_aws_json_1_0(
29
+ value["region_list"]
30
+ )
31
+ return out
32
+
33
+
34
+ def deserialize_aws_json_1_0(data: dict) -> ReplicationSpecification:
35
+ out: ReplicationSpecification = {} # type: ignore[typeddict-item]
36
+ if data.get("replicationStrategy") is not None:
37
+ out["replication_strategy"] = data["replicationStrategy"]
38
+ else:
39
+ raise DeserializationError(
40
+ "ReplicationSpecification.replication_strategy required"
41
+ )
42
+ if data.get("regionList") is not None:
43
+ import capo_keyspaces.types.region_list
44
+
45
+ out["region_list"] = capo_keyspaces.types.region_list.deserialize_aws_json_1_0(
46
+ data["regionList"]
47
+ )
48
+ return out
@@ -0,0 +1,190 @@
1
+ """Generated from Smithy shape ``com.amazonaws.keyspaces#RestoreTableRequest``."""
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.auto_scaling_specification
11
+ import capo_keyspaces.types.capacity_specification
12
+ import capo_keyspaces.types.encryption_specification
13
+ import capo_keyspaces.types.keyspace_name
14
+ import capo_keyspaces.types.point_in_time_recovery
15
+ import capo_keyspaces.types.replica_specification_list
16
+ import capo_keyspaces.types.table_name
17
+ import capo_keyspaces.types.tag_list
18
+ import capo_keyspaces.types.timestamp
19
+
20
+
21
+ class RestoreTableRequest(TypedDict, closed=True):
22
+ source_keyspace_name: "capo_keyspaces.types.keyspace_name.KeyspaceName"
23
+ """<p>The keyspace name of the source table.</p>"""
24
+ source_table_name: "capo_keyspaces.types.table_name.TableName"
25
+ """<p>The name of the source table.</p>"""
26
+ target_keyspace_name: "capo_keyspaces.types.keyspace_name.KeyspaceName"
27
+ """<p>The name of the target keyspace.</p>"""
28
+ target_table_name: "capo_keyspaces.types.table_name.TableName"
29
+ """<p>The name of the target table.</p>"""
30
+ restore_timestamp: NotRequired["capo_keyspaces.types.timestamp.Timestamp"]
31
+ """<p>The restore timestamp in ISO 8601 format.</p>"""
32
+ capacity_specification_override: NotRequired[
33
+ "capo_keyspaces.types.capacity_specification.CapacitySpecification"
34
+ ]
35
+ r"""<p>Specifies the read/write throughput capacity mode for the target table. The options are:</p> <ul> <li> <p> <code>throughputMode:PAY_PER_REQUEST</code> </p> </li> <li> <p> <code>throughputMode:PROVISIONED</code> - Provisioned capacity mode requires <code>readCapacityUnits</code> and <code>writeCapacityUnits</code> as input.</p> </li> </ul> <p>The default is <code>throughput_mode:PAY_PER_REQUEST</code>.</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>"""
36
+ encryption_specification_override: NotRequired[
37
+ "capo_keyspaces.types.encryption_specification.EncryptionSpecification"
38
+ ]
39
+ r"""<p>Specifies the encryption settings for the target table. You can choose one of the following KMS key (KMS key):</p> <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>"""
40
+ point_in_time_recovery_override: NotRequired[
41
+ "capo_keyspaces.types.point_in_time_recovery.PointInTimeRecovery"
42
+ ]
43
+ r"""<p>Specifies the <code>pointInTimeRecovery</code> settings for the target table. The options are:</p> <ul> <li> <p> <code>status=ENABLED</code> </p> </li> <li> <p> <code>status=DISABLED</code> </p> </li> </ul> <p>If it's not specified, the default is <code>status=DISABLED</code>.</p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/keyspaces/latest/devguide/PointInTimeRecovery.html\">Point-in-time recovery</a> in the <i>Amazon Keyspaces Developer Guide</i>.</p>"""
44
+ tags_override: NotRequired["capo_keyspaces.types.tag_list.TagList"]
45
+ r"""<p>A list of key-value pair tags to be attached to the restored table. </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>"""
46
+ auto_scaling_specification: NotRequired[
47
+ "capo_keyspaces.types.auto_scaling_specification.AutoScalingSpecification"
48
+ ]
49
+ r"""<p>The optional auto scaling settings for the restored table in provisioned capacity mode. Specifies if the service can manage throughput capacity of a provisioned table automatically on your behalf. Amazon Keyspaces auto scaling helps you provision throughput capacity for variable workloads efficiently by increasing and decreasing your table's read and write capacity automatically in response to application traffic.</p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/keyspaces/latest/devguide/autoscaling.html\">Managing throughput capacity automatically with Amazon Keyspaces auto scaling</a> in the <i>Amazon Keyspaces Developer Guide</i>.</p>"""
50
+ replica_specifications: NotRequired[
51
+ "capo_keyspaces.types.replica_specification_list.ReplicaSpecificationList"
52
+ ]
53
+ """<p>The optional Region specific settings of a multi-Regional table.</p>"""
54
+
55
+
56
+ # --- awsJson1_0 ser/de ---
57
+ def serialize_aws_json_1_0(value: RestoreTableRequest) -> dict:
58
+ out: dict = {}
59
+ out["sourceKeyspaceName"] = value["source_keyspace_name"]
60
+ out["sourceTableName"] = value["source_table_name"]
61
+ out["targetKeyspaceName"] = value["target_keyspace_name"]
62
+ out["targetTableName"] = value["target_table_name"]
63
+ if "restore_timestamp" in value:
64
+ import capo_keyspaces.types.timestamp
65
+
66
+ out["restoreTimestamp"] = capo_keyspaces.types.timestamp.serialize_aws_json_1_0(
67
+ value["restore_timestamp"]
68
+ )
69
+ if "capacity_specification_override" in value:
70
+ import capo_keyspaces.types.capacity_specification
71
+
72
+ out["capacitySpecificationOverride"] = (
73
+ capo_keyspaces.types.capacity_specification.serialize_aws_json_1_0(
74
+ value["capacity_specification_override"]
75
+ )
76
+ )
77
+ if "encryption_specification_override" in value:
78
+ import capo_keyspaces.types.encryption_specification
79
+
80
+ out["encryptionSpecificationOverride"] = (
81
+ capo_keyspaces.types.encryption_specification.serialize_aws_json_1_0(
82
+ value["encryption_specification_override"]
83
+ )
84
+ )
85
+ if "point_in_time_recovery_override" in value:
86
+ import capo_keyspaces.types.point_in_time_recovery
87
+
88
+ out["pointInTimeRecoveryOverride"] = (
89
+ capo_keyspaces.types.point_in_time_recovery.serialize_aws_json_1_0(
90
+ value["point_in_time_recovery_override"]
91
+ )
92
+ )
93
+ if "tags_override" in value:
94
+ import capo_keyspaces.types.tag_list
95
+
96
+ out["tagsOverride"] = capo_keyspaces.types.tag_list.serialize_aws_json_1_0(
97
+ value["tags_override"]
98
+ )
99
+ if "auto_scaling_specification" in value:
100
+ import capo_keyspaces.types.auto_scaling_specification
101
+
102
+ out["autoScalingSpecification"] = (
103
+ capo_keyspaces.types.auto_scaling_specification.serialize_aws_json_1_0(
104
+ value["auto_scaling_specification"]
105
+ )
106
+ )
107
+ if "replica_specifications" in value:
108
+ import capo_keyspaces.types.replica_specification_list
109
+
110
+ out["replicaSpecifications"] = (
111
+ capo_keyspaces.types.replica_specification_list.serialize_aws_json_1_0(
112
+ value["replica_specifications"]
113
+ )
114
+ )
115
+ return out
116
+
117
+
118
+ def deserialize_aws_json_1_0(data: dict) -> RestoreTableRequest:
119
+ out: RestoreTableRequest = {} # type: ignore[typeddict-item]
120
+ if data.get("sourceKeyspaceName") is not None:
121
+ out["source_keyspace_name"] = data["sourceKeyspaceName"]
122
+ else:
123
+ raise DeserializationError("RestoreTableRequest.source_keyspace_name required")
124
+ if data.get("sourceTableName") is not None:
125
+ out["source_table_name"] = data["sourceTableName"]
126
+ else:
127
+ raise DeserializationError("RestoreTableRequest.source_table_name required")
128
+ if data.get("targetKeyspaceName") is not None:
129
+ out["target_keyspace_name"] = data["targetKeyspaceName"]
130
+ else:
131
+ raise DeserializationError("RestoreTableRequest.target_keyspace_name required")
132
+ if data.get("targetTableName") is not None:
133
+ out["target_table_name"] = data["targetTableName"]
134
+ else:
135
+ raise DeserializationError("RestoreTableRequest.target_table_name required")
136
+ if data.get("restoreTimestamp") is not None:
137
+ import capo_keyspaces.types.timestamp
138
+
139
+ out["restore_timestamp"] = (
140
+ capo_keyspaces.types.timestamp.deserialize_aws_json_1_0(
141
+ data["restoreTimestamp"]
142
+ )
143
+ )
144
+ if data.get("capacitySpecificationOverride") is not None:
145
+ import capo_keyspaces.types.capacity_specification
146
+
147
+ out["capacity_specification_override"] = (
148
+ capo_keyspaces.types.capacity_specification.deserialize_aws_json_1_0(
149
+ data["capacitySpecificationOverride"]
150
+ )
151
+ )
152
+ if data.get("encryptionSpecificationOverride") is not None:
153
+ import capo_keyspaces.types.encryption_specification
154
+
155
+ out["encryption_specification_override"] = (
156
+ capo_keyspaces.types.encryption_specification.deserialize_aws_json_1_0(
157
+ data["encryptionSpecificationOverride"]
158
+ )
159
+ )
160
+ if data.get("pointInTimeRecoveryOverride") is not None:
161
+ import capo_keyspaces.types.point_in_time_recovery
162
+
163
+ out["point_in_time_recovery_override"] = (
164
+ capo_keyspaces.types.point_in_time_recovery.deserialize_aws_json_1_0(
165
+ data["pointInTimeRecoveryOverride"]
166
+ )
167
+ )
168
+ if data.get("tagsOverride") is not None:
169
+ import capo_keyspaces.types.tag_list
170
+
171
+ out["tags_override"] = capo_keyspaces.types.tag_list.deserialize_aws_json_1_0(
172
+ data["tagsOverride"]
173
+ )
174
+ if data.get("autoScalingSpecification") is not None:
175
+ import capo_keyspaces.types.auto_scaling_specification
176
+
177
+ out["auto_scaling_specification"] = (
178
+ capo_keyspaces.types.auto_scaling_specification.deserialize_aws_json_1_0(
179
+ data["autoScalingSpecification"]
180
+ )
181
+ )
182
+ if data.get("replicaSpecifications") is not None:
183
+ import capo_keyspaces.types.replica_specification_list
184
+
185
+ out["replica_specifications"] = (
186
+ capo_keyspaces.types.replica_specification_list.deserialize_aws_json_1_0(
187
+ data["replicaSpecifications"]
188
+ )
189
+ )
190
+ return out
@@ -0,0 +1,31 @@
1
+ """Generated from Smithy shape ``com.amazonaws.keyspaces#RestoreTableResponse``."""
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.arn
11
+
12
+
13
+ class RestoreTableResponse(TypedDict, closed=True):
14
+ restored_table_arn: "capo_keyspaces.types.arn.ARN"
15
+ """<p>The Amazon Resource Name (ARN) of the restored table.</p>"""
16
+
17
+
18
+ # --- awsJson1_0 ser/de ---
19
+ def serialize_aws_json_1_0(value: RestoreTableResponse) -> dict:
20
+ out: dict = {}
21
+ out["restoredTableARN"] = value["restored_table_arn"]
22
+ return out
23
+
24
+
25
+ def deserialize_aws_json_1_0(data: dict) -> RestoreTableResponse:
26
+ out: RestoreTableResponse = {} # type: ignore[typeddict-item]
27
+ if data.get("restoredTableARN") is not None:
28
+ out["restored_table_arn"] = data["restoredTableARN"]
29
+ else:
30
+ raise DeserializationError("RestoreTableResponse.restored_table_arn required")
31
+ return out
@@ -0,0 +1,5 @@
1
+ """Generated from Smithy shape ``com.amazonaws.keyspaces#rs``."""
2
+
3
+ from typing import TypeAlias
4
+
5
+ rs: TypeAlias = str