capo-lambda-microvms 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 (180) hide show
  1. capo_lambda_microvms/__init__.py +73 -0
  2. capo_lambda_microvms/_async.py +25 -0
  3. capo_lambda_microvms/_auth/_identity.py +16 -0
  4. capo_lambda_microvms/_auth/_providers.py +886 -0
  5. capo_lambda_microvms/_auth/_signers.py +125 -0
  6. capo_lambda_microvms/_auth/_sigv4.py +579 -0
  7. capo_lambda_microvms/_auth/_zapros_handler.py +80 -0
  8. capo_lambda_microvms/_body.py +221 -0
  9. capo_lambda_microvms/_iter.py +113 -0
  10. capo_lambda_microvms/_operations/lambda_microvms/create_microvm_auth_token.py +181 -0
  11. capo_lambda_microvms/_operations/lambda_microvms/create_microvm_image.py +190 -0
  12. capo_lambda_microvms/_operations/lambda_microvms/create_microvm_shell_auth_token.py +181 -0
  13. capo_lambda_microvms/_operations/lambda_microvms/delete_microvm_image.py +170 -0
  14. capo_lambda_microvms/_operations/lambda_microvms/delete_microvm_image_version.py +174 -0
  15. capo_lambda_microvms/_operations/lambda_microvms/get_microvm.py +171 -0
  16. capo_lambda_microvms/_operations/lambda_microvms/get_microvm_image.py +170 -0
  17. capo_lambda_microvms/_operations/lambda_microvms/get_microvm_image_build.py +177 -0
  18. capo_lambda_microvms/_operations/lambda_microvms/get_microvm_image_version.py +179 -0
  19. capo_lambda_microvms/_operations/lambda_microvms/list_managed_microvm_image_versions.py +172 -0
  20. capo_lambda_microvms/_operations/lambda_microvms/list_managed_microvm_images.py +162 -0
  21. capo_lambda_microvms/_operations/lambda_microvms/list_microvm_image_builds.py +196 -0
  22. capo_lambda_microvms/_operations/lambda_microvms/list_microvm_image_versions.py +172 -0
  23. capo_lambda_microvms/_operations/lambda_microvms/list_microvm_images.py +164 -0
  24. capo_lambda_microvms/_operations/lambda_microvms/list_microvms.py +175 -0
  25. capo_lambda_microvms/_operations/lambda_microvms/list_tags.py +182 -0
  26. capo_lambda_microvms/_operations/lambda_microvms/resume_microvm.py +167 -0
  27. capo_lambda_microvms/_operations/lambda_microvms/run_microvm.py +187 -0
  28. capo_lambda_microvms/_operations/lambda_microvms/suspend_microvm.py +167 -0
  29. capo_lambda_microvms/_operations/lambda_microvms/tag_resource.py +164 -0
  30. capo_lambda_microvms/_operations/lambda_microvms/terminate_microvm.py +167 -0
  31. capo_lambda_microvms/_operations/lambda_microvms/untag_resource.py +162 -0
  32. capo_lambda_microvms/_operations/lambda_microvms/update_microvm_image.py +191 -0
  33. capo_lambda_microvms/_operations/lambda_microvms/update_microvm_image_version.py +190 -0
  34. capo_lambda_microvms/_pagination.py +21 -0
  35. capo_lambda_microvms/_protocol/__init__.py +1 -0
  36. capo_lambda_microvms/_protocol/errors.py +93 -0
  37. capo_lambda_microvms/_protocol/eventstream.py +240 -0
  38. capo_lambda_microvms/_protocol/serialize.py +47 -0
  39. capo_lambda_microvms/_protocol/xml.py +33 -0
  40. capo_lambda_microvms/_resources/lambda_microvms/microvm.py +983 -0
  41. capo_lambda_microvms/_resources/lambda_microvms/microvm_image.py +1394 -0
  42. capo_lambda_microvms/_rule_engine/__init__.py +0 -0
  43. capo_lambda_microvms/_rule_engine/_aws_partition.py +160 -0
  44. capo_lambda_microvms/_rule_engine/_endpoint_rule_set.py +135 -0
  45. capo_lambda_microvms/_rule_engine/_endpoint_runtime.py +389 -0
  46. capo_lambda_microvms/_services/_aws_config.py +160 -0
  47. capo_lambda_microvms/_services/_pipeline.py +247 -0
  48. capo_lambda_microvms/_services/async_lambda_microvms.py +1822 -0
  49. capo_lambda_microvms/_services/lambda_microvms.py +1798 -0
  50. capo_lambda_microvms/errors/__init__.py +49 -0
  51. capo_lambda_microvms/errors/_base.py +94 -0
  52. capo_lambda_microvms/errors/access_denied_exception.py +46 -0
  53. capo_lambda_microvms/errors/conflict_exception.py +56 -0
  54. capo_lambda_microvms/errors/insufficient_capacity_exception.py +49 -0
  55. capo_lambda_microvms/errors/internal_server_exception.py +48 -0
  56. capo_lambda_microvms/errors/invalid_parameter_value_exception.py +54 -0
  57. capo_lambda_microvms/errors/resource_conflict_exception.py +52 -0
  58. capo_lambda_microvms/errors/resource_not_found_exception.py +59 -0
  59. capo_lambda_microvms/errors/service_exception.py +50 -0
  60. capo_lambda_microvms/errors/service_quota_exceeded_exception.py +72 -0
  61. capo_lambda_microvms/errors/throttling_exception.py +58 -0
  62. capo_lambda_microvms/errors/too_many_requests_exception.py +52 -0
  63. capo_lambda_microvms/errors/validation_exception.py +44 -0
  64. capo_lambda_microvms/py.typed +0 -0
  65. capo_lambda_microvms/types/_prelude/blob.py +12 -0
  66. capo_lambda_microvms/types/_prelude/timestamp.py +17 -0
  67. capo_lambda_microvms/types/architecture.py +14 -0
  68. capo_lambda_microvms/types/auth_token_key.py +5 -0
  69. capo_lambda_microvms/types/auth_token_value.py +5 -0
  70. capo_lambda_microvms/types/build_state.py +19 -0
  71. capo_lambda_microvms/types/capability.py +15 -0
  72. capo_lambda_microvms/types/capability_list.py +29 -0
  73. capo_lambda_microvms/types/chipset.py +14 -0
  74. capo_lambda_microvms/types/cloud_watch_logging.py +34 -0
  75. capo_lambda_microvms/types/code_artifact.py +32 -0
  76. capo_lambda_microvms/types/cpu_configuration.py +39 -0
  77. capo_lambda_microvms/types/cpu_configuration_list.py +31 -0
  78. capo_lambda_microvms/types/create_microvm_auth_token_request.py +62 -0
  79. capo_lambda_microvms/types/create_microvm_auth_token_response.py +39 -0
  80. capo_lambda_microvms/types/create_microvm_image_request.py +219 -0
  81. capo_lambda_microvms/types/create_microvm_image_response.py +294 -0
  82. capo_lambda_microvms/types/create_microvm_shell_auth_token_request.py +38 -0
  83. capo_lambda_microvms/types/create_microvm_shell_auth_token_response.py +41 -0
  84. capo_lambda_microvms/types/delete_microvm_image_input.py +26 -0
  85. capo_lambda_microvms/types/delete_microvm_image_output.py +49 -0
  86. capo_lambda_microvms/types/delete_microvm_image_version_input.py +29 -0
  87. capo_lambda_microvms/types/delete_microvm_image_version_output.py +65 -0
  88. capo_lambda_microvms/types/environment_variable_key.py +5 -0
  89. capo_lambda_microvms/types/environment_variable_map.py +29 -0
  90. capo_lambda_microvms/types/environment_variable_value.py +5 -0
  91. capo_lambda_microvms/types/get_microvm_image_build_input.py +31 -0
  92. capo_lambda_microvms/types/get_microvm_image_build_output.py +144 -0
  93. capo_lambda_microvms/types/get_microvm_image_input.py +26 -0
  94. capo_lambda_microvms/types/get_microvm_image_output.py +117 -0
  95. capo_lambda_microvms/types/get_microvm_image_version_input.py +29 -0
  96. capo_lambda_microvms/types/get_microvm_image_version_output.py +308 -0
  97. capo_lambda_microvms/types/get_microvm_request.py +26 -0
  98. capo_lambda_microvms/types/get_microvm_response.py +188 -0
  99. capo_lambda_microvms/types/hook_state.py +18 -0
  100. capo_lambda_microvms/types/hooks.py +65 -0
  101. capo_lambda_microvms/types/idle_policy.py +40 -0
  102. capo_lambda_microvms/types/image_name.py +6 -0
  103. capo_lambda_microvms/types/list_managed_microvm_image_versions_input.py +31 -0
  104. capo_lambda_microvms/types/list_managed_microvm_image_versions_output.py +52 -0
  105. capo_lambda_microvms/types/list_managed_microvm_images_input.py +26 -0
  106. capo_lambda_microvms/types/list_managed_microvm_images_output.py +50 -0
  107. capo_lambda_microvms/types/list_microvm_image_builds_input.py +44 -0
  108. capo_lambda_microvms/types/list_microvm_image_builds_output.py +50 -0
  109. capo_lambda_microvms/types/list_microvm_image_versions_input.py +31 -0
  110. capo_lambda_microvms/types/list_microvm_image_versions_output.py +50 -0
  111. capo_lambda_microvms/types/list_microvm_images_request.py +31 -0
  112. capo_lambda_microvms/types/list_microvm_images_response.py +48 -0
  113. capo_lambda_microvms/types/list_microvms_request.py +33 -0
  114. capo_lambda_microvms/types/list_microvms_response.py +46 -0
  115. capo_lambda_microvms/types/list_of_port_specification.py +31 -0
  116. capo_lambda_microvms/types/list_tags_request.py +24 -0
  117. capo_lambda_microvms/types/list_tags_response.py +32 -0
  118. capo_lambda_microvms/types/logging.py +65 -0
  119. capo_lambda_microvms/types/logging_disabled.py +18 -0
  120. capo_lambda_microvms/types/managed_microvm_image_summary.py +66 -0
  121. capo_lambda_microvms/types/managed_microvm_image_summary_list.py +39 -0
  122. capo_lambda_microvms/types/managed_microvm_image_version.py +94 -0
  123. capo_lambda_microvms/types/managed_microvm_image_version_list.py +39 -0
  124. capo_lambda_microvms/types/managed_microvm_image_version_status.py +18 -0
  125. capo_lambda_microvms/types/microvm_hooks.py +108 -0
  126. capo_lambda_microvms/types/microvm_identifier.py +6 -0
  127. capo_lambda_microvms/types/microvm_image_arn.py +6 -0
  128. capo_lambda_microvms/types/microvm_image_build_summaries.py +37 -0
  129. capo_lambda_microvms/types/microvm_image_build_summary.py +125 -0
  130. capo_lambda_microvms/types/microvm_image_hooks.py +66 -0
  131. capo_lambda_microvms/types/microvm_image_identifier.py +6 -0
  132. capo_lambda_microvms/types/microvm_image_state.py +24 -0
  133. capo_lambda_microvms/types/microvm_image_summaries.py +35 -0
  134. capo_lambda_microvms/types/microvm_image_summary.py +90 -0
  135. capo_lambda_microvms/types/microvm_image_version_state.py +22 -0
  136. capo_lambda_microvms/types/microvm_image_version_status.py +17 -0
  137. capo_lambda_microvms/types/microvm_image_version_summary.py +300 -0
  138. capo_lambda_microvms/types/microvm_image_version_summary_list.py +39 -0
  139. capo_lambda_microvms/types/microvm_item.py +82 -0
  140. capo_lambda_microvms/types/microvm_item_list.py +29 -0
  141. capo_lambda_microvms/types/microvm_state.py +22 -0
  142. capo_lambda_microvms/types/network_connector.py +5 -0
  143. capo_lambda_microvms/types/network_connector_list.py +19 -0
  144. capo_lambda_microvms/types/non_blank_string.py +6 -0
  145. capo_lambda_microvms/types/port_number.py +6 -0
  146. capo_lambda_microvms/types/port_range.py +38 -0
  147. capo_lambda_microvms/types/port_specification.py +63 -0
  148. capo_lambda_microvms/types/positive_integer.py +5 -0
  149. capo_lambda_microvms/types/resources.py +26 -0
  150. capo_lambda_microvms/types/resources_list.py +29 -0
  151. capo_lambda_microvms/types/resume_microvm_request.py +26 -0
  152. capo_lambda_microvms/types/resume_microvm_response.py +18 -0
  153. capo_lambda_microvms/types/role_arn.py +6 -0
  154. capo_lambda_microvms/types/run_hook_payload.py +5 -0
  155. capo_lambda_microvms/types/run_microvm_request.py +139 -0
  156. capo_lambda_microvms/types/run_microvm_response.py +188 -0
  157. capo_lambda_microvms/types/snapshot_build.py +35 -0
  158. capo_lambda_microvms/types/string.py +5 -0
  159. capo_lambda_microvms/types/suspend_microvm_request.py +26 -0
  160. capo_lambda_microvms/types/suspend_microvm_response.py +18 -0
  161. capo_lambda_microvms/types/tag_key.py +5 -0
  162. capo_lambda_microvms/types/tag_key_list.py +17 -0
  163. capo_lambda_microvms/types/tag_resource_request.py +38 -0
  164. capo_lambda_microvms/types/tag_value.py +5 -0
  165. capo_lambda_microvms/types/taggable_resource.py +6 -0
  166. capo_lambda_microvms/types/tags.py +29 -0
  167. capo_lambda_microvms/types/terminate_microvm_request.py +26 -0
  168. capo_lambda_microvms/types/terminate_microvm_response.py +18 -0
  169. capo_lambda_microvms/types/token_parts.py +29 -0
  170. capo_lambda_microvms/types/untag_resource_request.py +27 -0
  171. capo_lambda_microvms/types/update_microvm_image_request.py +205 -0
  172. capo_lambda_microvms/types/update_microvm_image_response.py +284 -0
  173. capo_lambda_microvms/types/update_microvm_image_version_request.py +51 -0
  174. capo_lambda_microvms/types/update_microvm_image_version_response.py +312 -0
  175. capo_lambda_microvms/types/version.py +5 -0
  176. capo_lambda_microvms-0.1.0.dist-info/METADATA +103 -0
  177. capo_lambda_microvms-0.1.0.dist-info/RECORD +180 -0
  178. capo_lambda_microvms-0.1.0.dist-info/WHEEL +5 -0
  179. capo_lambda_microvms-0.1.0.dist-info/licenses/LICENSE +21 -0
  180. capo_lambda_microvms-0.1.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,18 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdamicrovms#LoggingDisabled``."""
