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.
- capo_lambda_microvms/__init__.py +73 -0
- capo_lambda_microvms/_async.py +25 -0
- capo_lambda_microvms/_auth/_identity.py +16 -0
- capo_lambda_microvms/_auth/_providers.py +886 -0
- capo_lambda_microvms/_auth/_signers.py +125 -0
- capo_lambda_microvms/_auth/_sigv4.py +579 -0
- capo_lambda_microvms/_auth/_zapros_handler.py +80 -0
- capo_lambda_microvms/_body.py +221 -0
- capo_lambda_microvms/_iter.py +113 -0
- capo_lambda_microvms/_operations/lambda_microvms/create_microvm_auth_token.py +181 -0
- capo_lambda_microvms/_operations/lambda_microvms/create_microvm_image.py +190 -0
- capo_lambda_microvms/_operations/lambda_microvms/create_microvm_shell_auth_token.py +181 -0
- capo_lambda_microvms/_operations/lambda_microvms/delete_microvm_image.py +170 -0
- capo_lambda_microvms/_operations/lambda_microvms/delete_microvm_image_version.py +174 -0
- capo_lambda_microvms/_operations/lambda_microvms/get_microvm.py +171 -0
- capo_lambda_microvms/_operations/lambda_microvms/get_microvm_image.py +170 -0
- capo_lambda_microvms/_operations/lambda_microvms/get_microvm_image_build.py +177 -0
- capo_lambda_microvms/_operations/lambda_microvms/get_microvm_image_version.py +179 -0
- capo_lambda_microvms/_operations/lambda_microvms/list_managed_microvm_image_versions.py +172 -0
- capo_lambda_microvms/_operations/lambda_microvms/list_managed_microvm_images.py +162 -0
- capo_lambda_microvms/_operations/lambda_microvms/list_microvm_image_builds.py +196 -0
- capo_lambda_microvms/_operations/lambda_microvms/list_microvm_image_versions.py +172 -0
- capo_lambda_microvms/_operations/lambda_microvms/list_microvm_images.py +164 -0
- capo_lambda_microvms/_operations/lambda_microvms/list_microvms.py +175 -0
- capo_lambda_microvms/_operations/lambda_microvms/list_tags.py +182 -0
- capo_lambda_microvms/_operations/lambda_microvms/resume_microvm.py +167 -0
- capo_lambda_microvms/_operations/lambda_microvms/run_microvm.py +187 -0
- capo_lambda_microvms/_operations/lambda_microvms/suspend_microvm.py +167 -0
- capo_lambda_microvms/_operations/lambda_microvms/tag_resource.py +164 -0
- capo_lambda_microvms/_operations/lambda_microvms/terminate_microvm.py +167 -0
- capo_lambda_microvms/_operations/lambda_microvms/untag_resource.py +162 -0
- capo_lambda_microvms/_operations/lambda_microvms/update_microvm_image.py +191 -0
- capo_lambda_microvms/_operations/lambda_microvms/update_microvm_image_version.py +190 -0
- capo_lambda_microvms/_pagination.py +21 -0
- capo_lambda_microvms/_protocol/__init__.py +1 -0
- capo_lambda_microvms/_protocol/errors.py +93 -0
- capo_lambda_microvms/_protocol/eventstream.py +240 -0
- capo_lambda_microvms/_protocol/serialize.py +47 -0
- capo_lambda_microvms/_protocol/xml.py +33 -0
- capo_lambda_microvms/_resources/lambda_microvms/microvm.py +983 -0
- capo_lambda_microvms/_resources/lambda_microvms/microvm_image.py +1394 -0
- capo_lambda_microvms/_rule_engine/__init__.py +0 -0
- capo_lambda_microvms/_rule_engine/_aws_partition.py +160 -0
- capo_lambda_microvms/_rule_engine/_endpoint_rule_set.py +135 -0
- capo_lambda_microvms/_rule_engine/_endpoint_runtime.py +389 -0
- capo_lambda_microvms/_services/_aws_config.py +160 -0
- capo_lambda_microvms/_services/_pipeline.py +247 -0
- capo_lambda_microvms/_services/async_lambda_microvms.py +1822 -0
- capo_lambda_microvms/_services/lambda_microvms.py +1798 -0
- capo_lambda_microvms/errors/__init__.py +49 -0
- capo_lambda_microvms/errors/_base.py +94 -0
- capo_lambda_microvms/errors/access_denied_exception.py +46 -0
- capo_lambda_microvms/errors/conflict_exception.py +56 -0
- capo_lambda_microvms/errors/insufficient_capacity_exception.py +49 -0
- capo_lambda_microvms/errors/internal_server_exception.py +48 -0
- capo_lambda_microvms/errors/invalid_parameter_value_exception.py +54 -0
- capo_lambda_microvms/errors/resource_conflict_exception.py +52 -0
- capo_lambda_microvms/errors/resource_not_found_exception.py +59 -0
- capo_lambda_microvms/errors/service_exception.py +50 -0
- capo_lambda_microvms/errors/service_quota_exceeded_exception.py +72 -0
- capo_lambda_microvms/errors/throttling_exception.py +58 -0
- capo_lambda_microvms/errors/too_many_requests_exception.py +52 -0
- capo_lambda_microvms/errors/validation_exception.py +44 -0
- capo_lambda_microvms/py.typed +0 -0
- capo_lambda_microvms/types/_prelude/blob.py +12 -0
- capo_lambda_microvms/types/_prelude/timestamp.py +17 -0
- capo_lambda_microvms/types/architecture.py +14 -0
- capo_lambda_microvms/types/auth_token_key.py +5 -0
- capo_lambda_microvms/types/auth_token_value.py +5 -0
- capo_lambda_microvms/types/build_state.py +19 -0
- capo_lambda_microvms/types/capability.py +15 -0
- capo_lambda_microvms/types/capability_list.py +29 -0
- capo_lambda_microvms/types/chipset.py +14 -0
- capo_lambda_microvms/types/cloud_watch_logging.py +34 -0
- capo_lambda_microvms/types/code_artifact.py +32 -0
- capo_lambda_microvms/types/cpu_configuration.py +39 -0
- capo_lambda_microvms/types/cpu_configuration_list.py +31 -0
- capo_lambda_microvms/types/create_microvm_auth_token_request.py +62 -0
- capo_lambda_microvms/types/create_microvm_auth_token_response.py +39 -0
- capo_lambda_microvms/types/create_microvm_image_request.py +219 -0
- capo_lambda_microvms/types/create_microvm_image_response.py +294 -0
- capo_lambda_microvms/types/create_microvm_shell_auth_token_request.py +38 -0
- capo_lambda_microvms/types/create_microvm_shell_auth_token_response.py +41 -0
- capo_lambda_microvms/types/delete_microvm_image_input.py +26 -0
- capo_lambda_microvms/types/delete_microvm_image_output.py +49 -0
- capo_lambda_microvms/types/delete_microvm_image_version_input.py +29 -0
- capo_lambda_microvms/types/delete_microvm_image_version_output.py +65 -0
- capo_lambda_microvms/types/environment_variable_key.py +5 -0
- capo_lambda_microvms/types/environment_variable_map.py +29 -0
- capo_lambda_microvms/types/environment_variable_value.py +5 -0
- capo_lambda_microvms/types/get_microvm_image_build_input.py +31 -0
- capo_lambda_microvms/types/get_microvm_image_build_output.py +144 -0
- capo_lambda_microvms/types/get_microvm_image_input.py +26 -0
- capo_lambda_microvms/types/get_microvm_image_output.py +117 -0
- capo_lambda_microvms/types/get_microvm_image_version_input.py +29 -0
- capo_lambda_microvms/types/get_microvm_image_version_output.py +308 -0
- capo_lambda_microvms/types/get_microvm_request.py +26 -0
- capo_lambda_microvms/types/get_microvm_response.py +188 -0
- capo_lambda_microvms/types/hook_state.py +18 -0
- capo_lambda_microvms/types/hooks.py +65 -0
- capo_lambda_microvms/types/idle_policy.py +40 -0
- capo_lambda_microvms/types/image_name.py +6 -0
- capo_lambda_microvms/types/list_managed_microvm_image_versions_input.py +31 -0
- capo_lambda_microvms/types/list_managed_microvm_image_versions_output.py +52 -0
- capo_lambda_microvms/types/list_managed_microvm_images_input.py +26 -0
- capo_lambda_microvms/types/list_managed_microvm_images_output.py +50 -0
- capo_lambda_microvms/types/list_microvm_image_builds_input.py +44 -0
- capo_lambda_microvms/types/list_microvm_image_builds_output.py +50 -0
- capo_lambda_microvms/types/list_microvm_image_versions_input.py +31 -0
- capo_lambda_microvms/types/list_microvm_image_versions_output.py +50 -0
- capo_lambda_microvms/types/list_microvm_images_request.py +31 -0
- capo_lambda_microvms/types/list_microvm_images_response.py +48 -0
- capo_lambda_microvms/types/list_microvms_request.py +33 -0
- capo_lambda_microvms/types/list_microvms_response.py +46 -0
- capo_lambda_microvms/types/list_of_port_specification.py +31 -0
- capo_lambda_microvms/types/list_tags_request.py +24 -0
- capo_lambda_microvms/types/list_tags_response.py +32 -0
- capo_lambda_microvms/types/logging.py +65 -0
- capo_lambda_microvms/types/logging_disabled.py +18 -0
- capo_lambda_microvms/types/managed_microvm_image_summary.py +66 -0
- capo_lambda_microvms/types/managed_microvm_image_summary_list.py +39 -0
- capo_lambda_microvms/types/managed_microvm_image_version.py +94 -0
- capo_lambda_microvms/types/managed_microvm_image_version_list.py +39 -0
- capo_lambda_microvms/types/managed_microvm_image_version_status.py +18 -0
- capo_lambda_microvms/types/microvm_hooks.py +108 -0
- capo_lambda_microvms/types/microvm_identifier.py +6 -0
- capo_lambda_microvms/types/microvm_image_arn.py +6 -0
- capo_lambda_microvms/types/microvm_image_build_summaries.py +37 -0
- capo_lambda_microvms/types/microvm_image_build_summary.py +125 -0
- capo_lambda_microvms/types/microvm_image_hooks.py +66 -0
- capo_lambda_microvms/types/microvm_image_identifier.py +6 -0
- capo_lambda_microvms/types/microvm_image_state.py +24 -0
- capo_lambda_microvms/types/microvm_image_summaries.py +35 -0
- capo_lambda_microvms/types/microvm_image_summary.py +90 -0
- capo_lambda_microvms/types/microvm_image_version_state.py +22 -0
- capo_lambda_microvms/types/microvm_image_version_status.py +17 -0
- capo_lambda_microvms/types/microvm_image_version_summary.py +300 -0
- capo_lambda_microvms/types/microvm_image_version_summary_list.py +39 -0
- capo_lambda_microvms/types/microvm_item.py +82 -0
- capo_lambda_microvms/types/microvm_item_list.py +29 -0
- capo_lambda_microvms/types/microvm_state.py +22 -0
- capo_lambda_microvms/types/network_connector.py +5 -0
- capo_lambda_microvms/types/network_connector_list.py +19 -0
- capo_lambda_microvms/types/non_blank_string.py +6 -0
- capo_lambda_microvms/types/port_number.py +6 -0
- capo_lambda_microvms/types/port_range.py +38 -0
- capo_lambda_microvms/types/port_specification.py +63 -0
- capo_lambda_microvms/types/positive_integer.py +5 -0
- capo_lambda_microvms/types/resources.py +26 -0
- capo_lambda_microvms/types/resources_list.py +29 -0
- capo_lambda_microvms/types/resume_microvm_request.py +26 -0
- capo_lambda_microvms/types/resume_microvm_response.py +18 -0
- capo_lambda_microvms/types/role_arn.py +6 -0
- capo_lambda_microvms/types/run_hook_payload.py +5 -0
- capo_lambda_microvms/types/run_microvm_request.py +139 -0
- capo_lambda_microvms/types/run_microvm_response.py +188 -0
- capo_lambda_microvms/types/snapshot_build.py +35 -0
- capo_lambda_microvms/types/string.py +5 -0
- capo_lambda_microvms/types/suspend_microvm_request.py +26 -0
- capo_lambda_microvms/types/suspend_microvm_response.py +18 -0
- capo_lambda_microvms/types/tag_key.py +5 -0
- capo_lambda_microvms/types/tag_key_list.py +17 -0
- capo_lambda_microvms/types/tag_resource_request.py +38 -0
- capo_lambda_microvms/types/tag_value.py +5 -0
- capo_lambda_microvms/types/taggable_resource.py +6 -0
- capo_lambda_microvms/types/tags.py +29 -0
- capo_lambda_microvms/types/terminate_microvm_request.py +26 -0
- capo_lambda_microvms/types/terminate_microvm_response.py +18 -0
- capo_lambda_microvms/types/token_parts.py +29 -0
- capo_lambda_microvms/types/untag_resource_request.py +27 -0
- capo_lambda_microvms/types/update_microvm_image_request.py +205 -0
- capo_lambda_microvms/types/update_microvm_image_response.py +284 -0
- capo_lambda_microvms/types/update_microvm_image_version_request.py +51 -0
- capo_lambda_microvms/types/update_microvm_image_version_response.py +312 -0
- capo_lambda_microvms/types/version.py +5 -0
- capo_lambda_microvms-0.1.0.dist-info/METADATA +103 -0
- capo_lambda_microvms-0.1.0.dist-info/RECORD +180 -0
- capo_lambda_microvms-0.1.0.dist-info/WHEEL +5 -0
- capo_lambda_microvms-0.1.0.dist-info/licenses/LICENSE +21 -0
- capo_lambda_microvms-0.1.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
"""Generated from Smithy shape ``com.amazonaws.lambdamicrovms#GetMicrovmImageVersionOutput``."""
|
|
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 GetMicrovmImageVersionOutput(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: GetMicrovmImageVersionOutput) -> 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) -> GetMicrovmImageVersionOutput:
|
|
177
|
+
out: GetMicrovmImageVersionOutput = {} # 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
|
+
"GetMicrovmImageVersionOutput.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
|
+
"GetMicrovmImageVersionOutput.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
|
+
"GetMicrovmImageVersionOutput.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("GetMicrovmImageVersionOutput.image_arn required")
|
|
258
|
+
if data.get("imageVersion") is not None:
|
|
259
|
+
out["image_version"] = data["imageVersion"]
|
|
260
|
+
else:
|
|
261
|
+
raise DeserializationError(
|
|
262
|
+
"GetMicrovmImageVersionOutput.image_version required"
|
|
263
|
+
)
|
|
264
|
+
if data.get("state") is not None:
|
|
265
|
+
import capo_lambda_microvms.types.microvm_image_version_state
|
|
266
|
+
|
|
267
|
+
out["state"] = (
|
|
268
|
+
capo_lambda_microvms.types.microvm_image_version_state.deserialize_json(
|
|
269
|
+
data["state"]
|
|
270
|
+
)
|
|
271
|
+
)
|
|
272
|
+
else:
|
|
273
|
+
raise DeserializationError("GetMicrovmImageVersionOutput.state required")
|
|
274
|
+
if data.get("status") is not None:
|
|
275
|
+
import capo_lambda_microvms.types.microvm_image_version_status
|
|
276
|
+
|
|
277
|
+
out["status"] = (
|
|
278
|
+
capo_lambda_microvms.types.microvm_image_version_status.deserialize_json(
|
|
279
|
+
data["status"]
|
|
280
|
+
)
|
|
281
|
+
)
|
|
282
|
+
else:
|
|
283
|
+
raise DeserializationError("GetMicrovmImageVersionOutput.status required")
|
|
284
|
+
if data.get("createdAt") is not None:
|
|
285
|
+
import capo_lambda_microvms.types._prelude.timestamp
|
|
286
|
+
|
|
287
|
+
out["created_at"] = (
|
|
288
|
+
capo_lambda_microvms.types._prelude.timestamp.deserialize_json(
|
|
289
|
+
data["createdAt"]
|
|
290
|
+
)
|
|
291
|
+
)
|
|
292
|
+
else:
|
|
293
|
+
raise DeserializationError("GetMicrovmImageVersionOutput.created_at required")
|
|
294
|
+
if data.get("updatedAt") is not None:
|
|
295
|
+
import capo_lambda_microvms.types._prelude.timestamp
|
|
296
|
+
|
|
297
|
+
out["updated_at"] = (
|
|
298
|
+
capo_lambda_microvms.types._prelude.timestamp.deserialize_json(
|
|
299
|
+
data["updatedAt"]
|
|
300
|
+
)
|
|
301
|
+
)
|
|
302
|
+
if data.get("stateReason") is not None:
|
|
303
|
+
out["state_reason"] = data["stateReason"]
|
|
304
|
+
if data.get("tags") is not None:
|
|
305
|
+
import capo_lambda_microvms.types.tags
|
|
306
|
+
|
|
307
|
+
out["tags"] = capo_lambda_microvms.types.tags.deserialize_json(data["tags"])
|
|
308
|
+
return out
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"""Generated from Smithy shape ``com.amazonaws.lambdamicrovms#GetMicrovmRequest``."""
|
|
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_identifier
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class GetMicrovmRequest(TypedDict, closed=True):
|
|
12
|
+
microvm_identifier: (
|
|
13
|
+
"capo_lambda_microvms.types.microvm_identifier.MicrovmIdentifier"
|
|
14
|
+
)
|
|
15
|
+
"""<p>The ID of the MicroVM to retrieve.</p>"""
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
# --- restJson1 ser/de ---
|
|
19
|
+
def serialize_json(value: GetMicrovmRequest) -> dict:
|
|
20
|
+
out: dict = {}
|
|
21
|
+
return out
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
def deserialize_json(data: dict) -> GetMicrovmRequest:
|
|
25
|
+
out: GetMicrovmRequest = {} # type: ignore[typeddict-item]
|
|
26
|
+
return out
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
"""Generated from Smithy shape ``com.amazonaws.lambdamicrovms#GetMicrovmResponse``."""
|
|
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.idle_policy
|
|
13
|
+
import capo_lambda_microvms.types.microvm_identifier
|
|
14
|
+
import capo_lambda_microvms.types.microvm_image_arn
|
|
15
|
+
import capo_lambda_microvms.types.microvm_state
|
|
16
|
+
import capo_lambda_microvms.types.network_connector_list
|
|
17
|
+
import capo_lambda_microvms.types.non_blank_string
|
|
18
|
+
import capo_lambda_microvms.types.role_arn
|
|
19
|
+
import capo_lambda_microvms.types.version
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class GetMicrovmResponse(TypedDict, closed=True):
|
|
23
|
+
microvm_id: "capo_lambda_microvms.types.microvm_identifier.MicrovmIdentifier"
|
|
24
|
+
"""<p>The unique identifier of the MicroVM.</p>"""
|
|
25
|
+
state: "capo_lambda_microvms.types.microvm_state.MicrovmState"
|
|
26
|
+
"""<p>The current lifecycle state of the MicroVM.</p>"""
|
|
27
|
+
endpoint: "str"
|
|
28
|
+
"""<p>The HTTPS endpoint URL for communicating with the MicroVM. Include a valid authentication token in the X-aws-proxy-auth header when sending requests.</p>"""
|
|
29
|
+
image_arn: "capo_lambda_microvms.types.microvm_image_arn.MicrovmImageArn"
|
|
30
|
+
"""<p>The ARN of the MicroVM image used to run this MicroVM.</p>"""
|
|
31
|
+
image_version: "capo_lambda_microvms.types.version.Version"
|
|
32
|
+
"""<p>The version of the MicroVM image used to run this MicroVM.</p>"""
|
|
33
|
+
execution_role_arn: NotRequired["capo_lambda_microvms.types.role_arn.RoleArn"]
|
|
34
|
+
"""<p>The ARN of the IAM execution role assumed by the MicroVM.</p>"""
|
|
35
|
+
idle_policy: NotRequired["capo_lambda_microvms.types.idle_policy.IdlePolicy"]
|
|
36
|
+
"""<p>The idle policy configuration of the MicroVM, controlling auto-suspend and auto-resume behavior.</p>"""
|
|
37
|
+
maximum_duration_in_seconds: "int"
|
|
38
|
+
"""<p>The maximum duration in seconds that the MicroVM can exist before being terminated by the platform.</p>"""
|
|
39
|
+
started_at: "datetime.datetime"
|
|
40
|
+
"""<p>The timestamp when the MicroVM first started.</p>"""
|
|
41
|
+
terminated_at: NotRequired["datetime.datetime"]
|
|
42
|
+
"""<p>The timestamp when the MicroVM terminated.</p>"""
|
|
43
|
+
state_reason: NotRequired[
|
|
44
|
+
"capo_lambda_microvms.types.non_blank_string.NonBlankString"
|
|
45
|
+
]
|
|
46
|
+
"""<p>The reason for why the MicroVM is in the current state.</p>"""
|
|
47
|
+
ingress_network_connectors: NotRequired[
|
|
48
|
+
"capo_lambda_microvms.types.network_connector_list.NetworkConnectorList"
|
|
49
|
+
]
|
|
50
|
+
"""<p>The list of ingress network connectors configured for the MicroVM.</p>"""
|
|
51
|
+
egress_network_connectors: NotRequired[
|
|
52
|
+
"capo_lambda_microvms.types.network_connector_list.NetworkConnectorList"
|
|
53
|
+
]
|
|
54
|
+
"""<p>The list of egress network connectors configured for the MicroVM.</p>"""
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
# --- restJson1 ser/de ---
|
|
58
|
+
def serialize_json(value: GetMicrovmResponse) -> dict:
|
|
59
|
+
out: dict = {}
|
|
60
|
+
out["microvmId"] = value["microvm_id"]
|
|
61
|
+
import capo_lambda_microvms.types.microvm_state
|
|
62
|
+
|
|
63
|
+
out["state"] = capo_lambda_microvms.types.microvm_state.serialize_json(
|
|
64
|
+
value["state"]
|
|
65
|
+
)
|
|
66
|
+
out["endpoint"] = value["endpoint"]
|
|
67
|
+
out["imageArn"] = value["image_arn"]
|
|
68
|
+
out["imageVersion"] = value["image_version"]
|
|
69
|
+
if "execution_role_arn" in value:
|
|
70
|
+
out["executionRoleArn"] = value["execution_role_arn"]
|
|
71
|
+
if "idle_policy" in value:
|
|
72
|
+
import capo_lambda_microvms.types.idle_policy
|
|
73
|
+
|
|
74
|
+
out["idlePolicy"] = capo_lambda_microvms.types.idle_policy.serialize_json(
|
|
75
|
+
value["idle_policy"]
|
|
76
|
+
)
|
|
77
|
+
out["maximumDurationInSeconds"] = value["maximum_duration_in_seconds"]
|
|
78
|
+
import capo_lambda_microvms.types._prelude.timestamp
|
|
79
|
+
|
|
80
|
+
out["startedAt"] = capo_lambda_microvms.types._prelude.timestamp.serialize_json(
|
|
81
|
+
value["started_at"]
|
|
82
|
+
)
|
|
83
|
+
if "terminated_at" in value:
|
|
84
|
+
import capo_lambda_microvms.types._prelude.timestamp
|
|
85
|
+
|
|
86
|
+
out["terminatedAt"] = (
|
|
87
|
+
capo_lambda_microvms.types._prelude.timestamp.serialize_json(
|
|
88
|
+
value["terminated_at"]
|
|
89
|
+
)
|
|
90
|
+
)
|
|
91
|
+
if "state_reason" in value:
|
|
92
|
+
out["stateReason"] = value["state_reason"]
|
|
93
|
+
if "ingress_network_connectors" in value:
|
|
94
|
+
import capo_lambda_microvms.types.network_connector_list
|
|
95
|
+
|
|
96
|
+
out["ingressNetworkConnectors"] = (
|
|
97
|
+
capo_lambda_microvms.types.network_connector_list.serialize_json(
|
|
98
|
+
value["ingress_network_connectors"]
|
|
99
|
+
)
|
|
100
|
+
)
|
|
101
|
+
if "egress_network_connectors" in value:
|
|
102
|
+
import capo_lambda_microvms.types.network_connector_list
|
|
103
|
+
|
|
104
|
+
out["egressNetworkConnectors"] = (
|
|
105
|
+
capo_lambda_microvms.types.network_connector_list.serialize_json(
|
|
106
|
+
value["egress_network_connectors"]
|
|
107
|
+
)
|
|
108
|
+
)
|
|
109
|
+
return out
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
def deserialize_json(data: dict) -> GetMicrovmResponse:
|
|
113
|
+
out: GetMicrovmResponse = {} # type: ignore[typeddict-item]
|
|
114
|
+
if data.get("microvmId") is not None:
|
|
115
|
+
out["microvm_id"] = data["microvmId"]
|
|
116
|
+
else:
|
|
117
|
+
raise DeserializationError("GetMicrovmResponse.microvm_id required")
|
|
118
|
+
if data.get("state") is not None:
|
|
119
|
+
import capo_lambda_microvms.types.microvm_state
|
|
120
|
+
|
|
121
|
+
out["state"] = capo_lambda_microvms.types.microvm_state.deserialize_json(
|
|
122
|
+
data["state"]
|
|
123
|
+
)
|
|
124
|
+
else:
|
|
125
|
+
raise DeserializationError("GetMicrovmResponse.state required")
|
|
126
|
+
if data.get("endpoint") is not None:
|
|
127
|
+
out["endpoint"] = data["endpoint"]
|
|
128
|
+
else:
|
|
129
|
+
raise DeserializationError("GetMicrovmResponse.endpoint required")
|
|
130
|
+
if data.get("imageArn") is not None:
|
|
131
|
+
out["image_arn"] = data["imageArn"]
|
|
132
|
+
else:
|
|
133
|
+
raise DeserializationError("GetMicrovmResponse.image_arn required")
|
|
134
|
+
if data.get("imageVersion") is not None:
|
|
135
|
+
out["image_version"] = data["imageVersion"]
|
|
136
|
+
else:
|
|
137
|
+
raise DeserializationError("GetMicrovmResponse.image_version required")
|
|
138
|
+
if data.get("executionRoleArn") is not None:
|
|
139
|
+
out["execution_role_arn"] = data["executionRoleArn"]
|
|
140
|
+
if data.get("idlePolicy") is not None:
|
|
141
|
+
import capo_lambda_microvms.types.idle_policy
|
|
142
|
+
|
|
143
|
+
out["idle_policy"] = capo_lambda_microvms.types.idle_policy.deserialize_json(
|
|
144
|
+
data["idlePolicy"]
|
|
145
|
+
)
|
|
146
|
+
if data.get("maximumDurationInSeconds") is not None:
|
|
147
|
+
out["maximum_duration_in_seconds"] = data["maximumDurationInSeconds"]
|
|
148
|
+
else:
|
|
149
|
+
raise DeserializationError(
|
|
150
|
+
"GetMicrovmResponse.maximum_duration_in_seconds required"
|
|
151
|
+
)
|
|
152
|
+
if data.get("startedAt") is not None:
|
|
153
|
+
import capo_lambda_microvms.types._prelude.timestamp
|
|
154
|
+
|
|
155
|
+
out["started_at"] = (
|
|
156
|
+
capo_lambda_microvms.types._prelude.timestamp.deserialize_json(
|
|
157
|
+
data["startedAt"]
|
|
158
|
+
)
|
|
159
|
+
)
|
|
160
|
+
else:
|
|
161
|
+
raise DeserializationError("GetMicrovmResponse.started_at required")
|
|
162
|
+
if data.get("terminatedAt") is not None:
|
|
163
|
+
import capo_lambda_microvms.types._prelude.timestamp
|
|
164
|
+
|
|
165
|
+
out["terminated_at"] = (
|
|
166
|
+
capo_lambda_microvms.types._prelude.timestamp.deserialize_json(
|
|
167
|
+
data["terminatedAt"]
|
|
168
|
+
)
|
|
169
|
+
)
|
|
170
|
+
if data.get("stateReason") is not None:
|
|
171
|
+
out["state_reason"] = data["stateReason"]
|
|
172
|
+
if data.get("ingressNetworkConnectors") is not None:
|
|
173
|
+
import capo_lambda_microvms.types.network_connector_list
|
|
174
|
+
|
|
175
|
+
out["ingress_network_connectors"] = (
|
|
176
|
+
capo_lambda_microvms.types.network_connector_list.deserialize_json(
|
|
177
|
+
data["ingressNetworkConnectors"]
|
|
178
|
+
)
|
|
179
|
+
)
|
|
180
|
+
if data.get("egressNetworkConnectors") is not None:
|
|
181
|
+
import capo_lambda_microvms.types.network_connector_list
|
|
182
|
+
|
|
183
|
+
out["egress_network_connectors"] = (
|
|
184
|
+
capo_lambda_microvms.types.network_connector_list.deserialize_json(
|
|
185
|
+
data["egressNetworkConnectors"]
|
|
186
|
+
)
|
|
187
|
+
)
|
|
188
|
+
return out
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"""Generated from Smithy shape ``com.amazonaws.lambdamicrovms#HookState``."""
|
|
2
|
+
|
|
3
|
+
from typing import Literal, TypeAlias, cast
|
|
4
|
+
|
|
5
|
+
"""Whether invocation hooks are enabled or disabled on a MicroVm."""
|
|
6
|
+
HookState: TypeAlias = Literal[
|
|
7
|
+
"DISABLED",
|
|
8
|
+
"ENABLED",
|
|
9
|
+
]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
# --- restJson1 ser/de ---
|
|
13
|
+
def serialize_json(value: HookState) -> str:
|
|
14
|
+
return value
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def deserialize_json(data: str) -> HookState:
|
|
18
|
+
return cast(HookState, data)
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"""Generated from Smithy shape ``com.amazonaws.lambdamicrovms#Hooks``."""
|
|
2
|
+
|
|
3
|
+
from typing import TYPE_CHECKING
|
|
4
|
+
|
|
5
|
+
from typing_extensions import NotRequired, TypedDict
|
|
6
|
+
|
|
7
|
+
if TYPE_CHECKING:
|
|
8
|
+
import capo_lambda_microvms.types.microvm_hooks
|
|
9
|
+
import capo_lambda_microvms.types.microvm_image_hooks
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class Hooks(TypedDict, closed=True):
|
|
13
|
+
port: NotRequired["int"]
|
|
14
|
+
"""<p>The port number on which the hooks listener runs.</p>"""
|
|
15
|
+
microvm_hooks: NotRequired["capo_lambda_microvms.types.microvm_hooks.MicrovmHooks"]
|
|
16
|
+
"""<p>The lifecycle hooks for MicroVM events.</p>"""
|
|
17
|
+
microvm_image_hooks: NotRequired[
|
|
18
|
+
"capo_lambda_microvms.types.microvm_image_hooks.MicrovmImageHooks"
|
|
19
|
+
]
|
|
20
|
+
"""<p>The hooks for MicroVM image build events.</p>"""
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
# --- restJson1 ser/de ---
|
|
24
|
+
def serialize_json(value: Hooks) -> dict:
|
|
25
|
+
out: dict = {}
|
|
26
|
+
if "port" in value:
|
|
27
|
+
out["port"] = value["port"]
|
|
28
|
+
if "microvm_hooks" in value:
|
|
29
|
+
import capo_lambda_microvms.types.microvm_hooks
|
|
30
|
+
|
|
31
|
+
out["microvmHooks"] = capo_lambda_microvms.types.microvm_hooks.serialize_json(
|
|
32
|
+
value["microvm_hooks"]
|
|
33
|
+
)
|
|
34
|
+
if "microvm_image_hooks" in value:
|
|
35
|
+
import capo_lambda_microvms.types.microvm_image_hooks
|
|
36
|
+
|
|
37
|
+
out["microvmImageHooks"] = (
|
|
38
|
+
capo_lambda_microvms.types.microvm_image_hooks.serialize_json(
|
|
39
|
+
value["microvm_image_hooks"]
|
|
40
|
+
)
|
|
41
|
+
)
|
|
42
|
+
return out
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
def deserialize_json(data: dict) -> Hooks:
|
|
46
|
+
out: Hooks = {} # type: ignore[typeddict-item]
|
|
47
|
+
if data.get("port") is not None:
|
|
48
|
+
out["port"] = data["port"]
|
|
49
|
+
if data.get("microvmHooks") is not None:
|
|
50
|
+
import capo_lambda_microvms.types.microvm_hooks
|
|
51
|
+
|
|
52
|
+
out["microvm_hooks"] = (
|
|
53
|
+
capo_lambda_microvms.types.microvm_hooks.deserialize_json(
|
|
54
|
+
data["microvmHooks"]
|
|
55
|
+
)
|
|
56
|
+
)
|
|
57
|
+
if data.get("microvmImageHooks") is not None:
|
|
58
|
+
import capo_lambda_microvms.types.microvm_image_hooks
|
|
59
|
+
|
|
60
|
+
out["microvm_image_hooks"] = (
|
|
61
|
+
capo_lambda_microvms.types.microvm_image_hooks.deserialize_json(
|
|
62
|
+
data["microvmImageHooks"]
|
|
63
|
+
)
|
|
64
|
+
)
|
|
65
|
+
return out
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"""Generated from Smithy shape ``com.amazonaws.lambdamicrovms#IdlePolicy``."""
|
|
2
|
+
|
|
3
|
+
from typing_extensions import TypedDict
|
|
4
|
+
|
|
5
|
+
from capo_lambda_microvms.errors import DeserializationError
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class IdlePolicy(TypedDict, closed=True):
|
|
9
|
+
max_idle_duration_seconds: "int"
|
|
10
|
+
"""<p>The maximum time in seconds that a MicroVM can remain idle before it is automatically suspended.</p>"""
|
|
11
|
+
suspended_duration_seconds: "int"
|
|
12
|
+
"""<p>The maximum time in seconds that a MicroVM can remain suspended before it is automatically terminated.</p>"""
|
|
13
|
+
auto_resume_enabled: "bool"
|
|
14
|
+
"""<p>Indicates whether the MicroVM automatically resumes when it receives a request while suspended.</p>"""
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
# --- restJson1 ser/de ---
|
|
18
|
+
def serialize_json(value: IdlePolicy) -> dict:
|
|
19
|
+
out: dict = {}
|
|
20
|
+
out["maxIdleDurationSeconds"] = value["max_idle_duration_seconds"]
|
|
21
|
+
out["suspendedDurationSeconds"] = value["suspended_duration_seconds"]
|
|
22
|
+
out["autoResumeEnabled"] = value["auto_resume_enabled"]
|
|
23
|
+
return out
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def deserialize_json(data: dict) -> IdlePolicy:
|
|
27
|
+
out: IdlePolicy = {} # type: ignore[typeddict-item]
|
|
28
|
+
if data.get("maxIdleDurationSeconds") is not None:
|
|
29
|
+
out["max_idle_duration_seconds"] = data["maxIdleDurationSeconds"]
|
|
30
|
+
else:
|
|
31
|
+
raise DeserializationError("IdlePolicy.max_idle_duration_seconds required")
|
|
32
|
+
if data.get("suspendedDurationSeconds") is not None:
|
|
33
|
+
out["suspended_duration_seconds"] = data["suspendedDurationSeconds"]
|
|
34
|
+
else:
|
|
35
|
+
raise DeserializationError("IdlePolicy.suspended_duration_seconds required")
|
|
36
|
+
if data.get("autoResumeEnabled") is not None:
|
|
37
|
+
out["auto_resume_enabled"] = data["autoResumeEnabled"]
|
|
38
|
+
else:
|
|
39
|
+
raise DeserializationError("IdlePolicy.auto_resume_enabled required")
|
|
40
|
+
return out
|