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,29 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdamicrovms#DeleteMicrovmImageVersionInput``."""
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.microvm_image_identifier
9
+ import capo_lambda_microvms.types.non_blank_string
10
+
11
+
12
+ class DeleteMicrovmImageVersionInput(TypedDict, closed=True):
13
+ image_identifier: (
14
+ "capo_lambda_microvms.types.microvm_image_identifier.MicrovmImageIdentifier"
15
+ )
16
+ """<p>The unique identifier (ARN or ID) of the MicroVM image.</p>"""
17
+ image_version: "capo_lambda_microvms.types.non_blank_string.NonBlankString"
18
+ """<p>The version of the MicroVM image to delete.</p>"""
19
+
20
+
21
+ # --- restJson1 ser/de ---
22
+ def serialize_json(value: DeleteMicrovmImageVersionInput) -> dict:
23
+ out: dict = {}
24
+ return out
25
+
26
+
27
+ def deserialize_json(data: dict) -> DeleteMicrovmImageVersionInput:
28
+ out: DeleteMicrovmImageVersionInput = {} # type: ignore[typeddict-item]
29
+ return out
@@ -0,0 +1,65 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdamicrovms#DeleteMicrovmImageVersionOutput``."""
2
+
3
+ from typing import TYPE_CHECKING
4
+
5
+ from typing_extensions import TypedDict
6
+
7
+ from capo_lambda_microvms.errors import DeserializationError
8
+
9
+ if TYPE_CHECKING:
10
+ import capo_lambda_microvms.types.microvm_image_identifier
11
+ import capo_lambda_microvms.types.microvm_image_version_state
12
+ import capo_lambda_microvms.types.non_blank_string
13
+
14
+
15
+ class DeleteMicrovmImageVersionOutput(TypedDict, closed=True):
16
+ image_identifier: (
17
+ "capo_lambda_microvms.types.microvm_image_identifier.MicrovmImageIdentifier"
18
+ )
19
+ """<p>The identifier of the MicroVM image.</p>"""
20
+ image_version: "capo_lambda_microvms.types.non_blank_string.NonBlankString"
21
+ """<p>The version that was deleted.</p>"""
22
+ state: "capo_lambda_microvms.types.microvm_image_version_state.MicrovmImageVersionState"
23
+ """<p>The current state of the MicroVM image version after deletion.</p>"""
24
+
25
+
26
+ # --- restJson1 ser/de ---
27
+ def serialize_json(value: DeleteMicrovmImageVersionOutput) -> dict:
28
+ out: dict = {}
29
+ out["imageIdentifier"] = value["image_identifier"]
30
+ out["imageVersion"] = value["image_version"]
31
+ import capo_lambda_microvms.types.microvm_image_version_state
32
+
33
+ out["state"] = (
34
+ capo_lambda_microvms.types.microvm_image_version_state.serialize_json(
35
+ value["state"]
36
+ )
37
+ )
38
+ return out
39
+
40
+
41
+ def deserialize_json(data: dict) -> DeleteMicrovmImageVersionOutput:
42
+ out: DeleteMicrovmImageVersionOutput = {} # type: ignore[typeddict-item]
43
+ if data.get("imageIdentifier") is not None:
44
+ out["image_identifier"] = data["imageIdentifier"]
45
+ else:
46
+ raise DeserializationError(
47
+ "DeleteMicrovmImageVersionOutput.image_identifier required"
48
+ )
49
+ if data.get("imageVersion") is not None:
50
+ out["image_version"] = data["imageVersion"]
51
+ else:
52
+ raise DeserializationError(
53
+ "DeleteMicrovmImageVersionOutput.image_version required"
54
+ )
55
+ if data.get("state") is not None:
56
+ import capo_lambda_microvms.types.microvm_image_version_state
57
+
58
+ out["state"] = (
59
+ capo_lambda_microvms.types.microvm_image_version_state.deserialize_json(
60
+ data["state"]
61
+ )
62
+ )
63
+ else:
64
+ raise DeserializationError("DeleteMicrovmImageVersionOutput.state required")
65
+ return out
@@ -0,0 +1,5 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdamicrovms#EnvironmentVariableKey``."""
2
+
3
+ from typing import TypeAlias
4
+
5
+ EnvironmentVariableKey: TypeAlias = str
@@ -0,0 +1,29 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdamicrovms#EnvironmentVariableMap``."""
2
+
3
+ from typing import TYPE_CHECKING, TypeAlias
4
+
5
+ if TYPE_CHECKING:
6
+ import capo_lambda_microvms.types.environment_variable_key
7
+ import capo_lambda_microvms.types.environment_variable_value
8
+
9
+ EnvironmentVariableMap: TypeAlias = dict[
10
+ "capo_lambda_microvms.types.environment_variable_key.EnvironmentVariableKey",
11
+ "capo_lambda_microvms.types.environment_variable_value.EnvironmentVariableValue",
12
+ ]
13
+
14
+
15
+ # --- restJson1 ser/de ---
16
+ def serialize_json(input_to_serialize: EnvironmentVariableMap) -> dict:
17
+ out: dict = {}
18
+ for key, value in input_to_serialize.items():
19
+ out[key] = value
20
+ return out
21
+
22
+
23
+ def deserialize_json(data: dict) -> EnvironmentVariableMap:
24
+ out: EnvironmentVariableMap = {}
25
+ for key, value in data.items():
26
+ if value is None:
27
+ continue
28
+ out[key] = value
29
+ return out
@@ -0,0 +1,5 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdamicrovms#EnvironmentVariableValue``."""
2
+
3
+ from typing import TypeAlias
4
+
5
+ EnvironmentVariableValue: TypeAlias = str
@@ -0,0 +1,31 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdamicrovms#GetMicrovmImageBuildInput``."""
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.microvm_image_identifier
9
+ import capo_lambda_microvms.types.non_blank_string
10
+
11
+
12
+ class GetMicrovmImageBuildInput(TypedDict, closed=True):
13
+ image_identifier: (
14
+ "capo_lambda_microvms.types.microvm_image_identifier.MicrovmImageIdentifier"
15
+ )
16
+ """<p>The unique identifier (ARN or ID) of the MicroVM image.</p>"""
17
+ image_version: "capo_lambda_microvms.types.non_blank_string.NonBlankString"
18
+ """<p>The version of the MicroVM image.</p>"""
19
+ build_id: "capo_lambda_microvms.types.non_blank_string.NonBlankString"
20
+ """<p>The unique identifier of the build to retrieve.</p>"""
21
+
22
+
23
+ # --- restJson1 ser/de ---
24
+ def serialize_json(value: GetMicrovmImageBuildInput) -> dict:
25
+ out: dict = {}
26
+ return out
27
+
28
+
29
+ def deserialize_json(data: dict) -> GetMicrovmImageBuildInput:
30
+ out: GetMicrovmImageBuildInput = {} # type: ignore[typeddict-item]
31
+ return out
@@ -0,0 +1,144 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdamicrovms#GetMicrovmImageBuildOutput``."""
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
+ import capo_lambda_microvms.types.snapshot_build
17
+
18
+
19
+ class GetMicrovmImageBuildOutput(TypedDict, closed=True):
20
+ image_arn: "capo_lambda_microvms.types.non_blank_string.NonBlankString"
21
+ """<p>The ARN of the MicroVM image.</p>"""
22
+ image_version: "capo_lambda_microvms.types.non_blank_string.NonBlankString"
23
+ """<p>The version of the MicroVM image.</p>"""
24
+ build_id: "capo_lambda_microvms.types.non_blank_string.NonBlankString"
25
+ """<p>The build request ID.</p>"""
26
+ build_state: "capo_lambda_microvms.types.build_state.BuildState"
27
+ """<p>The current state of the build.</p>"""
28
+ architecture: "capo_lambda_microvms.types.architecture.Architecture"
29
+ """<p>The target CPU architecture for the build. Supported value: ARM_64.</p>"""
30
+ chipset: "capo_lambda_microvms.types.chipset.Chipset"
31
+ """<p>The target chipset for the build.</p>"""
32
+ chipset_generation: "capo_lambda_microvms.types.non_blank_string.NonBlankString"
33
+ """<p>The target chipset generation for the build.</p>"""
34
+ state_reason: NotRequired["str"]
35
+ """<p>The reason for the build state, if applicable.</p>"""
36
+ created_at: "datetime.datetime"
37
+ """<p>The timestamp when the build was created.</p>"""
38
+ snapshot_build: NotRequired[
39
+ "capo_lambda_microvms.types.snapshot_build.SnapshotBuild"
40
+ ]
41
+ """<p>The snapshot build details, including memory and disk snapshot sizes.</p>"""
42
+
43
+
44
+ # --- restJson1 ser/de ---
45
+ def serialize_json(value: GetMicrovmImageBuildOutput) -> dict:
46
+ out: dict = {}
47
+ out["imageArn"] = value["image_arn"]
48
+ out["imageVersion"] = value["image_version"]
49
+ out["buildId"] = value["build_id"]
50
+ import capo_lambda_microvms.types.build_state
51
+
52
+ out["buildState"] = capo_lambda_microvms.types.build_state.serialize_json(
53
+ value["build_state"]
54
+ )
55
+ import capo_lambda_microvms.types.architecture
56
+
57
+ out["architecture"] = capo_lambda_microvms.types.architecture.serialize_json(
58
+ value["architecture"]
59
+ )
60
+ import capo_lambda_microvms.types.chipset
61
+
62
+ out["chipset"] = capo_lambda_microvms.types.chipset.serialize_json(value["chipset"])
63
+ out["chipsetGeneration"] = value["chipset_generation"]
64
+ if "state_reason" in value:
65
+ out["stateReason"] = value["state_reason"]
66
+ import capo_lambda_microvms.types._prelude.timestamp
67
+
68
+ out["createdAt"] = capo_lambda_microvms.types._prelude.timestamp.serialize_json(
69
+ value["created_at"]
70
+ )
71
+ if "snapshot_build" in value:
72
+ import capo_lambda_microvms.types.snapshot_build
73
+
74
+ out["snapshotBuild"] = capo_lambda_microvms.types.snapshot_build.serialize_json(
75
+ value["snapshot_build"]
76
+ )
77
+ return out
78
+
79
+
80
+ def deserialize_json(data: dict) -> GetMicrovmImageBuildOutput:
81
+ out: GetMicrovmImageBuildOutput = {} # type: ignore[typeddict-item]
82
+ if data.get("imageArn") is not None:
83
+ out["image_arn"] = data["imageArn"]
84
+ else:
85
+ raise DeserializationError("GetMicrovmImageBuildOutput.image_arn required")
86
+ if data.get("imageVersion") is not None:
87
+ out["image_version"] = data["imageVersion"]
88
+ else:
89
+ raise DeserializationError("GetMicrovmImageBuildOutput.image_version required")
90
+ if data.get("buildId") is not None:
91
+ out["build_id"] = data["buildId"]
92
+ else:
93
+ raise DeserializationError("GetMicrovmImageBuildOutput.build_id required")
94
+ if data.get("buildState") is not None:
95
+ import capo_lambda_microvms.types.build_state
96
+
97
+ out["build_state"] = capo_lambda_microvms.types.build_state.deserialize_json(
98
+ data["buildState"]
99
+ )
100
+ else:
101
+ raise DeserializationError("GetMicrovmImageBuildOutput.build_state required")
102
+ if data.get("architecture") is not None:
103
+ import capo_lambda_microvms.types.architecture
104
+
105
+ out["architecture"] = capo_lambda_microvms.types.architecture.deserialize_json(
106
+ data["architecture"]
107
+ )
108
+ else:
109
+ raise DeserializationError("GetMicrovmImageBuildOutput.architecture required")
110
+ if data.get("chipset") is not None:
111
+ import capo_lambda_microvms.types.chipset
112
+
113
+ out["chipset"] = capo_lambda_microvms.types.chipset.deserialize_json(
114
+ data["chipset"]
115
+ )
116
+ else:
117
+ raise DeserializationError("GetMicrovmImageBuildOutput.chipset required")
118
+ if data.get("chipsetGeneration") is not None:
119
+ out["chipset_generation"] = data["chipsetGeneration"]
120
+ else:
121
+ raise DeserializationError(
122
+ "GetMicrovmImageBuildOutput.chipset_generation required"
123
+ )
124
+ if data.get("stateReason") is not None:
125
+ out["state_reason"] = data["stateReason"]
126
+ if data.get("createdAt") is not None:
127
+ import capo_lambda_microvms.types._prelude.timestamp
128
+
129
+ out["created_at"] = (
130
+ capo_lambda_microvms.types._prelude.timestamp.deserialize_json(
131
+ data["createdAt"]
132
+ )
133
+ )
134
+ else:
135
+ raise DeserializationError("GetMicrovmImageBuildOutput.created_at required")
136
+ if data.get("snapshotBuild") is not None:
137
+ import capo_lambda_microvms.types.snapshot_build
138
+
139
+ out["snapshot_build"] = (
140
+ capo_lambda_microvms.types.snapshot_build.deserialize_json(
141
+ data["snapshotBuild"]
142
+ )
143
+ )
144
+ return out
@@ -0,0 +1,26 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdamicrovms#GetMicrovmImageInput``."""
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.microvm_image_identifier
9
+
10
+
11
+ class GetMicrovmImageInput(TypedDict, closed=True):
12
+ image_identifier: (
13
+ "capo_lambda_microvms.types.microvm_image_identifier.MicrovmImageIdentifier"
14
+ )
15
+ """<p>The unique identifier (ARN or ID) of the MicroVM image to retrieve.</p>"""
16
+
17
+
18
+ # --- restJson1 ser/de ---
19
+ def serialize_json(value: GetMicrovmImageInput) -> dict:
20
+ out: dict = {}
21
+ return out
22
+
23
+
24
+ def deserialize_json(data: dict) -> GetMicrovmImageInput:
25
+ out: GetMicrovmImageInput = {} # type: ignore[typeddict-item]
26
+ return out
@@ -0,0 +1,117 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdamicrovms#GetMicrovmImageOutput``."""
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.image_name
13
+ import capo_lambda_microvms.types.microvm_image_state
14
+ import capo_lambda_microvms.types.non_blank_string
15
+ import capo_lambda_microvms.types.tags
16
+
17
+
18
+ class GetMicrovmImageOutput(TypedDict, closed=True):
19
+ image_arn: "capo_lambda_microvms.types.non_blank_string.NonBlankString"
20
+ """<p>The ARN of the MicroVM image.</p>"""
21
+ name: "capo_lambda_microvms.types.image_name.ImageName"
22
+ """<p>The name of the MicroVM image.</p>"""
23
+ state: "capo_lambda_microvms.types.microvm_image_state.MicrovmImageState"
24
+ """<p>The current state of the MicroVM image.</p>"""
25
+ latest_active_image_version: NotRequired[
26
+ "capo_lambda_microvms.types.non_blank_string.NonBlankString"
27
+ ]
28
+ """<p>The latest active version of the MicroVM image.</p>"""
29
+ latest_failed_image_version: NotRequired[
30
+ "capo_lambda_microvms.types.non_blank_string.NonBlankString"
31
+ ]
32
+ """<p>The latest failed version of the MicroVM image, if any.</p>"""
33
+ created_at: "datetime.datetime"
34
+ """<p>The timestamp when the MicroVM image was created.</p>"""
35
+ tags: NotRequired["capo_lambda_microvms.types.tags.Tags"]
36
+ """<p>A set of key-value pairs that you can attach to the resource. Use tags to categorize resources for cost allocation, access control (ABAC), and organization.</p>"""
37
+ updated_at: NotRequired["datetime.datetime"]
38
+ """<p>The timestamp when the MicroVM image was last updated.</p>"""
39
+
40
+
41
+ # --- restJson1 ser/de ---
42
+ def serialize_json(value: GetMicrovmImageOutput) -> dict:
43
+ out: dict = {}
44
+ out["imageArn"] = value["image_arn"]
45
+ out["name"] = value["name"]
46
+ import capo_lambda_microvms.types.microvm_image_state
47
+
48
+ out["state"] = capo_lambda_microvms.types.microvm_image_state.serialize_json(
49
+ value["state"]
50
+ )
51
+ if "latest_active_image_version" in value:
52
+ out["latestActiveImageVersion"] = value["latest_active_image_version"]
53
+ if "latest_failed_image_version" in value:
54
+ out["latestFailedImageVersion"] = value["latest_failed_image_version"]
55
+ import capo_lambda_microvms.types._prelude.timestamp
56
+
57
+ out["createdAt"] = capo_lambda_microvms.types._prelude.timestamp.serialize_json(
58
+ value["created_at"]
59
+ )
60
+ if "tags" in value:
61
+ import capo_lambda_microvms.types.tags
62
+
63
+ out["tags"] = capo_lambda_microvms.types.tags.serialize_json(value["tags"])
64
+ if "updated_at" in value:
65
+ import capo_lambda_microvms.types._prelude.timestamp
66
+
67
+ out["updatedAt"] = capo_lambda_microvms.types._prelude.timestamp.serialize_json(
68
+ value["updated_at"]
69
+ )
70
+ return out
71
+
72
+
73
+ def deserialize_json(data: dict) -> GetMicrovmImageOutput:
74
+ out: GetMicrovmImageOutput = {} # type: ignore[typeddict-item]
75
+ if data.get("imageArn") is not None:
76
+ out["image_arn"] = data["imageArn"]
77
+ else:
78
+ raise DeserializationError("GetMicrovmImageOutput.image_arn required")
79
+ if data.get("name") is not None:
80
+ out["name"] = data["name"]
81
+ else:
82
+ raise DeserializationError("GetMicrovmImageOutput.name required")
83
+ if data.get("state") is not None:
84
+ import capo_lambda_microvms.types.microvm_image_state
85
+
86
+ out["state"] = capo_lambda_microvms.types.microvm_image_state.deserialize_json(
87
+ data["state"]
88
+ )
89
+ else:
90
+ raise DeserializationError("GetMicrovmImageOutput.state required")
91
+ if data.get("latestActiveImageVersion") is not None:
92
+ out["latest_active_image_version"] = data["latestActiveImageVersion"]
93
+ if data.get("latestFailedImageVersion") is not None:
94
+ out["latest_failed_image_version"] = data["latestFailedImageVersion"]
95
+ if data.get("createdAt") is not None:
96
+ import capo_lambda_microvms.types._prelude.timestamp
97
+
98
+ out["created_at"] = (
99
+ capo_lambda_microvms.types._prelude.timestamp.deserialize_json(
100
+ data["createdAt"]
101
+ )
102
+ )
103
+ else:
104
+ raise DeserializationError("GetMicrovmImageOutput.created_at required")
105
+ if data.get("tags") is not None:
106
+ import capo_lambda_microvms.types.tags
107
+
108
+ out["tags"] = capo_lambda_microvms.types.tags.deserialize_json(data["tags"])
109
+ if data.get("updatedAt") is not None:
110
+ import capo_lambda_microvms.types._prelude.timestamp
111
+
112
+ out["updated_at"] = (
113
+ capo_lambda_microvms.types._prelude.timestamp.deserialize_json(
114
+ data["updatedAt"]
115
+ )
116
+ )
117
+ return out
@@ -0,0 +1,29 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdamicrovms#GetMicrovmImageVersionInput``."""
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.microvm_image_identifier
9
+ import capo_lambda_microvms.types.non_blank_string
10
+
11
+
12
+ class GetMicrovmImageVersionInput(TypedDict, closed=True):
13
+ image_identifier: (
14
+ "capo_lambda_microvms.types.microvm_image_identifier.MicrovmImageIdentifier"
15
+ )
16
+ """<p>The unique identifier (ARN or ID) of the MicroVM image.</p>"""
17
+ image_version: "capo_lambda_microvms.types.non_blank_string.NonBlankString"
18
+ """<p>The version of the MicroVM image to retrieve.</p>"""
19
+
20
+
21
+ # --- restJson1 ser/de ---
22
+ def serialize_json(value: GetMicrovmImageVersionInput) -> dict:
23
+ out: dict = {}
24
+ return out
25
+
26
+
27
+ def deserialize_json(data: dict) -> GetMicrovmImageVersionInput:
28
+ out: GetMicrovmImageVersionInput = {} # type: ignore[typeddict-item]
29
+ return out