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,284 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdamicrovms#UpdateMicrovmImageResponse``."""
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.capability_list
13
+ import capo_lambda_microvms.types.code_artifact
14
+ import capo_lambda_microvms.types.cpu_configuration_list
15
+ import capo_lambda_microvms.types.environment_variable_map
16
+ import capo_lambda_microvms.types.hooks
17
+ import capo_lambda_microvms.types.image_name
18
+ import capo_lambda_microvms.types.logging
19
+ import capo_lambda_microvms.types.microvm_image_state
20
+ import capo_lambda_microvms.types.network_connector_list
21
+ import capo_lambda_microvms.types.non_blank_string
22
+ import capo_lambda_microvms.types.resources_list
23
+ import capo_lambda_microvms.types.role_arn
24
+ import capo_lambda_microvms.types.version
25
+
26
+
27
+ class UpdateMicrovmImageResponse(TypedDict, closed=True):
28
+ image_arn: "capo_lambda_microvms.types.non_blank_string.NonBlankString"
29
+ """<p>The ARN of the MicroVM image.</p>"""
30
+ name: "capo_lambda_microvms.types.image_name.ImageName"
31
+ """<p>The name of the MicroVM image.</p>"""
32
+ state: "capo_lambda_microvms.types.microvm_image_state.MicrovmImageState"
33
+ """<p>The current state of the MicroVM image.</p>"""
34
+ latest_active_image_version: NotRequired[
35
+ "capo_lambda_microvms.types.non_blank_string.NonBlankString"
36
+ ]
37
+ """<p>The latest active version of the MicroVM image.</p>"""
38
+ latest_failed_image_version: NotRequired[
39
+ "capo_lambda_microvms.types.non_blank_string.NonBlankString"
40
+ ]
41
+ """<p>The latest failed version of the MicroVM image, if any.</p>"""
42
+ created_at: "datetime.datetime"
43
+ """<p>The timestamp when the MicroVM image was created.</p>"""
44
+ base_image_arn: "capo_lambda_microvms.types.non_blank_string.NonBlankString"
45
+ """<p>The ARN of the base MicroVM image.</p>"""
46
+ base_image_version: NotRequired["capo_lambda_microvms.types.version.Version"]
47
+ """<p>The specific version of the base MicroVM image.</p>"""
48
+ build_role_arn: "capo_lambda_microvms.types.role_arn.RoleArn"
49
+ """<p>The ARN of the IAM build role.</p>"""
50
+ description: NotRequired["str"]
51
+ """<p>The description of the MicroVM image.</p>"""
52
+ code_artifact: "capo_lambda_microvms.types.code_artifact.CodeArtifact"
53
+ """<p>The code artifact containing the application code and metadata for the MicroVM image.</p>"""
54
+ logging: NotRequired["capo_lambda_microvms.types.logging.Logging"]
55
+ r"""<p>The logging configuration for build-time and runtime logs. Specify {\"cloudWatch\": {\"logGroup\": \"...\"}} to stream logs to a custom CloudWatch log group, or {\"disabled\": {}} to turn off logging.</p>"""
56
+ egress_network_connectors: NotRequired[
57
+ "capo_lambda_microvms.types.network_connector_list.NetworkConnectorList"
58
+ ]
59
+ """<p>The list of egress network connectors available to the MicroVM at runtime.</p>"""
60
+ cpu_configurations: NotRequired[
61
+ "capo_lambda_microvms.types.cpu_configuration_list.CpuConfigurationList"
62
+ ]
63
+ """<p>The list of supported CPU configurations for the MicroVM.</p>"""
64
+ resources: NotRequired["capo_lambda_microvms.types.resources_list.ResourcesList"]
65
+ """<p>The resource requirements for the MicroVM.</p>"""
66
+ additional_os_capabilities: NotRequired[
67
+ "capo_lambda_microvms.types.capability_list.CapabilityList"
68
+ ]
69
+ """<p>Additional OS capabilities granted to the MicroVM runtime environment.</p>"""
70
+ hooks: NotRequired["capo_lambda_microvms.types.hooks.Hooks"]
71
+ environment_variables: NotRequired[
72
+ "capo_lambda_microvms.types.environment_variable_map.EnvironmentVariableMap"
73
+ ]
74
+ """<p>Environment variables set in the MicroVM runtime environment.</p>"""
75
+ updated_at: "datetime.datetime"
76
+ """<p>The timestamp when the MicroVM image was last updated.</p>"""
77
+ image_version: "capo_lambda_microvms.types.non_blank_string.NonBlankString"
78
+ """<p>The version of the MicroVM image.</p>"""
79
+
80
+
81
+ # --- restJson1 ser/de ---
82
+ def serialize_json(value: UpdateMicrovmImageResponse) -> dict:
83
+ out: dict = {}
84
+ out["imageArn"] = value["image_arn"]
85
+ out["name"] = value["name"]
86
+ import capo_lambda_microvms.types.microvm_image_state
87
+
88
+ out["state"] = capo_lambda_microvms.types.microvm_image_state.serialize_json(
89
+ value["state"]
90
+ )
91
+ if "latest_active_image_version" in value:
92
+ out["latestActiveImageVersion"] = value["latest_active_image_version"]
93
+ if "latest_failed_image_version" in value:
94
+ out["latestFailedImageVersion"] = value["latest_failed_image_version"]
95
+ import capo_lambda_microvms.types._prelude.timestamp
96
+
97
+ out["createdAt"] = capo_lambda_microvms.types._prelude.timestamp.serialize_json(
98
+ value["created_at"]
99
+ )
100
+ out["baseImageArn"] = value["base_image_arn"]
101
+ if "base_image_version" in value:
102
+ out["baseImageVersion"] = value["base_image_version"]
103
+ out["buildRoleArn"] = value["build_role_arn"]
104
+ if "description" in value:
105
+ out["description"] = value["description"]
106
+ import capo_lambda_microvms.types.code_artifact
107
+
108
+ out["codeArtifact"] = capo_lambda_microvms.types.code_artifact.serialize_json(
109
+ value["code_artifact"]
110
+ )
111
+ if "logging" in value:
112
+ import capo_lambda_microvms.types.logging
113
+
114
+ out["logging"] = capo_lambda_microvms.types.logging.serialize_json(
115
+ value["logging"]
116
+ )
117
+ if "egress_network_connectors" in value:
118
+ import capo_lambda_microvms.types.network_connector_list
119
+
120
+ out["egressNetworkConnectors"] = (
121
+ capo_lambda_microvms.types.network_connector_list.serialize_json(
122
+ value["egress_network_connectors"]
123
+ )
124
+ )
125
+ if "cpu_configurations" in value:
126
+ import capo_lambda_microvms.types.cpu_configuration_list
127
+
128
+ out["cpuConfigurations"] = (
129
+ capo_lambda_microvms.types.cpu_configuration_list.serialize_json(
130
+ value["cpu_configurations"]
131
+ )
132
+ )
133
+ if "resources" in value:
134
+ import capo_lambda_microvms.types.resources_list
135
+
136
+ out["resources"] = capo_lambda_microvms.types.resources_list.serialize_json(
137
+ value["resources"]
138
+ )
139
+ if "additional_os_capabilities" in value:
140
+ import capo_lambda_microvms.types.capability_list
141
+
142
+ out["additionalOsCapabilities"] = (
143
+ capo_lambda_microvms.types.capability_list.serialize_json(
144
+ value["additional_os_capabilities"]
145
+ )
146
+ )
147
+ if "hooks" in value:
148
+ import capo_lambda_microvms.types.hooks
149
+
150
+ out["hooks"] = capo_lambda_microvms.types.hooks.serialize_json(value["hooks"])
151
+ if "environment_variables" in value:
152
+ import capo_lambda_microvms.types.environment_variable_map
153
+
154
+ out["environmentVariables"] = (
155
+ capo_lambda_microvms.types.environment_variable_map.serialize_json(
156
+ value["environment_variables"]
157
+ )
158
+ )
159
+ import capo_lambda_microvms.types._prelude.timestamp
160
+
161
+ out["updatedAt"] = capo_lambda_microvms.types._prelude.timestamp.serialize_json(
162
+ value["updated_at"]
163
+ )
164
+ out["imageVersion"] = value["image_version"]
165
+ return out
166
+
167
+
168
+ def deserialize_json(data: dict) -> UpdateMicrovmImageResponse:
169
+ out: UpdateMicrovmImageResponse = {} # type: ignore[typeddict-item]
170
+ if data.get("imageArn") is not None:
171
+ out["image_arn"] = data["imageArn"]
172
+ else:
173
+ raise DeserializationError("UpdateMicrovmImageResponse.image_arn required")
174
+ if data.get("name") is not None:
175
+ out["name"] = data["name"]
176
+ else:
177
+ raise DeserializationError("UpdateMicrovmImageResponse.name required")
178
+ if data.get("state") is not None:
179
+ import capo_lambda_microvms.types.microvm_image_state
180
+
181
+ out["state"] = capo_lambda_microvms.types.microvm_image_state.deserialize_json(
182
+ data["state"]
183
+ )
184
+ else:
185
+ raise DeserializationError("UpdateMicrovmImageResponse.state required")
186
+ if data.get("latestActiveImageVersion") is not None:
187
+ out["latest_active_image_version"] = data["latestActiveImageVersion"]
188
+ if data.get("latestFailedImageVersion") is not None:
189
+ out["latest_failed_image_version"] = data["latestFailedImageVersion"]
190
+ if data.get("createdAt") is not None:
191
+ import capo_lambda_microvms.types._prelude.timestamp
192
+
193
+ out["created_at"] = (
194
+ capo_lambda_microvms.types._prelude.timestamp.deserialize_json(
195
+ data["createdAt"]
196
+ )
197
+ )
198
+ else:
199
+ raise DeserializationError("UpdateMicrovmImageResponse.created_at required")
200
+ if data.get("baseImageArn") is not None:
201
+ out["base_image_arn"] = data["baseImageArn"]
202
+ else:
203
+ raise DeserializationError("UpdateMicrovmImageResponse.base_image_arn required")
204
+ if data.get("baseImageVersion") is not None:
205
+ out["base_image_version"] = data["baseImageVersion"]
206
+ if data.get("buildRoleArn") is not None:
207
+ out["build_role_arn"] = data["buildRoleArn"]
208
+ else:
209
+ raise DeserializationError("UpdateMicrovmImageResponse.build_role_arn required")
210
+ if data.get("description") is not None:
211
+ out["description"] = data["description"]
212
+ if data.get("codeArtifact") is not None:
213
+ import capo_lambda_microvms.types.code_artifact
214
+
215
+ out["code_artifact"] = (
216
+ capo_lambda_microvms.types.code_artifact.deserialize_json(
217
+ data["codeArtifact"]
218
+ )
219
+ )
220
+ else:
221
+ raise DeserializationError("UpdateMicrovmImageResponse.code_artifact required")
222
+ if data.get("logging") is not None:
223
+ import capo_lambda_microvms.types.logging
224
+
225
+ out["logging"] = capo_lambda_microvms.types.logging.deserialize_json(
226
+ data["logging"]
227
+ )
228
+ if data.get("egressNetworkConnectors") is not None:
229
+ import capo_lambda_microvms.types.network_connector_list
230
+
231
+ out["egress_network_connectors"] = (
232
+ capo_lambda_microvms.types.network_connector_list.deserialize_json(
233
+ data["egressNetworkConnectors"]
234
+ )
235
+ )
236
+ if data.get("cpuConfigurations") is not None:
237
+ import capo_lambda_microvms.types.cpu_configuration_list
238
+
239
+ out["cpu_configurations"] = (
240
+ capo_lambda_microvms.types.cpu_configuration_list.deserialize_json(
241
+ data["cpuConfigurations"]
242
+ )
243
+ )
244
+ if data.get("resources") is not None:
245
+ import capo_lambda_microvms.types.resources_list
246
+
247
+ out["resources"] = capo_lambda_microvms.types.resources_list.deserialize_json(
248
+ data["resources"]
249
+ )
250
+ if data.get("additionalOsCapabilities") is not None:
251
+ import capo_lambda_microvms.types.capability_list
252
+
253
+ out["additional_os_capabilities"] = (
254
+ capo_lambda_microvms.types.capability_list.deserialize_json(
255
+ data["additionalOsCapabilities"]
256
+ )
257
+ )
258
+ if data.get("hooks") is not None:
259
+ import capo_lambda_microvms.types.hooks
260
+
261
+ out["hooks"] = capo_lambda_microvms.types.hooks.deserialize_json(data["hooks"])
262
+ if data.get("environmentVariables") is not None:
263
+ import capo_lambda_microvms.types.environment_variable_map
264
+
265
+ out["environment_variables"] = (
266
+ capo_lambda_microvms.types.environment_variable_map.deserialize_json(
267
+ data["environmentVariables"]
268
+ )
269
+ )
270
+ if data.get("updatedAt") is not None:
271
+ import capo_lambda_microvms.types._prelude.timestamp
272
+
273
+ out["updated_at"] = (
274
+ capo_lambda_microvms.types._prelude.timestamp.deserialize_json(
275
+ data["updatedAt"]
276
+ )
277
+ )
278
+ else:
279
+ raise DeserializationError("UpdateMicrovmImageResponse.updated_at required")
280
+ if data.get("imageVersion") is not None:
281
+ out["image_version"] = data["imageVersion"]
282
+ else:
283
+ raise DeserializationError("UpdateMicrovmImageResponse.image_version required")
284
+ return out
@@ -0,0 +1,51 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdamicrovms#UpdateMicrovmImageVersionRequest``."""
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_status
12
+ import capo_lambda_microvms.types.non_blank_string
13
+
14
+
15
+ class UpdateMicrovmImageVersionRequest(TypedDict, closed=True):
16
+ image_identifier: (
17
+ "capo_lambda_microvms.types.microvm_image_identifier.MicrovmImageIdentifier"
18
+ )
19
+ """<p>The unique identifier (ARN or ID) of the MicroVM image.</p>"""
20
+ image_version: "capo_lambda_microvms.types.non_blank_string.NonBlankString"
21
+ """<p>The version of the MicroVM image to update.</p>"""
22
+ status: "capo_lambda_microvms.types.microvm_image_version_status.MicrovmImageVersionStatus"
23
+ """<p>The new status to set for the MicroVM image version.</p>"""
24
+
25
+
26
+ # --- restJson1 ser/de ---
27
+ def serialize_json(value: UpdateMicrovmImageVersionRequest) -> dict:
28
+ out: dict = {}
29
+ import capo_lambda_microvms.types.microvm_image_version_status
30
+
31
+ out["status"] = (
32
+ capo_lambda_microvms.types.microvm_image_version_status.serialize_json(
33
+ value["status"]
34
+ )
35
+ )
36
+ return out
37
+
38
+
39
+ def deserialize_json(data: dict) -> UpdateMicrovmImageVersionRequest:
40
+ out: UpdateMicrovmImageVersionRequest = {} # type: ignore[typeddict-item]
41
+ if data.get("status") is not None:
42
+ import capo_lambda_microvms.types.microvm_image_version_status
43
+
44
+ out["status"] = (
45
+ capo_lambda_microvms.types.microvm_image_version_status.deserialize_json(
46
+ data["status"]
47
+ )
48
+ )
49
+ else:
50
+ raise DeserializationError("UpdateMicrovmImageVersionRequest.status required")
51
+ return out
@@ -0,0 +1,312 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdamicrovms#UpdateMicrovmImageVersionResponse``."""
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.capability_list
13
+ import capo_lambda_microvms.types.code_artifact
14
+ import capo_lambda_microvms.types.cpu_configuration_list
15
+ import capo_lambda_microvms.types.environment_variable_map
16
+ import capo_lambda_microvms.types.hooks
17
+ import capo_lambda_microvms.types.logging
18
+ import capo_lambda_microvms.types.microvm_image_version_state
19
+ import capo_lambda_microvms.types.microvm_image_version_status
20
+ import capo_lambda_microvms.types.network_connector_list
21
+ import capo_lambda_microvms.types.non_blank_string
22
+ import capo_lambda_microvms.types.resources_list
23
+ import capo_lambda_microvms.types.role_arn
24
+ import capo_lambda_microvms.types.tags
25
+ import capo_lambda_microvms.types.version
26
+
27
+
28
+ class UpdateMicrovmImageVersionResponse(TypedDict, closed=True):
29
+ base_image_arn: "capo_lambda_microvms.types.non_blank_string.NonBlankString"
30
+ """<p>The ARN of the base MicroVM image used.</p>"""
31
+ base_image_version: NotRequired["capo_lambda_microvms.types.version.Version"]
32
+ """<p>The specific version of the base MicroVM image.</p>"""
33
+ build_role_arn: "capo_lambda_microvms.types.role_arn.RoleArn"
34
+ """<p>The ARN of the IAM build role.</p>"""
35
+ description: NotRequired["str"]
36
+ """<p>The description of the version.</p>"""
37
+ code_artifact: "capo_lambda_microvms.types.code_artifact.CodeArtifact"
38
+ """<p>The code artifact for this version.</p>"""
39
+ logging: NotRequired["capo_lambda_microvms.types.logging.Logging"]
40
+ """<p>The logging configuration for this version.</p>"""
41
+ egress_network_connectors: NotRequired[
42
+ "capo_lambda_microvms.types.network_connector_list.NetworkConnectorList"
43
+ ]
44
+ """<p>The list of egress network connectors available to the MicroVM at runtime.</p>"""
45
+ cpu_configurations: NotRequired[
46
+ "capo_lambda_microvms.types.cpu_configuration_list.CpuConfigurationList"
47
+ ]
48
+ """<p>The list of supported CPU configurations for the MicroVM.</p>"""
49
+ resources: NotRequired["capo_lambda_microvms.types.resources_list.ResourcesList"]
50
+ """<p>The resource requirements for the MicroVM.</p>"""
51
+ additional_os_capabilities: NotRequired[
52
+ "capo_lambda_microvms.types.capability_list.CapabilityList"
53
+ ]
54
+ """<p>Additional OS capabilities granted to the MicroVM runtime environment.</p>"""
55
+ hooks: NotRequired["capo_lambda_microvms.types.hooks.Hooks"]
56
+ environment_variables: NotRequired[
57
+ "capo_lambda_microvms.types.environment_variable_map.EnvironmentVariableMap"
58
+ ]
59
+ """<p>Environment variables set in the MicroVM runtime environment.</p>"""
60
+ image_arn: "capo_lambda_microvms.types.non_blank_string.NonBlankString"
61
+ """<p>The ARN of the MicroVM image.</p>"""
62
+ image_version: "capo_lambda_microvms.types.non_blank_string.NonBlankString"
63
+ """<p>The version of the MicroVM image.</p>"""
64
+ state: "capo_lambda_microvms.types.microvm_image_version_state.MicrovmImageVersionState"
65
+ """<p>The current state of the version.</p>"""
66
+ status: "capo_lambda_microvms.types.microvm_image_version_status.MicrovmImageVersionStatus"
67
+ """<p>The availability status of the version: ACTIVE (can be used by RunMicrovm) or INACTIVE (blocked from launching new MicroVMs).</p>"""
68
+ created_at: "datetime.datetime"
69
+ """<p>The timestamp when the version was created.</p>"""
70
+ updated_at: NotRequired["datetime.datetime"]
71
+ """<p>The timestamp when the version was last updated.</p>"""
72
+ state_reason: NotRequired["str"]
73
+ """<p>The reason for the current state. For example, one or more builds failed.</p>"""
74
+ tags: NotRequired["capo_lambda_microvms.types.tags.Tags"]
75
+ """<p>Key-value pairs associated with the version.</p>"""
76
+
77
+
78
+ # --- restJson1 ser/de ---
79
+ def serialize_json(value: UpdateMicrovmImageVersionResponse) -> dict:
80
+ out: dict = {}
81
+ out["baseImageArn"] = value["base_image_arn"]
82
+ if "base_image_version" in value:
83
+ out["baseImageVersion"] = value["base_image_version"]
84
+ out["buildRoleArn"] = value["build_role_arn"]
85
+ if "description" in value:
86
+ out["description"] = value["description"]
87
+ import capo_lambda_microvms.types.code_artifact
88
+
89
+ out["codeArtifact"] = capo_lambda_microvms.types.code_artifact.serialize_json(
90
+ value["code_artifact"]
91
+ )
92
+ if "logging" in value:
93
+ import capo_lambda_microvms.types.logging
94
+
95
+ out["logging"] = capo_lambda_microvms.types.logging.serialize_json(
96
+ value["logging"]
97
+ )
98
+ if "egress_network_connectors" in value:
99
+ import capo_lambda_microvms.types.network_connector_list
100
+
101
+ out["egressNetworkConnectors"] = (
102
+ capo_lambda_microvms.types.network_connector_list.serialize_json(
103
+ value["egress_network_connectors"]
104
+ )
105
+ )
106
+ if "cpu_configurations" in value:
107
+ import capo_lambda_microvms.types.cpu_configuration_list
108
+
109
+ out["cpuConfigurations"] = (
110
+ capo_lambda_microvms.types.cpu_configuration_list.serialize_json(
111
+ value["cpu_configurations"]
112
+ )
113
+ )
114
+ if "resources" in value:
115
+ import capo_lambda_microvms.types.resources_list
116
+
117
+ out["resources"] = capo_lambda_microvms.types.resources_list.serialize_json(
118
+ value["resources"]
119
+ )
120
+ if "additional_os_capabilities" in value:
121
+ import capo_lambda_microvms.types.capability_list
122
+
123
+ out["additionalOsCapabilities"] = (
124
+ capo_lambda_microvms.types.capability_list.serialize_json(
125
+ value["additional_os_capabilities"]
126
+ )
127
+ )
128
+ if "hooks" in value:
129
+ import capo_lambda_microvms.types.hooks
130
+
131
+ out["hooks"] = capo_lambda_microvms.types.hooks.serialize_json(value["hooks"])
132
+ if "environment_variables" in value:
133
+ import capo_lambda_microvms.types.environment_variable_map
134
+
135
+ out["environmentVariables"] = (
136
+ capo_lambda_microvms.types.environment_variable_map.serialize_json(
137
+ value["environment_variables"]
138
+ )
139
+ )
140
+ out["imageArn"] = value["image_arn"]
141
+ out["imageVersion"] = value["image_version"]
142
+ import capo_lambda_microvms.types.microvm_image_version_state
143
+
144
+ out["state"] = (
145
+ capo_lambda_microvms.types.microvm_image_version_state.serialize_json(
146
+ value["state"]
147
+ )
148
+ )
149
+ import capo_lambda_microvms.types.microvm_image_version_status
150
+
151
+ out["status"] = (
152
+ capo_lambda_microvms.types.microvm_image_version_status.serialize_json(
153
+ value["status"]
154
+ )
155
+ )
156
+ import capo_lambda_microvms.types._prelude.timestamp
157
+
158
+ out["createdAt"] = capo_lambda_microvms.types._prelude.timestamp.serialize_json(
159
+ value["created_at"]
160
+ )
161
+ if "updated_at" in value:
162
+ import capo_lambda_microvms.types._prelude.timestamp
163
+
164
+ out["updatedAt"] = capo_lambda_microvms.types._prelude.timestamp.serialize_json(
165
+ value["updated_at"]
166
+ )
167
+ if "state_reason" in value:
168
+ out["stateReason"] = value["state_reason"]
169
+ if "tags" in value:
170
+ import capo_lambda_microvms.types.tags
171
+
172
+ out["tags"] = capo_lambda_microvms.types.tags.serialize_json(value["tags"])
173
+ return out
174
+
175
+
176
+ def deserialize_json(data: dict) -> UpdateMicrovmImageVersionResponse:
177
+ out: UpdateMicrovmImageVersionResponse = {} # type: ignore[typeddict-item]
178
+ if data.get("baseImageArn") is not None:
179
+ out["base_image_arn"] = data["baseImageArn"]
180
+ else:
181
+ raise DeserializationError(
182
+ "UpdateMicrovmImageVersionResponse.base_image_arn required"
183
+ )
184
+ if data.get("baseImageVersion") is not None:
185
+ out["base_image_version"] = data["baseImageVersion"]
186
+ if data.get("buildRoleArn") is not None:
187
+ out["build_role_arn"] = data["buildRoleArn"]
188
+ else:
189
+ raise DeserializationError(
190
+ "UpdateMicrovmImageVersionResponse.build_role_arn required"
191
+ )
192
+ if data.get("description") is not None:
193
+ out["description"] = data["description"]
194
+ if data.get("codeArtifact") is not None:
195
+ import capo_lambda_microvms.types.code_artifact
196
+
197
+ out["code_artifact"] = (
198
+ capo_lambda_microvms.types.code_artifact.deserialize_json(
199
+ data["codeArtifact"]
200
+ )
201
+ )
202
+ else:
203
+ raise DeserializationError(
204
+ "UpdateMicrovmImageVersionResponse.code_artifact required"
205
+ )
206
+ if data.get("logging") is not None:
207
+ import capo_lambda_microvms.types.logging
208
+
209
+ out["logging"] = capo_lambda_microvms.types.logging.deserialize_json(
210
+ data["logging"]
211
+ )
212
+ if data.get("egressNetworkConnectors") is not None:
213
+ import capo_lambda_microvms.types.network_connector_list
214
+
215
+ out["egress_network_connectors"] = (
216
+ capo_lambda_microvms.types.network_connector_list.deserialize_json(
217
+ data["egressNetworkConnectors"]
218
+ )
219
+ )
220
+ if data.get("cpuConfigurations") is not None:
221
+ import capo_lambda_microvms.types.cpu_configuration_list
222
+
223
+ out["cpu_configurations"] = (
224
+ capo_lambda_microvms.types.cpu_configuration_list.deserialize_json(
225
+ data["cpuConfigurations"]
226
+ )
227
+ )
228
+ if data.get("resources") is not None:
229
+ import capo_lambda_microvms.types.resources_list
230
+
231
+ out["resources"] = capo_lambda_microvms.types.resources_list.deserialize_json(
232
+ data["resources"]
233
+ )
234
+ if data.get("additionalOsCapabilities") is not None:
235
+ import capo_lambda_microvms.types.capability_list
236
+
237
+ out["additional_os_capabilities"] = (
238
+ capo_lambda_microvms.types.capability_list.deserialize_json(
239
+ data["additionalOsCapabilities"]
240
+ )
241
+ )
242
+ if data.get("hooks") is not None:
243
+ import capo_lambda_microvms.types.hooks
244
+
245
+ out["hooks"] = capo_lambda_microvms.types.hooks.deserialize_json(data["hooks"])
246
+ if data.get("environmentVariables") is not None:
247
+ import capo_lambda_microvms.types.environment_variable_map
248
+
249
+ out["environment_variables"] = (
250
+ capo_lambda_microvms.types.environment_variable_map.deserialize_json(
251
+ data["environmentVariables"]
252
+ )
253
+ )
254
+ if data.get("imageArn") is not None:
255
+ out["image_arn"] = data["imageArn"]
256
+ else:
257
+ raise DeserializationError(
258
+ "UpdateMicrovmImageVersionResponse.image_arn required"
259
+ )
260
+ if data.get("imageVersion") is not None:
261
+ out["image_version"] = data["imageVersion"]
262
+ else:
263
+ raise DeserializationError(
264
+ "UpdateMicrovmImageVersionResponse.image_version required"
265
+ )
266
+ if data.get("state") is not None:
267
+ import capo_lambda_microvms.types.microvm_image_version_state
268
+
269
+ out["state"] = (
270
+ capo_lambda_microvms.types.microvm_image_version_state.deserialize_json(
271
+ data["state"]
272
+ )
273
+ )
274
+ else:
275
+ raise DeserializationError("UpdateMicrovmImageVersionResponse.state required")
276
+ if data.get("status") is not None:
277
+ import capo_lambda_microvms.types.microvm_image_version_status
278
+
279
+ out["status"] = (
280
+ capo_lambda_microvms.types.microvm_image_version_status.deserialize_json(
281
+ data["status"]
282
+ )
283
+ )
284
+ else:
285
+ raise DeserializationError("UpdateMicrovmImageVersionResponse.status required")
286
+ if data.get("createdAt") is not None:
287
+ import capo_lambda_microvms.types._prelude.timestamp
288
+
289
+ out["created_at"] = (
290
+ capo_lambda_microvms.types._prelude.timestamp.deserialize_json(
291
+ data["createdAt"]
292
+ )
293
+ )
294
+ else:
295
+ raise DeserializationError(
296
+ "UpdateMicrovmImageVersionResponse.created_at required"
297
+ )
298
+ if data.get("updatedAt") is not None:
299
+ import capo_lambda_microvms.types._prelude.timestamp
300
+
301
+ out["updated_at"] = (
302
+ capo_lambda_microvms.types._prelude.timestamp.deserialize_json(
303
+ data["updatedAt"]
304
+ )
305
+ )
306
+ if data.get("stateReason") is not None:
307
+ out["state_reason"] = data["stateReason"]
308
+ if data.get("tags") is not None:
309
+ import capo_lambda_microvms.types.tags
310
+
311
+ out["tags"] = capo_lambda_microvms.types.tags.deserialize_json(data["tags"])
312
+ return out
@@ -0,0 +1,5 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambdamicrovms#Version``."""
2
+
3
+ from typing import TypeAlias
4
+
5
+ Version: TypeAlias = str