2
+
3
+ from typing_extensions import TypedDict
4
+
5
+
6
+ class LoggingDisabled(TypedDict, closed=True):
7
+ pass
8
+
9
+
10
+ # --- restJson1 ser/de ---
11
+ def serialize_json(value: LoggingDisabled) -> dict:
12
+ out: dict = {}
13
+ return out
14
+
15
+
16
+ def deserialize_json(data: dict) -> LoggingDisabled:
17
+ out: LoggingDisabled = {} # type: ignore[typeddict-item]
18
+ return out
@@ -0,0 +1,66 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdamicrovms#ManagedMicrovmImageSummary``."""
2
+
3
+ from typing import TYPE_CHECKING
4
+
5
+ from typing_extensions import NotRequired, TypedDict
6
+
7
+ from capo_lambda_microvms.errors import DeserializationError
8
+
9
+ if TYPE_CHECKING:
10
+ import datetime
11
+
12
+ import capo_lambda_microvms.types.non_blank_string
13
+
14
+
15
+ class ManagedMicrovmImageSummary(TypedDict, closed=True):
16
+ image_arn: "capo_lambda_microvms.types.non_blank_string.NonBlankString"
17
+ """<p>The ARN of the managed MicroVM image.</p>"""
18
+ created_at: "datetime.datetime"
19
+ """<p>The timestamp when the managed MicroVM image was created.</p>"""
20
+ updated_at: NotRequired["datetime.datetime"]
21
+ """<p>The timestamp when the managed MicroVM image was last updated.</p>"""
22
+
23
+
24
+ # --- restJson1 ser/de ---
25
+ def serialize_json(value: ManagedMicrovmImageSummary) -> dict:
26
+ out: dict = {}
27
+ out["imageArn"] = value["image_arn"]
28
+ import capo_lambda_microvms.types._prelude.timestamp
29
+
30
+ out["createdAt"] = capo_lambda_microvms.types._prelude.timestamp.serialize_json(
31
+ value["created_at"]
32
+ )
33
+ if "updated_at" in value:
34
+ import capo_lambda_microvms.types._prelude.timestamp
35
+
36
+ out["updatedAt"] = capo_lambda_microvms.types._prelude.timestamp.serialize_json(
37
+ value["updated_at"]
38
+ )
39
+ return out
40
+
41
+
42
+ def deserialize_json(data: dict) -> ManagedMicrovmImageSummary:
43
+ out: ManagedMicrovmImageSummary = {} # type: ignore[typeddict-item]
44
+ if data.get("imageArn") is not None:
45
+ out["image_arn"] = data["imageArn"]
46
+ else:
47
+ raise DeserializationError("ManagedMicrovmImageSummary.image_arn required")
48
+ if data.get("createdAt") is not None:
49
+ import capo_lambda_microvms.types._prelude.timestamp
50
+
51
+ out["created_at"] = (
52
+ capo_lambda_microvms.types._prelude.timestamp.deserialize_json(
53
+ data["createdAt"]
54
+ )
55
+ )
56
+ else:
57
+ raise DeserializationError("ManagedMicrovmImageSummary.created_at required")
58
+ if data.get("updatedAt") is not None:
59
+ import capo_lambda_microvms.types._prelude.timestamp
60
+
61
+ out["updated_at"] = (
62
+ capo_lambda_microvms.types._prelude.timestamp.deserialize_json(
63
+ data["updatedAt"]
64
+ )
65
+ )
66
+ return out
@@ -0,0 +1,39 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdamicrovms#ManagedMicrovmImageSummaryList``."""
2
+
3
+ from typing import TYPE_CHECKING, TypeAlias
4
+
5
+ if TYPE_CHECKING:
6
+ import capo_lambda_microvms.types.managed_microvm_image_summary
7
+
8
+ ManagedMicrovmImageSummaryList: TypeAlias = list[
9
+ "capo_lambda_microvms.types.managed_microvm_image_summary.ManagedMicrovmImageSummary"
10
+ ]
11
+
12
+
13
+ # --- restJson1 ser/de ---
14
+ def serialize_json(value: ManagedMicrovmImageSummaryList) -> list:
15
+ import capo_lambda_microvms.types.managed_microvm_image_summary
16
+
17
+ out: list = []
18
+ for item in value:
19
+ out.append(
20
+ capo_lambda_microvms.types.managed_microvm_image_summary.serialize_json(
21
+ item
22
+ )
23
+ )
24
+ return out
25
+
26
+
27
+ def deserialize_json(data: list) -> ManagedMicrovmImageSummaryList:
28
+ import capo_lambda_microvms.types.managed_microvm_image_summary
29
+
30
+ out: ManagedMicrovmImageSummaryList = []
31
+ for item in data:
32
+ if item is None:
33
+ continue
34
+ out.append(
35
+ capo_lambda_microvms.types.managed_microvm_image_summary.deserialize_json(
36
+ item
37
+ )
38
+ )
39
+ return out
@@ -0,0 +1,94 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdamicrovms#ManagedMicrovmImageVersion``."""
2
+
3
+ from typing import TYPE_CHECKING
4
+
5
+ from typing_extensions import NotRequired, TypedDict
6
+
7
+ from capo_lambda_microvms.errors import DeserializationError
8
+
9
+ if TYPE_CHECKING:
10
+ import datetime
11
+
12
+ import capo_lambda_microvms.types.managed_microvm_image_version_status
13
+ import capo_lambda_microvms.types.non_blank_string
14
+
15
+
16
+ class ManagedMicrovmImageVersion(TypedDict, closed=True):
17
+ image_arn: "capo_lambda_microvms.types.non_blank_string.NonBlankString"
18
+ """<p>The ARN of the managed MicroVM image.</p>"""
19
+ image_version: "capo_lambda_microvms.types.non_blank_string.NonBlankString"
20
+ """<p>The version of the managed MicroVM image.</p>"""
21
+ status: NotRequired[
22
+ "capo_lambda_microvms.types.managed_microvm_image_version_status.ManagedMicrovmImageVersionStatus"
23
+ ]
24
+ """<p>The lifecycle status of the managed MicroVM image version. Valid values: AVAILABLE (the version is available for use) or DEPRECATED (the version is deprecated; do not use it for new MicroVM images).</p>"""
25
+ created_at: "datetime.datetime"
26
+ """<p>The timestamp when the version was created.</p>"""
27
+ updated_at: NotRequired["datetime.datetime"]
28
+ """<p>The timestamp when the version was last updated.</p>"""
29
+
30
+
31
+ # --- restJson1 ser/de ---
32
+ def serialize_json(value: ManagedMicrovmImageVersion) -> dict:
33
+ out: dict = {}
34
+ out["imageArn"] = value["image_arn"]
35
+ out["imageVersion"] = value["image_version"]
36
+ if "status" in value:
37
+ import capo_lambda_microvms.types.managed_microvm_image_version_status
38
+
39
+ out["status"] = (
40
+ capo_lambda_microvms.types.managed_microvm_image_version_status.serialize_json(
41
+ value["status"]
42
+ )
43
+ )
44
+ import capo_lambda_microvms.types._prelude.timestamp
45
+
46
+ out["createdAt"] = capo_lambda_microvms.types._prelude.timestamp.serialize_json(
47
+ value["created_at"]
48
+ )
49
+ if "updated_at" in value:
50
+ import capo_lambda_microvms.types._prelude.timestamp
51
+
52
+ out["updatedAt"] = capo_lambda_microvms.types._prelude.timestamp.serialize_json(
53
+ value["updated_at"]
54
+ )
55
+ return out
56
+
57
+
58
+ def deserialize_json(data: dict) -> ManagedMicrovmImageVersion:
59
+ out: ManagedMicrovmImageVersion = {} # type: ignore[typeddict-item]
60
+ if data.get("imageArn") is not None:
61
+ out["image_arn"] = data["imageArn"]
62
+ else:
63
+ raise DeserializationError("ManagedMicrovmImageVersion.image_arn required")
64
+ if data.get("imageVersion") is not None:
65
+ out["image_version"] = data["imageVersion"]
66
+ else:
67
+ raise DeserializationError("ManagedMicrovmImageVersion.image_version required")
68
+ if data.get("status") is not None:
69
+ import capo_lambda_microvms.types.managed_microvm_image_version_status
70
+
71
+ out["status"] = (
72
+ capo_lambda_microvms.types.managed_microvm_image_version_status.deserialize_json(
73
+ data["status"]
74
+ )
75
+ )
76
+ if data.get("createdAt") is not None:
77
+ import capo_lambda_microvms.types._prelude.timestamp
78
+
79
+ out["created_at"] = (
80
+ capo_lambda_microvms.types._prelude.timestamp.deserialize_json(
81
+ data["createdAt"]
82
+ )
83
+ )
84
+ else:
85
+ raise DeserializationError("ManagedMicrovmImageVersion.created_at required")
86
+ if data.get("updatedAt") is not None:
87
+ import capo_lambda_microvms.types._prelude.timestamp
88
+
89
+ out["updated_at"] = (
90
+ capo_lambda_microvms.types._prelude.timestamp.deserialize_json(
91
+ data["updatedAt"]
92
+ )
93
+ )
94
+ return out
@@ -0,0 +1,39 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdamicrovms#ManagedMicrovmImageVersionList``."""
2
+
3
+ from typing import TYPE_CHECKING, TypeAlias
4
+
5
+ if TYPE_CHECKING:
6
+ import capo_lambda_microvms.types.managed_microvm_image_version
7
+
8
+ ManagedMicrovmImageVersionList: TypeAlias = list[
9
+ "capo_lambda_microvms.types.managed_microvm_image_version.ManagedMicrovmImageVersion"
10
+ ]
11
+
12
+
13
+ # --- restJson1 ser/de ---
14
+ def serialize_json(value: ManagedMicrovmImageVersionList) -> list:
15
+ import capo_lambda_microvms.types.managed_microvm_image_version
16
+
17
+ out: list = []
18
+ for item in value:
19
+ out.append(
20
+ capo_lambda_microvms.types.managed_microvm_image_version.serialize_json(
21
+ item
22
+ )
23
+ )
24
+ return out
25
+
26
+
27
+ def deserialize_json(data: list) -> ManagedMicrovmImageVersionList:
28
+ import capo_lambda_microvms.types.managed_microvm_image_version
29
+
30
+ out: ManagedMicrovmImageVersionList = []
31
+ for item in data:
32
+ if item is None:
33
+ continue
34
+ out.append(
35
+ capo_lambda_microvms.types.managed_microvm_image_version.deserialize_json(
36
+ item
37
+ )
38
+ )
39
+ return out
@@ -0,0 +1,18 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdamicrovms#ManagedMicrovmImageVersionStatus``."""
2
+
3
+ from typing import Literal, TypeAlias, cast
4
+
5
+ """<p>The lifecycle status of a managed MicroVM image version.</p>"""
6
+ ManagedMicrovmImageVersionStatus: TypeAlias = Literal[
7
+ "AVAILABLE",
8
+ "DEPRECATED",
9
+ ]
10
+
11
+
12
+ # --- restJson1 ser/de ---
13
+ def serialize_json(value: ManagedMicrovmImageVersionStatus) -> str:
14
+ return value
15
+
16
+
17
+ def deserialize_json(data: str) -> ManagedMicrovmImageVersionStatus:
18
+ return cast(ManagedMicrovmImageVersionStatus, data)
@@ -0,0 +1,108 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdamicrovms#MicrovmHooks``."""
2
+
3
+ from typing import TYPE_CHECKING
4
+
5
+ from typing_extensions import TypedDict
6
+
7
+ if TYPE_CHECKING:
8
+ import capo_lambda_microvms.types.hook_state
9
+
10
+
11
+ class MicrovmHooks(TypedDict, closed=True):
12
+ run: "capo_lambda_microvms.types.hook_state.HookState"
13
+ """<p>The path of the hook invoked when the MicroVM starts running.</p>"""
14
+ run_timeout_in_seconds: "int"
15
+ """<p>The maximum time in seconds for the run hook to complete.</p>"""
16
+ resume: "capo_lambda_microvms.types.hook_state.HookState"
17
+ """<p>The path of the hook invoked when the MicroVM resumes from a suspended state.</p>"""
18
+ resume_timeout_in_seconds: "int"
19
+ """<p>The maximum time in seconds for the resume hook to complete.</p>"""
20
+ suspend: "capo_lambda_microvms.types.hook_state.HookState"
21
+ """<p>The path of the hook invoked when the MicroVM is suspended.</p>"""
22
+ suspend_timeout_in_seconds: "int"
23
+ """<p>The maximum time in seconds for the suspend hook to complete.</p>"""
24
+ terminate: "capo_lambda_microvms.types.hook_state.HookState"
25
+ """<p>The path of the hook invoked when the MicroVM is terminated.</p>"""
26
+ terminate_timeout_in_seconds: "int"
27
+ """<p>The maximum time in seconds for the terminate hook to complete.</p>"""
28
+
29
+
30
+ # --- restJson1 ser/de ---
31
+ def serialize_json(value: MicrovmHooks) -> dict:
32
+ out: dict = {}
33
+ import capo_lambda_microvms.types.hook_state
34
+
35
+ out["run"] = capo_lambda_microvms.types.hook_state.serialize_json(
36
+ value.get("run", "DISABLED")
37
+ )
38
+ out["runTimeoutInSeconds"] = value.get("run_timeout_in_seconds", 1)
39
+ import capo_lambda_microvms.types.hook_state
40
+
41
+ out["resume"] = capo_lambda_microvms.types.hook_state.serialize_json(
42
+ value.get("resume", "DISABLED")
43
+ )
44
+ out["resumeTimeoutInSeconds"] = value.get("resume_timeout_in_seconds", 1)
45
+ import capo_lambda_microvms.types.hook_state
46
+
47
+ out["suspend"] = capo_lambda_microvms.types.hook_state.serialize_json(
48
+ value.get("suspend", "DISABLED")
49
+ )
50
+ out["suspendTimeoutInSeconds"] = value.get("suspend_timeout_in_seconds", 1)
51
+ import capo_lambda_microvms.types.hook_state
52
+
53
+ out["terminate"] = capo_lambda_microvms.types.hook_state.serialize_json(
54
+ value.get("terminate", "DISABLED")
55
+ )
56
+ out["terminateTimeoutInSeconds"] = value.get("terminate_timeout_in_seconds", 1)
57
+ return out
58
+
59
+
60
+ def deserialize_json(data: dict) -> MicrovmHooks:
61
+ out: MicrovmHooks = {} # type: ignore[typeddict-item]
62
+ if data.get("run") is not None:
63
+ import capo_lambda_microvms.types.hook_state
64
+
65
+ out["run"] = capo_lambda_microvms.types.hook_state.deserialize_json(data["run"])
66
+ else:
67
+ out["run"] = "DISABLED"
68
+ if data.get("runTimeoutInSeconds") is not None:
69
+ out["run_timeout_in_seconds"] = data["runTimeoutInSeconds"]
70
+ else:
71
+ out["run_timeout_in_seconds"] = 1
72
+ if data.get("resume") is not None:
73
+ import capo_lambda_microvms.types.hook_state
74
+
75
+ out["resume"] = capo_lambda_microvms.types.hook_state.deserialize_json(
76
+ data["resume"]
77
+ )
78
+ else:
79
+ out["resume"] = "DISABLED"
80
+ if data.get("resumeTimeoutInSeconds") is not None:
81
+ out["resume_timeout_in_seconds"] = data["resumeTimeoutInSeconds"]
82
+ else:
83
+ out["resume_timeout_in_seconds"] = 1
84
+ if data.get("suspend") is not None:
85
+ import capo_lambda_microvms.types.hook_state
86
+
87
+ out["suspend"] = capo_lambda_microvms.types.hook_state.deserialize_json(
88
+ data["suspend"]
89
+ )
90
+ else:
91
+ out["suspend"] = "DISABLED"
92
+ if data.get("suspendTimeoutInSeconds") is not None:
93
+ out["suspend_timeout_in_seconds"] = data["suspendTimeoutInSeconds"]
94
+ else:
95
+ out["suspend_timeout_in_seconds"] = 1
96
+ if data.get("terminate") is not None:
97
+ import capo_lambda_microvms.types.hook_state
98
+
99
+ out["terminate"] = capo_lambda_microvms.types.hook_state.deserialize_json(
100
+ data["terminate"]
101
+ )
102
+ else:
103
+ out["terminate"] = "DISABLED"
104
+ if data.get("terminateTimeoutInSeconds") is not None:
105
+ out["terminate_timeout_in_seconds"] = data["terminateTimeoutInSeconds"]
106
+ else:
107
+ out["terminate_timeout_in_seconds"] = 1
108
+ return out
@@ -0,0 +1,6 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdamicrovms#MicrovmIdentifier``."""
2
+
3
+ from typing import TypeAlias
4
+
5
+ """The ARN or ID of the MicroVm"""
6
+ MicrovmIdentifier: TypeAlias = str
@@ -0,0 +1,6 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdamicrovms#MicrovmImageArn``."""
2
+
3
+ from typing import TypeAlias
4
+
5
+ """MicroVm Image Arn"""
6
+ MicrovmImageArn: TypeAlias = str
@@ -0,0 +1,37 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdamicrovms#MicrovmImageBuildSummaries``."""
2
+
3
+ from typing import TYPE_CHECKING, TypeAlias
4
+
5
+ if TYPE_CHECKING:
6
+ import capo_lambda_microvms.types.microvm_image_build_summary
7
+
8
+ MicrovmImageBuildSummaries: TypeAlias = list[
9
+ "capo_lambda_microvms.types.microvm_image_build_summary.MicrovmImageBuildSummary"
10
+ ]
11
+
12
+
13
+ # --- restJson1 ser/de ---
14
+ def serialize_json(value: MicrovmImageBuildSummaries) -> list:
15
+ import capo_lambda_microvms.types.microvm_image_build_summary
16
+
17
+ out: list = []
18
+ for item in value:
19
+ out.append(
20
+ capo_lambda_microvms.types.microvm_image_build_summary.serialize_json(item)
21
+ )
22
+ return out
23
+
24
+
25
+ def deserialize_json(data: list) -> MicrovmImageBuildSummaries:
26
+ import capo_lambda_microvms.types.microvm_image_build_summary
27
+
28
+ out: MicrovmImageBuildSummaries = []
29
+ for item in data:
30
+ if item is None:
31
+ continue
32
+ out.append(
33
+ capo_lambda_microvms.types.microvm_image_build_summary.deserialize_json(
34
+ item
35
+ )
36
+ )
37
+ return out
@@ -0,0 +1,125 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdamicrovms#MicrovmImageBuildSummary``."""
2
+
3
+ from typing import TYPE_CHECKING
4
+
5
+ from typing_extensions import NotRequired, TypedDict
6
+
7
+ from capo_lambda_microvms.errors import DeserializationError
8
+
9
+ if TYPE_CHECKING:
10
+ import datetime
11
+
12
+ import capo_lambda_microvms.types.architecture
13
+ import capo_lambda_microvms.types.build_state
14
+ import capo_lambda_microvms.types.chipset
15
+ import capo_lambda_microvms.types.non_blank_string
16
+
17
+
18
+ class MicrovmImageBuildSummary(TypedDict, closed=True):
19
+ image_arn: "capo_lambda_microvms.types.non_blank_string.NonBlankString"
20
+ """<p>The ARN of the MicroVM image.</p>"""
21
+ image_version: "capo_lambda_microvms.types.non_blank_string.NonBlankString"
22
+ """<p>The version of the MicroVM image.</p>"""
23
+ build_id: "capo_lambda_microvms.types.non_blank_string.NonBlankString"
24
+ """<p>The build request ID.</p>"""
25
+ build_state: "capo_lambda_microvms.types.build_state.BuildState"
26
+ """<p>The current state of the build.</p>"""
27
+ architecture: "capo_lambda_microvms.types.architecture.Architecture"
28
+ """<p>The target CPU architecture for the build. Supported value: ARM_64.</p>"""
29
+ chipset: "capo_lambda_microvms.types.chipset.Chipset"
30
+ """<p>The target chipset for the build.</p>"""
31
+ chipset_generation: "capo_lambda_microvms.types.non_blank_string.NonBlankString"
32
+ """<p>The target chipset generation for the build.</p>"""
33
+ state_reason: NotRequired["str"]
34
+ """<p>The reason for the build state, if applicable.</p>"""
35
+ created_at: "datetime.datetime"
36
+ """<p>The timestamp when the build was created.</p>"""
37
+
38
+
39
+ # --- restJson1 ser/de ---
40
+ def serialize_json(value: MicrovmImageBuildSummary) -> dict:
41
+ out: dict = {}
42
+ out["imageArn"] = value["image_arn"]
43
+ out["imageVersion"] = value["image_version"]
44
+ out["buildId"] = value["build_id"]
45
+ import capo_lambda_microvms.types.build_state
46
+
47
+ out["buildState"] = capo_lambda_microvms.types.build_state.serialize_json(
48
+ value["build_state"]
49
+ )
50
+ import capo_lambda_microvms.types.architecture
51
+
52
+ out["architecture"] = capo_lambda_microvms.types.architecture.serialize_json(
53
+ value["architecture"]
54
+ )
55
+ import capo_lambda_microvms.types.chipset
56
+
57
+ out["chipset"] = capo_lambda_microvms.types.chipset.serialize_json(value["chipset"])
58
+ out["chipsetGeneration"] = value["chipset_generation"]
59
+ if "state_reason" in value:
60
+ out["stateReason"] = value["state_reason"]
61
+ import capo_lambda_microvms.types._prelude.timestamp
62
+
63
+ out["createdAt"] = capo_lambda_microvms.types._prelude.timestamp.serialize_json(
64
+ value["created_at"]
65
+ )
66
+ return out
67
+
68
+
69
+ def deserialize_json(data: dict) -> MicrovmImageBuildSummary:
70
+ out: MicrovmImageBuildSummary = {} # type: ignore[typeddict-item]
71
+ if data.get("imageArn") is not None:
72
+ out["image_arn"] = data["imageArn"]
73
+ else:
74
+ raise DeserializationError("MicrovmImageBuildSummary.image_arn required")
75
+ if data.get("imageVersion") is not None:
76
+ out["image_version"] = data["imageVersion"]
77
+ else:
78
+ raise DeserializationError("MicrovmImageBuildSummary.image_version required")
79
+ if data.get("buildId") is not None:
80
+ out["build_id"] = data["buildId"]
81
+ else:
82
+ raise DeserializationError("MicrovmImageBuildSummary.build_id required")
83
+ if data.get("buildState") is not None:
84
+ import capo_lambda_microvms.types.build_state
85
+
86
+ out["build_state"] = capo_lambda_microvms.types.build_state.deserialize_json(
87
+ data["buildState"]
88
+ )
89
+ else:
90
+ raise DeserializationError("MicrovmImageBuildSummary.build_state required")
91
+ if data.get("architecture") is not None:
92
+ import capo_lambda_microvms.types.architecture
93
+
94
+ out["architecture"] = capo_lambda_microvms.types.architecture.deserialize_json(
95
+ data["architecture"]
96
+ )
97
+ else:
98
+ raise DeserializationError("MicrovmImageBuildSummary.architecture required")
99
+ if data.get("chipset") is not None:
100
+ import capo_lambda_microvms.types.chipset
101
+
102
+ out["chipset"] = capo_lambda_microvms.types.chipset.deserialize_json(
103
+ data["chipset"]
104
+ )
105
+ else:
106
+ raise DeserializationError("MicrovmImageBuildSummary.chipset required")
107
+ if data.get("chipsetGeneration") is not None:
108
+ out["chipset_generation"] = data["chipsetGeneration"]
109
+ else:
110
+ raise DeserializationError(
111
+ "MicrovmImageBuildSummary.chipset_generation required"
112
+ )
113
+ if data.get("stateReason") is not None:
114
+ out["state_reason"] = data["stateReason"]
115
+ if data.get("createdAt") is not None:
116
+ import capo_lambda_microvms.types._prelude.timestamp
117
+
118
+ out["created_at"] = (
119
+ capo_lambda_microvms.types._prelude.timestamp.deserialize_json(
120
+ data["createdAt"]
121
+ )
122
+ )
123
+ else:
124
+ raise DeserializationError("MicrovmImageBuildSummary.created_at required")
125
+ return out
@@ -0,0 +1,66 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdamicrovms#MicrovmImageHooks``."""
2
+
3
+ from typing import TYPE_CHECKING
4
+
5
+ from typing_extensions import TypedDict
6
+
7
+ if TYPE_CHECKING:
8
+ import capo_lambda_microvms.types.hook_state
9
+
10
+
11
+ class MicrovmImageHooks(TypedDict, closed=True):
12
+ ready: "capo_lambda_microvms.types.hook_state.HookState"
13
+ """<p>The path of the hook invoked when the MicroVM image build is ready.</p>"""
14
+ ready_timeout_in_seconds: "int"
15
+ """<p>The maximum time in seconds for the ready hook to complete.</p>"""
16
+ validate: "capo_lambda_microvms.types.hook_state.HookState"
17
+ """<p>The path of the hook invoked to validate the MicroVM image build.</p>"""
18
+ validate_timeout_in_seconds: "int"
19
+ """<p>The maximum time in seconds for the validate hook to complete.</p>"""
20
+
21
+
22
+ # --- restJson1 ser/de ---
23
+ def serialize_json(value: MicrovmImageHooks) -> dict:
24
+ out: dict = {}
25
+ import capo_lambda_microvms.types.hook_state
26
+
27
+ out["ready"] = capo_lambda_microvms.types.hook_state.serialize_json(
28
+ value.get("ready", "DISABLED")
29
+ )
30
+ out["readyTimeoutInSeconds"] = value.get("ready_timeout_in_seconds", 30)
31
+ import capo_lambda_microvms.types.hook_state
32
+
33
+ out["validate"] = capo_lambda_microvms.types.hook_state.serialize_json(
34
+ value.get("validate", "DISABLED")
35
+ )
36
+ out["validateTimeoutInSeconds"] = value.get("validate_timeout_in_seconds", 30)
37
+ return out
38
+
39
+
40
+ def deserialize_json(data: dict) -> MicrovmImageHooks:
41
+ out: MicrovmImageHooks = {} # type: ignore[typeddict-item]
42
+ if data.get("ready") is not None:
43
+ import capo_lambda_microvms.types.hook_state
44
+
45
+ out["ready"] = capo_lambda_microvms.types.hook_state.deserialize_json(
46
+ data["ready"]
47
+ )
48
+ else:
49
+ out["ready"] = "DISABLED"
50
+ if data.get("readyTimeoutInSeconds") is not None:
51
+ out["ready_timeout_in_seconds"] = data["readyTimeoutInSeconds"]
52
+ else:
53
+ out["ready_timeout_in_seconds"] = 30
54
+ if data.get("validate") is not None:
55
+ import capo_lambda_microvms.types.hook_state
56
+
57
+ out["validate"] = capo_lambda_microvms.types.hook_state.deserialize_json(
58
+ data["validate"]
59
+ )
60
+ else:
61
+ out["validate"] = "DISABLED"
62
+ if data.get("validateTimeoutInSeconds") is not None:
63
+ out["validate_timeout_in_seconds"] = data["validateTimeoutInSeconds"]
64
+ else:
65
+ out["validate_timeout_in_seconds"] = 30
66
+ return out
@@ -0,0 +1,6 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdamicrovms#MicrovmImageIdentifier``."""
2
+
3
+ from typing import TypeAlias
4
+
5
+ """The ARN or ID of the MicroVmImage"""
6
+ MicrovmImageIdentifier: TypeAlias = str
@@ -0,0 +1,24 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdamicrovms#MicrovmImageState``."""
2
+
3
+ from typing import Literal, TypeAlias, cast
4
+
5
+ MicrovmImageState: TypeAlias = Literal[
6
+ "CREATING",
7
+ "CREATED",
8
+ "CREATE_FAILED",
9
+ "UPDATING",
10
+ "UPDATED",
11
+ "UPDATE_FAILED",
12
+ "DELETING",
13
+ "DELETE_FAILED",
14
+ "DELETED",
15
+ ]
16
+
17
+
18
+ # --- restJson1 ser/de ---
19
+ def serialize_json(value: MicrovmImageState) -> str:
20
+ return value
21
+
22
+
23
+ def deserialize_json(data: str) -> MicrovmImageState:
24
+ return cast(MicrovmImageState, data)