capo-lambda 0.5.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 (681) hide show
  1. capo_lambda/__init__.py +52 -0
  2. capo_lambda/_async.py +25 -0
  3. capo_lambda/_auth/_identity.py +16 -0
  4. capo_lambda/_auth/_providers.py +318 -0
  5. capo_lambda/_auth/_signers.py +84 -0
  6. capo_lambda/_auth/_sigv4.py +382 -0
  7. capo_lambda/_auth/_zapros_handler.py +62 -0
  8. capo_lambda/_iter.py +113 -0
  9. capo_lambda/_operations/aws_gir_api_service/add_layer_version_permission.py +169 -0
  10. capo_lambda/_operations/aws_gir_api_service/add_permission.py +168 -0
  11. capo_lambda/_operations/aws_gir_api_service/checkpoint_durable_execution.py +150 -0
  12. capo_lambda/_operations/aws_gir_api_service/create_alias.py +152 -0
  13. capo_lambda/_operations/aws_gir_api_service/create_capacity_provider.py +157 -0
  14. capo_lambda/_operations/aws_gir_api_service/create_code_signing_config.py +140 -0
  15. capo_lambda/_operations/aws_gir_api_service/create_event_source_mapping.py +173 -0
  16. capo_lambda/_operations/aws_gir_api_service/create_function.py +208 -0
  17. capo_lambda/_operations/aws_gir_api_service/create_function_url_config.py +158 -0
  18. capo_lambda/_operations/aws_gir_api_service/delete_alias.py +123 -0
  19. capo_lambda/_operations/aws_gir_api_service/delete_capacity_provider.py +156 -0
  20. capo_lambda/_operations/aws_gir_api_service/delete_code_signing_config.py +146 -0
  21. capo_lambda/_operations/aws_gir_api_service/delete_event_source_mapping.py +176 -0
  22. capo_lambda/_operations/aws_gir_api_service/delete_function.py +148 -0
  23. capo_lambda/_operations/aws_gir_api_service/delete_function_code_signing_config.py +133 -0
  24. capo_lambda/_operations/aws_gir_api_service/delete_function_concurrency.py +125 -0
  25. capo_lambda/_operations/aws_gir_api_service/delete_function_event_invoke_config.py +130 -0
  26. capo_lambda/_operations/aws_gir_api_service/delete_function_url_config.py +122 -0
  27. capo_lambda/_operations/aws_gir_api_service/delete_layer_version.py +114 -0
  28. capo_lambda/_operations/aws_gir_api_service/delete_provisioned_concurrency_config.py +130 -0
  29. capo_lambda/_operations/aws_gir_api_service/get_account_settings.py +139 -0
  30. capo_lambda/_operations/aws_gir_api_service/get_alias.py +147 -0
  31. capo_lambda/_operations/aws_gir_api_service/get_capacity_provider.py +151 -0
  32. capo_lambda/_operations/aws_gir_api_service/get_code_signing_config.py +146 -0
  33. capo_lambda/_operations/aws_gir_api_service/get_durable_execution.py +154 -0
  34. capo_lambda/_operations/aws_gir_api_service/get_durable_execution_history.py +158 -0
  35. capo_lambda/_operations/aws_gir_api_service/get_durable_execution_state.py +151 -0
  36. capo_lambda/_operations/aws_gir_api_service/get_event_source_mapping.py +166 -0
  37. capo_lambda/_operations/aws_gir_api_service/get_function.py +154 -0
  38. capo_lambda/_operations/aws_gir_api_service/get_function_code_signing_config.py +148 -0
  39. capo_lambda/_operations/aws_gir_api_service/get_function_concurrency.py +145 -0
  40. capo_lambda/_operations/aws_gir_api_service/get_function_configuration.py +172 -0
  41. capo_lambda/_operations/aws_gir_api_service/get_function_event_invoke_config.py +156 -0
  42. capo_lambda/_operations/aws_gir_api_service/get_function_recursion_config.py +149 -0
  43. capo_lambda/_operations/aws_gir_api_service/get_function_scaling_config.py +151 -0
  44. capo_lambda/_operations/aws_gir_api_service/get_function_url_config.py +150 -0
  45. capo_lambda/_operations/aws_gir_api_service/get_layer_version.py +156 -0
  46. capo_lambda/_operations/aws_gir_api_service/get_layer_version_by_arn.py +152 -0
  47. capo_lambda/_operations/aws_gir_api_service/get_layer_version_policy.py +149 -0
  48. capo_lambda/_operations/aws_gir_api_service/get_policy.py +145 -0
  49. capo_lambda/_operations/aws_gir_api_service/get_provisioned_concurrency_config.py +156 -0
  50. capo_lambda/_operations/aws_gir_api_service/get_runtime_management_config.py +151 -0
  51. capo_lambda/_operations/aws_gir_api_service/invoke.py +342 -0
  52. capo_lambda/_operations/aws_gir_api_service/invoke_async.py +153 -0
  53. capo_lambda/_operations/aws_gir_api_service/invoke_with_response_stream.py +346 -0
  54. capo_lambda/_operations/aws_gir_api_service/list_aliases.py +154 -0
  55. capo_lambda/_operations/aws_gir_api_service/list_capacity_providers.py +146 -0
  56. capo_lambda/_operations/aws_gir_api_service/list_code_signing_configs.py +142 -0
  57. capo_lambda/_operations/aws_gir_api_service/list_durable_executions_by_function.py +166 -0
  58. capo_lambda/_operations/aws_gir_api_service/list_event_source_mappings.py +152 -0
  59. capo_lambda/_operations/aws_gir_api_service/list_function_event_invoke_configs.py +153 -0
  60. capo_lambda/_operations/aws_gir_api_service/list_function_url_configs.py +154 -0
  61. capo_lambda/_operations/aws_gir_api_service/list_function_versions_by_capacity_provider.py +155 -0
  62. capo_lambda/_operations/aws_gir_api_service/list_functions.py +150 -0
  63. capo_lambda/_operations/aws_gir_api_service/list_functions_by_code_signing_config.py +150 -0
  64. capo_lambda/_operations/aws_gir_api_service/list_layer_versions.py +160 -0
  65. capo_lambda/_operations/aws_gir_api_service/list_layers.py +147 -0
  66. capo_lambda/_operations/aws_gir_api_service/list_provisioned_concurrency_configs.py +153 -0
  67. capo_lambda/_operations/aws_gir_api_service/list_tags.py +144 -0
  68. capo_lambda/_operations/aws_gir_api_service/list_versions_by_function.py +154 -0
  69. capo_lambda/_operations/aws_gir_api_service/publish_layer_version.py +157 -0
  70. capo_lambda/_operations/aws_gir_api_service/publish_version.py +192 -0
  71. capo_lambda/_operations/aws_gir_api_service/put_function_code_signing_config.py +163 -0
  72. capo_lambda/_operations/aws_gir_api_service/put_function_concurrency.py +149 -0
  73. capo_lambda/_operations/aws_gir_api_service/put_function_event_invoke_config.py +166 -0
  74. capo_lambda/_operations/aws_gir_api_service/put_function_recursion_config.py +157 -0
  75. capo_lambda/_operations/aws_gir_api_service/put_function_scaling_config.py +160 -0
  76. capo_lambda/_operations/aws_gir_api_service/put_provisioned_concurrency_config.py +161 -0
  77. capo_lambda/_operations/aws_gir_api_service/put_runtime_management_config.py +159 -0
  78. capo_lambda/_operations/aws_gir_api_service/remove_layer_version_permission.py +132 -0
  79. capo_lambda/_operations/aws_gir_api_service/remove_permission.py +133 -0
  80. capo_lambda/_operations/aws_gir_api_service/send_durable_execution_callback_failure.py +151 -0
  81. capo_lambda/_operations/aws_gir_api_service/send_durable_execution_callback_heartbeat.py +144 -0
  82. capo_lambda/_operations/aws_gir_api_service/send_durable_execution_callback_success.py +151 -0
  83. capo_lambda/_operations/aws_gir_api_service/stop_durable_execution.py +158 -0
  84. capo_lambda/_operations/aws_gir_api_service/tag_resource.py +129 -0
  85. capo_lambda/_operations/aws_gir_api_service/untag_resource.py +128 -0
  86. capo_lambda/_operations/aws_gir_api_service/update_alias.py +160 -0
  87. capo_lambda/_operations/aws_gir_api_service/update_capacity_provider.py +160 -0
  88. capo_lambda/_operations/aws_gir_api_service/update_code_signing_config.py +151 -0
  89. capo_lambda/_operations/aws_gir_api_service/update_event_source_mapping.py +179 -0
  90. capo_lambda/_operations/aws_gir_api_service/update_function_code.py +203 -0
  91. capo_lambda/_operations/aws_gir_api_service/update_function_configuration.py +204 -0
  92. capo_lambda/_operations/aws_gir_api_service/update_function_event_invoke_config.py +166 -0
  93. capo_lambda/_operations/aws_gir_api_service/update_function_url_config.py +158 -0
  94. capo_lambda/_pagination.py +21 -0
  95. capo_lambda/_protocol/__init__.py +1 -0
  96. capo_lambda/_protocol/errors.py +59 -0
  97. capo_lambda/_protocol/eventstream.py +238 -0
  98. capo_lambda/_protocol/xml.py +27 -0
  99. capo_lambda/_resources/aws_gir_api_service/capacity_provider_resource.py +713 -0
  100. capo_lambda/_resources/aws_gir_api_service/code_signing_config_resource.py +656 -0
  101. capo_lambda/_resources/aws_gir_api_service/event_source_mapping.py +1163 -0
  102. capo_lambda/_resources/aws_gir_api_service/function.py +3923 -0
  103. capo_lambda/_resources/aws_gir_api_service/function_alias.py +670 -0
  104. capo_lambda/_resources/aws_gir_api_service/function_version_resource.py +303 -0
  105. capo_lambda/_resources/aws_gir_api_service/layer_resource.py +170 -0
  106. capo_lambda/_resources/aws_gir_api_service/layer_version.py +1022 -0
  107. capo_lambda/_resources/aws_gir_api_service/permission.py +389 -0
  108. capo_lambda/_resources/aws_gir_api_service/provisioned_concurrency_config.py +376 -0
  109. capo_lambda/_resources/aws_gir_api_service/resource_policy.py +19 -0
  110. capo_lambda/_rule_engine/__init__.py +0 -0
  111. capo_lambda/_rule_engine/_aws_partition.py +160 -0
  112. capo_lambda/_rule_engine/_endpoint_rule_set.py +136 -0
  113. capo_lambda/_rule_engine/_endpoint_runtime.py +389 -0
  114. capo_lambda/_services/_aws_config.py +152 -0
  115. capo_lambda/_services/_lambda.py +1388 -0
  116. capo_lambda/_services/_pipeline.py +198 -0
  117. capo_lambda/_services/async__lambda.py +1411 -0
  118. capo_lambda/errors/__init__.py +148 -0
  119. capo_lambda/errors/_base.py +94 -0
  120. capo_lambda/errors/callback_timeout_exception.py +54 -0
  121. capo_lambda/errors/capacity_provider_limit_exceeded_exception.py +54 -0
  122. capo_lambda/errors/code_signing_config_not_found_exception.py +53 -0
  123. capo_lambda/errors/code_storage_exceeded_exception.py +54 -0
  124. capo_lambda/errors/code_verification_failed_exception.py +53 -0
  125. capo_lambda/errors/durable_execution_already_started_exception.py +54 -0
  126. capo_lambda/errors/ec2_access_denied_exception.py +53 -0
  127. capo_lambda/errors/ec2_throttled_exception.py +53 -0
  128. capo_lambda/errors/ec2_unexpected_exception.py +58 -0
  129. capo_lambda/errors/efs_mount_connectivity_exception.py +53 -0
  130. capo_lambda/errors/efs_mount_failure_exception.py +53 -0
  131. capo_lambda/errors/efs_mount_timeout_exception.py +53 -0
  132. capo_lambda/errors/efsio_exception.py +53 -0
  133. capo_lambda/errors/eni_limit_reached_exception.py +53 -0
  134. capo_lambda/errors/function_versions_per_capacity_provider_limit_exceeded_exception.py +64 -0
  135. capo_lambda/errors/invalid_code_signature_exception.py +53 -0
  136. capo_lambda/errors/invalid_parameter_value_exception.py +55 -0
  137. capo_lambda/errors/invalid_request_content_exception.py +55 -0
  138. capo_lambda/errors/invalid_runtime_exception.py +53 -0
  139. capo_lambda/errors/invalid_security_group_id_exception.py +53 -0
  140. capo_lambda/errors/invalid_subnet_id_exception.py +53 -0
  141. capo_lambda/errors/invalid_zip_file_exception.py +53 -0
  142. capo_lambda/errors/kms_access_denied_exception.py +53 -0
  143. capo_lambda/errors/kms_disabled_exception.py +53 -0
  144. capo_lambda/errors/kms_invalid_state_exception.py +53 -0
  145. capo_lambda/errors/kms_not_found_exception.py +53 -0
  146. capo_lambda/errors/no_published_version_exception.py +54 -0
  147. capo_lambda/errors/policy_length_exceeded_exception.py +53 -0
  148. capo_lambda/errors/precondition_failed_exception.py +55 -0
  149. capo_lambda/errors/provisioned_concurrency_config_not_found_exception.py +53 -0
  150. capo_lambda/errors/recursive_invocation_exception.py +55 -0
  151. capo_lambda/errors/request_too_large_exception.py +53 -0
  152. capo_lambda/errors/resource_conflict_exception.py +55 -0
  153. capo_lambda/errors/resource_in_use_exception.py +53 -0
  154. capo_lambda/errors/resource_not_found_exception.py +53 -0
  155. capo_lambda/errors/resource_not_ready_exception.py +55 -0
  156. capo_lambda/errors/s3_files_mount_connectivity_exception.py +55 -0
  157. capo_lambda/errors/s3_files_mount_failure_exception.py +55 -0
  158. capo_lambda/errors/s3_files_mount_timeout_exception.py +55 -0
  159. capo_lambda/errors/serialized_request_entity_too_large_exception.py +54 -0
  160. capo_lambda/errors/service_exception.py +53 -0
  161. capo_lambda/errors/snap_start_exception.py +53 -0
  162. capo_lambda/errors/snap_start_not_ready_exception.py +53 -0
  163. capo_lambda/errors/snap_start_timeout_exception.py +53 -0
  164. capo_lambda/errors/subnet_ip_address_limit_reached_exception.py +53 -0
  165. capo_lambda/errors/too_many_requests_exception.py +69 -0
  166. capo_lambda/errors/unsupported_media_type_exception.py +53 -0
  167. capo_lambda/py.typed +0 -0
  168. capo_lambda/types/_prelude/blob.py +12 -0
  169. capo_lambda/types/_prelude/timestamp.py +12 -0
  170. capo_lambda/types/account_limit.py +62 -0
  171. capo_lambda/types/account_usage.py +36 -0
  172. capo_lambda/types/action.py +5 -0
  173. capo_lambda/types/add_layer_version_permission_request.py +69 -0
  174. capo_lambda/types/add_layer_version_permission_response.py +34 -0
  175. capo_lambda/types/add_permission_request.py +122 -0
  176. capo_lambda/types/add_permission_response.py +28 -0
  177. capo_lambda/types/additional_version.py +5 -0
  178. capo_lambda/types/additional_version_weights.py +27 -0
  179. capo_lambda/types/alias.py +5 -0
  180. capo_lambda/types/alias_configuration.py +77 -0
  181. capo_lambda/types/alias_list.py +27 -0
  182. capo_lambda/types/alias_routing_configuration.py +42 -0
  183. capo_lambda/types/allow_credentials.py +5 -0
  184. capo_lambda/types/allow_methods_list.py +17 -0
  185. capo_lambda/types/allow_origins_list.py +17 -0
  186. capo_lambda/types/allowed_publishers.py +47 -0
  187. capo_lambda/types/amazon_managed_kafka_event_source_config.py +49 -0
  188. capo_lambda/types/application_log_level.py +21 -0
  189. capo_lambda/types/architecture.py +17 -0
  190. capo_lambda/types/architectures_list.py +27 -0
  191. capo_lambda/types/arn.py +5 -0
  192. capo_lambda/types/attempt_count.py +5 -0
  193. capo_lambda/types/batch_size.py +5 -0
  194. capo_lambda/types/binary_operation_payload.py +15 -0
  195. capo_lambda/types/bisect_batch_on_function_error.py +5 -0
  196. capo_lambda/types/blob.py +15 -0
  197. capo_lambda/types/blob_stream.py +7 -0
  198. capo_lambda/types/boolean.py +5 -0
  199. capo_lambda/types/callback_details.py +46 -0
  200. capo_lambda/types/callback_failed_details.py +35 -0
  201. capo_lambda/types/callback_id.py +5 -0
  202. capo_lambda/types/callback_options.py +36 -0
  203. capo_lambda/types/callback_started_details.py +44 -0
  204. capo_lambda/types/callback_succeeded_details.py +35 -0
  205. capo_lambda/types/callback_timed_out_details.py +35 -0
  206. capo_lambda/types/capacity_provider.py +143 -0
  207. capo_lambda/types/capacity_provider_arn.py +5 -0
  208. capo_lambda/types/capacity_provider_config.py +45 -0
  209. capo_lambda/types/capacity_provider_max_v_cpu_count.py +5 -0
  210. capo_lambda/types/capacity_provider_name.py +5 -0
  211. capo_lambda/types/capacity_provider_permissions_config.py +37 -0
  212. capo_lambda/types/capacity_provider_predefined_metric_type.py +16 -0
  213. capo_lambda/types/capacity_provider_scaling_config.py +72 -0
  214. capo_lambda/types/capacity_provider_scaling_mode.py +17 -0
  215. capo_lambda/types/capacity_provider_scaling_policies_list.py +33 -0
  216. capo_lambda/types/capacity_provider_security_group_ids.py +19 -0
  217. capo_lambda/types/capacity_provider_state.py +19 -0
  218. capo_lambda/types/capacity_provider_subnet_ids.py +17 -0
  219. capo_lambda/types/capacity_provider_vpc_config.py +65 -0
  220. capo_lambda/types/capacity_providers_list.py +29 -0
  221. capo_lambda/types/chained_invoke_details.py +39 -0
  222. capo_lambda/types/chained_invoke_failed_details.py +35 -0
  223. capo_lambda/types/chained_invoke_options.py +38 -0
  224. capo_lambda/types/chained_invoke_started_details.py +67 -0
  225. capo_lambda/types/chained_invoke_stopped_details.py +35 -0
  226. capo_lambda/types/chained_invoke_succeeded_details.py +35 -0
  227. capo_lambda/types/chained_invoke_timed_out_details.py +35 -0
  228. capo_lambda/types/checkpoint_durable_execution_request.py +58 -0
  229. capo_lambda/types/checkpoint_durable_execution_response.py +52 -0
  230. capo_lambda/types/checkpoint_token.py +5 -0
  231. capo_lambda/types/checkpoint_updated_execution_state.py +43 -0
  232. capo_lambda/types/client_token.py +5 -0
  233. capo_lambda/types/code_signing_config.py +94 -0
  234. capo_lambda/types/code_signing_config_arn.py +5 -0
  235. capo_lambda/types/code_signing_config_id.py +5 -0
  236. capo_lambda/types/code_signing_config_list.py +29 -0
  237. capo_lambda/types/code_signing_policies.py +42 -0
  238. capo_lambda/types/code_signing_policy.py +17 -0
  239. capo_lambda/types/collection_name.py +5 -0
  240. capo_lambda/types/compatible_architectures.py +27 -0
  241. capo_lambda/types/compatible_runtimes.py +27 -0
  242. capo_lambda/types/concurrency.py +30 -0
  243. capo_lambda/types/context_details.py +46 -0
  244. capo_lambda/types/context_failed_details.py +35 -0
  245. capo_lambda/types/context_options.py +28 -0
  246. capo_lambda/types/context_started_details.py +18 -0
  247. capo_lambda/types/context_succeeded_details.py +35 -0
  248. capo_lambda/types/cors.py +96 -0
  249. capo_lambda/types/create_alias_request.py +72 -0
  250. capo_lambda/types/create_capacity_provider_request.py +139 -0
  251. capo_lambda/types/create_capacity_provider_response.py +41 -0
  252. capo_lambda/types/create_code_signing_config_request.py +82 -0
  253. capo_lambda/types/create_code_signing_config_response.py +43 -0
  254. capo_lambda/types/create_event_source_mapping_request.py +426 -0
  255. capo_lambda/types/create_function_request.py +385 -0
  256. capo_lambda/types/create_function_url_config_request.py +73 -0
  257. capo_lambda/types/create_function_url_config_response.py +95 -0
  258. capo_lambda/types/database_name.py +5 -0
  259. capo_lambda/types/date.py +15 -0
  260. capo_lambda/types/dead_letter_config.py +28 -0
  261. capo_lambda/types/delete_alias_request.py +27 -0
  262. capo_lambda/types/delete_capacity_provider_request.py +26 -0
  263. capo_lambda/types/delete_capacity_provider_response.py +41 -0
  264. capo_lambda/types/delete_code_signing_config_request.py +26 -0
  265. capo_lambda/types/delete_code_signing_config_response.py +18 -0
  266. capo_lambda/types/delete_event_source_mapping_request.py +24 -0
  267. capo_lambda/types/delete_function_code_signing_config_request.py +24 -0
  268. capo_lambda/types/delete_function_concurrency_request.py +24 -0
  269. capo_lambda/types/delete_function_event_invoke_config_request.py +29 -0
  270. capo_lambda/types/delete_function_request.py +29 -0
  271. capo_lambda/types/delete_function_response.py +24 -0
  272. capo_lambda/types/delete_function_url_config_request.py +29 -0
  273. capo_lambda/types/delete_layer_version_request.py +27 -0
  274. capo_lambda/types/delete_provisioned_concurrency_config_request.py +27 -0
  275. capo_lambda/types/description.py +5 -0
  276. capo_lambda/types/destination_arn.py +5 -0
  277. capo_lambda/types/destination_config.py +51 -0
  278. capo_lambda/types/document_db_event_source_config.py +50 -0
  279. capo_lambda/types/durable_config.py +39 -0
  280. capo_lambda/types/durable_execution_arn.py +5 -0
  281. capo_lambda/types/durable_execution_name.py +5 -0
  282. capo_lambda/types/durable_executions.py +27 -0
  283. capo_lambda/types/duration_seconds.py +5 -0
  284. capo_lambda/types/enabled.py +5 -0
  285. capo_lambda/types/end_point_type.py +14 -0
  286. capo_lambda/types/endpoint.py +5 -0
  287. capo_lambda/types/endpoint_lists.py +17 -0
  288. capo_lambda/types/endpoints.py +37 -0
  289. capo_lambda/types/environment.py +38 -0
  290. capo_lambda/types/environment_error.py +35 -0
  291. capo_lambda/types/environment_response.py +53 -0
  292. capo_lambda/types/environment_variable_name.py +5 -0
  293. capo_lambda/types/environment_variable_value.py +5 -0
  294. capo_lambda/types/environment_variables.py +27 -0
  295. capo_lambda/types/ephemeral_storage.py +31 -0
  296. capo_lambda/types/ephemeral_storage_size.py +5 -0
  297. capo_lambda/types/error_data.py +5 -0
  298. capo_lambda/types/error_message.py +5 -0
  299. capo_lambda/types/error_object.py +57 -0
  300. capo_lambda/types/error_type.py +5 -0
  301. capo_lambda/types/event.py +584 -0
  302. capo_lambda/types/event_error.py +41 -0
  303. capo_lambda/types/event_id.py +5 -0
  304. capo_lambda/types/event_input.py +35 -0
  305. capo_lambda/types/event_result.py +35 -0
  306. capo_lambda/types/event_source_mapping_arn.py +5 -0
  307. capo_lambda/types/event_source_mapping_configuration.py +472 -0
  308. capo_lambda/types/event_source_mapping_logging_config.py +42 -0
  309. capo_lambda/types/event_source_mapping_metric.py +18 -0
  310. capo_lambda/types/event_source_mapping_metric_list.py +29 -0
  311. capo_lambda/types/event_source_mapping_metrics_config.py +42 -0
  312. capo_lambda/types/event_source_mapping_system_log_level.py +18 -0
  313. capo_lambda/types/event_source_mappings_list.py +33 -0
  314. capo_lambda/types/event_source_position.py +18 -0
  315. capo_lambda/types/event_source_token.py +5 -0
  316. capo_lambda/types/event_type.py +39 -0
  317. capo_lambda/types/events.py +27 -0
  318. capo_lambda/types/execution.py +95 -0
  319. capo_lambda/types/execution_details.py +28 -0
  320. capo_lambda/types/execution_environment_memory_gi_b_per_v_cpu.py +5 -0
  321. capo_lambda/types/execution_failed_details.py +35 -0
  322. capo_lambda/types/execution_started_details.py +43 -0
  323. capo_lambda/types/execution_status.py +20 -0
  324. capo_lambda/types/execution_status_list.py +29 -0
  325. capo_lambda/types/execution_stopped_details.py +35 -0
  326. capo_lambda/types/execution_succeeded_details.py +35 -0
  327. capo_lambda/types/execution_timed_out_details.py +32 -0
  328. capo_lambda/types/execution_timeout.py +5 -0
  329. capo_lambda/types/execution_timestamp.py +15 -0
  330. capo_lambda/types/file_system_arn.py +5 -0
  331. capo_lambda/types/file_system_config.py +39 -0
  332. capo_lambda/types/file_system_config_list.py +29 -0
  333. capo_lambda/types/filter.py +28 -0
  334. capo_lambda/types/filter_criteria.py +32 -0
  335. capo_lambda/types/filter_criteria_error.py +39 -0
  336. capo_lambda/types/filter_criteria_error_code.py +5 -0
  337. capo_lambda/types/filter_criteria_error_message.py +5 -0
  338. capo_lambda/types/filter_list.py +27 -0
  339. capo_lambda/types/full_document.py +17 -0
  340. capo_lambda/types/function_arn.py +5 -0
  341. capo_lambda/types/function_arn_list.py +17 -0
  342. capo_lambda/types/function_code.py +69 -0
  343. capo_lambda/types/function_code_location.py +52 -0
  344. capo_lambda/types/function_configuration.py +513 -0
  345. capo_lambda/types/function_event_invoke_config.py +80 -0
  346. capo_lambda/types/function_event_invoke_config_list.py +31 -0
  347. capo_lambda/types/function_list.py +29 -0
  348. capo_lambda/types/function_name.py +5 -0
  349. capo_lambda/types/function_response_type.py +14 -0
  350. capo_lambda/types/function_response_type_list.py +29 -0
  351. capo_lambda/types/function_scaling_config.py +38 -0
  352. capo_lambda/types/function_scaling_config_execution_environments.py +5 -0
  353. capo_lambda/types/function_url.py +5 -0
  354. capo_lambda/types/function_url_auth_type.py +17 -0
  355. capo_lambda/types/function_url_config.py +96 -0
  356. capo_lambda/types/function_url_config_list.py +29 -0
  357. capo_lambda/types/function_url_qualifier.py +5 -0
  358. capo_lambda/types/function_version.py +14 -0
  359. capo_lambda/types/function_version_latest_published.py +14 -0
  360. capo_lambda/types/function_versions_by_capacity_provider_list.py +37 -0
  361. capo_lambda/types/function_versions_by_capacity_provider_list_item.py +47 -0
  362. capo_lambda/types/get_account_settings_request.py +18 -0
  363. capo_lambda/types/get_account_settings_response.py +51 -0
  364. capo_lambda/types/get_alias_request.py +27 -0
  365. capo_lambda/types/get_capacity_provider_request.py +26 -0
  366. capo_lambda/types/get_capacity_provider_response.py +41 -0
  367. capo_lambda/types/get_code_signing_config_request.py +26 -0
  368. capo_lambda/types/get_code_signing_config_response.py +43 -0
  369. capo_lambda/types/get_durable_execution_history_request.py +38 -0
  370. capo_lambda/types/get_durable_execution_history_response.py +42 -0
  371. capo_lambda/types/get_durable_execution_request.py +24 -0
  372. capo_lambda/types/get_durable_execution_response.py +150 -0
  373. capo_lambda/types/get_durable_execution_state_request.py +33 -0
  374. capo_lambda/types/get_durable_execution_state_response.py +46 -0
  375. capo_lambda/types/get_event_source_mapping_request.py +24 -0
  376. capo_lambda/types/get_function_code_signing_config_request.py +24 -0
  377. capo_lambda/types/get_function_code_signing_config_response.py +45 -0
  378. capo_lambda/types/get_function_concurrency_request.py +24 -0
  379. capo_lambda/types/get_function_concurrency_response.py +30 -0
  380. capo_lambda/types/get_function_configuration_request.py +29 -0
  381. capo_lambda/types/get_function_event_invoke_config_request.py +29 -0
  382. capo_lambda/types/get_function_recursion_config_request.py +24 -0
  383. capo_lambda/types/get_function_recursion_config_response.py +36 -0
  384. capo_lambda/types/get_function_request.py +29 -0
  385. capo_lambda/types/get_function_response.py +96 -0
  386. capo_lambda/types/get_function_scaling_config_request.py +29 -0
  387. capo_lambda/types/get_function_scaling_config_response.py +69 -0
  388. capo_lambda/types/get_function_url_config_request.py +29 -0
  389. capo_lambda/types/get_function_url_config_response.py +100 -0
  390. capo_lambda/types/get_layer_version_by_arn_request.py +24 -0
  391. capo_lambda/types/get_layer_version_policy_request.py +27 -0
  392. capo_lambda/types/get_layer_version_policy_response.py +34 -0
  393. capo_lambda/types/get_layer_version_request.py +27 -0
  394. capo_lambda/types/get_layer_version_response.py +127 -0
  395. capo_lambda/types/get_policy_request.py +29 -0
  396. capo_lambda/types/get_policy_response.py +34 -0
  397. capo_lambda/types/get_provisioned_concurrency_config_request.py +27 -0
  398. capo_lambda/types/get_provisioned_concurrency_config_response.py +94 -0
  399. capo_lambda/types/get_runtime_management_config_request.py +29 -0
  400. capo_lambda/types/get_runtime_management_config_response.py +56 -0
  401. capo_lambda/types/handler.py +5 -0
  402. capo_lambda/types/header.py +5 -0
  403. capo_lambda/types/headers_list.py +17 -0
  404. capo_lambda/types/http_status.py +5 -0
  405. capo_lambda/types/image_config.py +55 -0
  406. capo_lambda/types/image_config_error.py +35 -0
  407. capo_lambda/types/image_config_response.py +51 -0
  408. capo_lambda/types/include_execution_data.py +5 -0
  409. capo_lambda/types/input_payload.py +5 -0
  410. capo_lambda/types/instance_requirements.py +77 -0
  411. capo_lambda/types/instance_type.py +5 -0
  412. capo_lambda/types/instance_type_set.py +17 -0
  413. capo_lambda/types/integer.py +5 -0
  414. capo_lambda/types/invocation_completed_details.py +75 -0
  415. capo_lambda/types/invocation_request.py +57 -0
  416. capo_lambda/types/invocation_response.py +48 -0
  417. capo_lambda/types/invocation_type.py +18 -0
  418. capo_lambda/types/invoke_async_request.py +16 -0
  419. capo_lambda/types/invoke_async_response.py +24 -0
  420. capo_lambda/types/invoke_mode.py +17 -0
  421. capo_lambda/types/invoke_response_stream_update.py +42 -0
  422. capo_lambda/types/invoke_with_response_stream_complete_event.py +55 -0
  423. capo_lambda/types/invoke_with_response_stream_request.py +54 -0
  424. capo_lambda/types/invoke_with_response_stream_response.py +24 -0
  425. capo_lambda/types/invoke_with_response_stream_response_event.py +78 -0
  426. capo_lambda/types/invoked_via_function_url.py +5 -0
  427. capo_lambda/types/item_count.py +5 -0
  428. capo_lambda/types/kafka_schema_registry_access_config.py +47 -0
  429. capo_lambda/types/kafka_schema_registry_access_config_list.py +33 -0
  430. capo_lambda/types/kafka_schema_registry_auth_type.py +18 -0
  431. capo_lambda/types/kafka_schema_registry_config.py +93 -0
  432. capo_lambda/types/kafka_schema_validation_attribute.py +17 -0
  433. capo_lambda/types/kafka_schema_validation_config.py +42 -0
  434. capo_lambda/types/kafka_schema_validation_config_list.py +33 -0
  435. capo_lambda/types/kms_key_arn.py +5 -0
  436. capo_lambda/types/kms_key_arn_non_empty.py +5 -0
  437. capo_lambda/types/lambda_managed_instances_capacity_provider_config.py +59 -0
  438. capo_lambda/types/last_update_status.py +18 -0
  439. capo_lambda/types/last_update_status_reason.py +5 -0
  440. capo_lambda/types/last_update_status_reason_code.py +49 -0
  441. capo_lambda/types/layer.py +49 -0
  442. capo_lambda/types/layer_arn.py +5 -0
  443. capo_lambda/types/layer_list.py +17 -0
  444. capo_lambda/types/layer_name.py +5 -0
  445. capo_lambda/types/layer_permission_allowed_action.py +5 -0
  446. capo_lambda/types/layer_permission_allowed_principal.py +5 -0
  447. capo_lambda/types/layer_version_arn.py +5 -0
  448. capo_lambda/types/layer_version_content_input.py +55 -0
  449. capo_lambda/types/layer_version_content_output.py +54 -0
  450. capo_lambda/types/layer_version_number.py +5 -0
  451. capo_lambda/types/layer_versions_list.py +29 -0
  452. capo_lambda/types/layer_versions_list_item.py +101 -0
  453. capo_lambda/types/layers_list.py +27 -0
  454. capo_lambda/types/layers_list_item.py +56 -0
  455. capo_lambda/types/layers_reference_list.py +27 -0
  456. capo_lambda/types/license_info.py +5 -0
  457. capo_lambda/types/list_aliases_request.py +35 -0
  458. capo_lambda/types/list_aliases_response.py +39 -0
  459. capo_lambda/types/list_capacity_providers_request.py +32 -0
  460. capo_lambda/types/list_capacity_providers_response.py +52 -0
  461. capo_lambda/types/list_code_signing_configs_request.py +27 -0
  462. capo_lambda/types/list_code_signing_configs_response.py +49 -0
  463. capo_lambda/types/list_durable_executions_by_function_request.py +55 -0
  464. capo_lambda/types/list_durable_executions_by_function_response.py +47 -0
  465. capo_lambda/types/list_event_source_mappings_request.py +35 -0
  466. capo_lambda/types/list_event_source_mappings_response.py +49 -0
  467. capo_lambda/types/list_function_event_invoke_configs_request.py +32 -0
  468. capo_lambda/types/list_function_event_invoke_configs_response.py +49 -0
  469. capo_lambda/types/list_function_url_configs_request.py +30 -0
  470. capo_lambda/types/list_function_url_configs_response.py +54 -0
  471. capo_lambda/types/list_function_versions_by_capacity_provider_request.py +32 -0
  472. capo_lambda/types/list_function_versions_by_capacity_provider_response.py +62 -0
  473. capo_lambda/types/list_functions_by_code_signing_config_request.py +32 -0
  474. capo_lambda/types/list_functions_by_code_signing_config_response.py +43 -0
  475. capo_lambda/types/list_functions_request.py +33 -0
  476. capo_lambda/types/list_functions_response.py +43 -0
  477. capo_lambda/types/list_layer_versions_request.py +36 -0
  478. capo_lambda/types/list_layer_versions_response.py +45 -0
  479. capo_lambda/types/list_layers_request.py +33 -0
  480. capo_lambda/types/list_layers_response.py +39 -0
  481. capo_lambda/types/list_provisioned_concurrency_configs_request.py +32 -0
  482. capo_lambda/types/list_provisioned_concurrency_configs_response.py +49 -0
  483. capo_lambda/types/list_tags_request.py +24 -0
  484. capo_lambda/types/list_tags_response.py +32 -0
  485. capo_lambda/types/list_versions_by_function_request.py +30 -0
  486. capo_lambda/types/list_versions_by_function_response.py +43 -0
  487. capo_lambda/types/local_mount_path.py +5 -0
  488. capo_lambda/types/log_format.py +17 -0
  489. capo_lambda/types/log_group.py +5 -0
  490. capo_lambda/types/log_type.py +17 -0
  491. capo_lambda/types/logging_config.py +79 -0
  492. capo_lambda/types/long.py +5 -0
  493. capo_lambda/types/master_region.py +5 -0
  494. capo_lambda/types/max_age.py +5 -0
  495. capo_lambda/types/max_fifty_list_items.py +5 -0
  496. capo_lambda/types/max_function_event_invoke_config_list_items.py +5 -0
  497. capo_lambda/types/max_items.py +5 -0
  498. capo_lambda/types/max_layer_list_items.py +5 -0
  499. capo_lambda/types/max_list_items.py +5 -0
  500. capo_lambda/types/max_provisioned_concurrency_config_list_items.py +5 -0
  501. capo_lambda/types/maximum_batching_window_in_seconds.py +5 -0
  502. capo_lambda/types/maximum_concurrency.py +5 -0
  503. capo_lambda/types/maximum_event_age_in_seconds.py +5 -0
  504. capo_lambda/types/maximum_number_of_pollers.py +5 -0
  505. capo_lambda/types/maximum_record_age_in_seconds.py +5 -0
  506. capo_lambda/types/maximum_retry_attempts.py +5 -0
  507. capo_lambda/types/maximum_retry_attempts_event_source_mapping.py +5 -0
  508. capo_lambda/types/memory_size.py +5 -0
  509. capo_lambda/types/method.py +5 -0
  510. capo_lambda/types/metric_target_value.py +5 -0
  511. capo_lambda/types/minimum_number_of_pollers.py +5 -0
  512. capo_lambda/types/name_spaced_function_arn.py +5 -0
  513. capo_lambda/types/namespaced_function_name.py +5 -0
  514. capo_lambda/types/namespaced_statement_id.py +5 -0
  515. capo_lambda/types/non_negative_integer.py +5 -0
  516. capo_lambda/types/nullable_boolean.py +5 -0
  517. capo_lambda/types/numeric_latest_published_or_alias_qualifier.py +5 -0
  518. capo_lambda/types/on_failure.py +28 -0
  519. capo_lambda/types/on_success.py +28 -0
  520. capo_lambda/types/operation.py +205 -0
  521. capo_lambda/types/operation_action.py +20 -0
  522. capo_lambda/types/operation_id.py +5 -0
  523. capo_lambda/types/operation_name.py +5 -0
  524. capo_lambda/types/operation_payload.py +5 -0
  525. capo_lambda/types/operation_status.py +23 -0
  526. capo_lambda/types/operation_sub_type.py +5 -0
  527. capo_lambda/types/operation_type.py +21 -0
  528. capo_lambda/types/operation_update.py +174 -0
  529. capo_lambda/types/operation_updates.py +27 -0
  530. capo_lambda/types/operations.py +27 -0
  531. capo_lambda/types/organization_id.py +5 -0
  532. capo_lambda/types/origin.py +5 -0
  533. capo_lambda/types/output_payload.py +5 -0
  534. capo_lambda/types/package_type.py +17 -0
  535. capo_lambda/types/parallelization_factor.py +5 -0
  536. capo_lambda/types/pattern.py +5 -0
  537. capo_lambda/types/per_execution_environment_max_concurrency.py +5 -0
  538. capo_lambda/types/positive_integer.py +5 -0
  539. capo_lambda/types/principal.py +5 -0
  540. capo_lambda/types/principal_org_id.py +5 -0
  541. capo_lambda/types/provisioned_concurrency_config_list.py +37 -0
  542. capo_lambda/types/provisioned_concurrency_config_list_item.py +101 -0
  543. capo_lambda/types/provisioned_concurrency_status_enum.py +18 -0
  544. capo_lambda/types/provisioned_poller_config.py +48 -0
  545. capo_lambda/types/provisioned_poller_group_name.py +5 -0
  546. capo_lambda/types/publish_layer_version_request.py +98 -0
  547. capo_lambda/types/publish_layer_version_response.py +127 -0
  548. capo_lambda/types/publish_version_request.py +65 -0
  549. capo_lambda/types/published_function_qualifier.py +5 -0
  550. capo_lambda/types/put_function_code_signing_config_request.py +38 -0
  551. capo_lambda/types/put_function_code_signing_config_response.py +45 -0
  552. capo_lambda/types/put_function_concurrency_request.py +38 -0
  553. capo_lambda/types/put_function_event_invoke_config_request.py +66 -0
  554. capo_lambda/types/put_function_recursion_config_request.py +44 -0
  555. capo_lambda/types/put_function_recursion_config_response.py +36 -0
  556. capo_lambda/types/put_function_scaling_config_request.py +50 -0
  557. capo_lambda/types/put_function_scaling_config_response.py +36 -0
  558. capo_lambda/types/put_provisioned_concurrency_config_request.py +43 -0
  559. capo_lambda/types/put_provisioned_concurrency_config_response.py +94 -0
  560. capo_lambda/types/put_runtime_management_config_request.py +58 -0
  561. capo_lambda/types/put_runtime_management_config_response.py +60 -0
  562. capo_lambda/types/qualifier.py +5 -0
  563. capo_lambda/types/queue.py +5 -0
  564. capo_lambda/types/queues.py +17 -0
  565. capo_lambda/types/recursive_loop.py +17 -0
  566. capo_lambda/types/remove_layer_version_permission_request.py +33 -0
  567. capo_lambda/types/remove_permission_request.py +35 -0
  568. capo_lambda/types/replay_children.py +5 -0
  569. capo_lambda/types/reserved_concurrent_executions.py +5 -0
  570. capo_lambda/types/resource_arn.py +5 -0
  571. capo_lambda/types/response_streaming_invocation_type.py +17 -0
  572. capo_lambda/types/retention_period_in_days.py +5 -0
  573. capo_lambda/types/retry_details.py +38 -0
  574. capo_lambda/types/reverse_order.py +5 -0
  575. capo_lambda/types/role_arn.py +5 -0
  576. capo_lambda/types/runtime.py +61 -0
  577. capo_lambda/types/runtime_version_arn.py +5 -0
  578. capo_lambda/types/runtime_version_config.py +45 -0
  579. capo_lambda/types/runtime_version_error.py +35 -0
  580. capo_lambda/types/s3_bucket.py +5 -0
  581. capo_lambda/types/s3_key.py +5 -0
  582. capo_lambda/types/s3_object_version.py +5 -0
  583. capo_lambda/types/scaling_config.py +30 -0
  584. capo_lambda/types/schema_registry_event_record_format.py +17 -0
  585. capo_lambda/types/schema_registry_uri.py +5 -0
  586. capo_lambda/types/security_group_id.py +5 -0
  587. capo_lambda/types/security_group_ids.py +19 -0
  588. capo_lambda/types/self_managed_event_source.py +36 -0
  589. capo_lambda/types/self_managed_kafka_event_source_config.py +49 -0
  590. capo_lambda/types/send_durable_execution_callback_failure_request.py +35 -0
  591. capo_lambda/types/send_durable_execution_callback_failure_response.py +18 -0
  592. capo_lambda/types/send_durable_execution_callback_heartbeat_request.py +24 -0
  593. capo_lambda/types/send_durable_execution_callback_heartbeat_response.py +18 -0
  594. capo_lambda/types/send_durable_execution_callback_success_request.py +41 -0
  595. capo_lambda/types/send_durable_execution_callback_success_response.py +18 -0
  596. capo_lambda/types/sensitive_string.py +5 -0
  597. capo_lambda/types/signing_profile_version_arns.py +17 -0
  598. capo_lambda/types/snap_start.py +36 -0
  599. capo_lambda/types/snap_start_apply_on.py +17 -0
  600. capo_lambda/types/snap_start_optimization_status.py +17 -0
  601. capo_lambda/types/snap_start_response.py +57 -0
  602. capo_lambda/types/source_access_configuration.py +41 -0
  603. capo_lambda/types/source_access_configurations.py +29 -0
  604. capo_lambda/types/source_access_type.py +23 -0
  605. capo_lambda/types/source_owner.py +5 -0
  606. capo_lambda/types/stack_trace_entries.py +19 -0
  607. capo_lambda/types/stack_trace_entry.py +5 -0
  608. capo_lambda/types/state.py +23 -0
  609. capo_lambda/types/state_reason.py +5 -0
  610. capo_lambda/types/state_reason_code.py +53 -0
  611. capo_lambda/types/statement_id.py +5 -0
  612. capo_lambda/types/step_details.py +68 -0
  613. capo_lambda/types/step_failed_details.py +51 -0
  614. capo_lambda/types/step_options.py +30 -0
  615. capo_lambda/types/step_started_details.py +18 -0
  616. capo_lambda/types/step_succeeded_details.py +51 -0
  617. capo_lambda/types/stop_durable_execution_request.py +35 -0
  618. capo_lambda/types/stop_durable_execution_response.py +41 -0
  619. capo_lambda/types/string.py +5 -0
  620. capo_lambda/types/string_list.py +17 -0
  621. capo_lambda/types/subnet_id.py +5 -0
  622. capo_lambda/types/subnet_ids.py +17 -0
  623. capo_lambda/types/system_log_level.py +18 -0
  624. capo_lambda/types/tag_key.py +5 -0
  625. capo_lambda/types/tag_key_list.py +17 -0
  626. capo_lambda/types/tag_resource_request.py +38 -0
  627. capo_lambda/types/tag_value.py +5 -0
  628. capo_lambda/types/taggable_resource.py +5 -0
  629. capo_lambda/types/tags.py +26 -0
  630. capo_lambda/types/tags_error.py +39 -0
  631. capo_lambda/types/tags_error_code.py +5 -0
  632. capo_lambda/types/tags_error_message.py +5 -0
  633. capo_lambda/types/target_tracking_scaling_policy.py +53 -0
  634. capo_lambda/types/tenancy_config.py +41 -0
  635. capo_lambda/types/tenant_id.py +5 -0
  636. capo_lambda/types/tenant_isolation_mode.py +14 -0
  637. capo_lambda/types/throttle_reason.py +21 -0
  638. capo_lambda/types/timeout.py +5 -0
  639. capo_lambda/types/timestamp.py +5 -0
  640. capo_lambda/types/topic.py +5 -0
  641. capo_lambda/types/topics.py +17 -0
  642. capo_lambda/types/trace_header.py +28 -0
  643. capo_lambda/types/tracing_config.py +32 -0
  644. capo_lambda/types/tracing_config_response.py +32 -0
  645. capo_lambda/types/tracing_mode.py +17 -0
  646. capo_lambda/types/truncated.py +5 -0
  647. capo_lambda/types/tumbling_window_in_seconds.py +5 -0
  648. capo_lambda/types/unqualified_function_name.py +5 -0
  649. capo_lambda/types/unreserved_concurrent_executions.py +5 -0
  650. capo_lambda/types/untag_resource_request.py +27 -0
  651. capo_lambda/types/update_alias_request.py +71 -0
  652. capo_lambda/types/update_capacity_provider_request.py +47 -0
  653. capo_lambda/types/update_capacity_provider_response.py +41 -0
  654. capo_lambda/types/update_code_signing_config_request.py +73 -0
  655. capo_lambda/types/update_code_signing_config_response.py +43 -0
  656. capo_lambda/types/update_event_source_mapping_request.py +326 -0
  657. capo_lambda/types/update_function_code_request.py +129 -0
  658. capo_lambda/types/update_function_configuration_request.py +278 -0
  659. capo_lambda/types/update_function_event_invoke_config_request.py +66 -0
  660. capo_lambda/types/update_function_url_config_request.py +72 -0
  661. capo_lambda/types/update_function_url_config_response.py +104 -0
  662. capo_lambda/types/update_runtime_on.py +18 -0
  663. capo_lambda/types/uri.py +5 -0
  664. capo_lambda/types/version.py +5 -0
  665. capo_lambda/types/version_with_latest_published.py +5 -0
  666. capo_lambda/types/vpc_config.py +64 -0
  667. capo_lambda/types/vpc_config_response.py +71 -0
  668. capo_lambda/types/vpc_id.py +5 -0
  669. capo_lambda/types/wait_cancelled_details.py +32 -0
  670. capo_lambda/types/wait_details.py +42 -0
  671. capo_lambda/types/wait_options.py +28 -0
  672. capo_lambda/types/wait_started_details.py +51 -0
  673. capo_lambda/types/wait_succeeded_details.py +28 -0
  674. capo_lambda/types/weight.py +5 -0
  675. capo_lambda/types/working_directory.py +5 -0
  676. capo_lambda/types/x_amzn_trace_id.py +5 -0
  677. capo_lambda-0.5.0.dist-info/METADATA +97 -0
  678. capo_lambda-0.5.0.dist-info/RECORD +681 -0
  679. capo_lambda-0.5.0.dist-info/WHEEL +5 -0
  680. capo_lambda-0.5.0.dist-info/licenses/LICENSE +21 -0
  681. capo_lambda-0.5.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,204 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambda#UpdateFunctionConfiguration``."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import json
6
+ from typing import Any
7
+ from urllib.parse import quote
8
+
9
+ import zapros
10
+ from typing_extensions import Never
11
+
12
+ import capo_lambda._auth._signers
13
+ import capo_lambda._auth._sigv4
14
+ import capo_lambda.errors.code_signing_config_not_found_exception
15
+ import capo_lambda.errors.code_verification_failed_exception
16
+ import capo_lambda.errors.invalid_code_signature_exception
17
+ import capo_lambda.errors.invalid_parameter_value_exception
18
+ import capo_lambda.errors.precondition_failed_exception
19
+ import capo_lambda.errors.resource_conflict_exception
20
+ import capo_lambda.errors.resource_not_found_exception
21
+ import capo_lambda.errors.service_exception
22
+ import capo_lambda.errors.too_many_requests_exception
23
+ import capo_lambda.types.architectures_list
24
+ import capo_lambda.types.capacity_provider_config
25
+ import capo_lambda.types.dead_letter_config
26
+ import capo_lambda.types.durable_config
27
+ import capo_lambda.types.environment
28
+ import capo_lambda.types.environment_response
29
+ import capo_lambda.types.ephemeral_storage
30
+ import capo_lambda.types.file_system_config_list
31
+ import capo_lambda.types.function_configuration
32
+ import capo_lambda.types.image_config
33
+ import capo_lambda.types.image_config_response
34
+ import capo_lambda.types.last_update_status
35
+ import capo_lambda.types.last_update_status_reason_code
36
+ import capo_lambda.types.layer_list
37
+ import capo_lambda.types.layers_reference_list
38
+ import capo_lambda.types.logging_config
39
+ import capo_lambda.types.package_type
40
+ import capo_lambda.types.runtime
41
+ import capo_lambda.types.runtime_version_config
42
+ import capo_lambda.types.snap_start
43
+ import capo_lambda.types.snap_start_response
44
+ import capo_lambda.types.state
45
+ import capo_lambda.types.state_reason_code
46
+ import capo_lambda.types.tenancy_config
47
+ import capo_lambda.types.tracing_config
48
+ import capo_lambda.types.tracing_config_response
49
+ import capo_lambda.types.update_function_configuration_request
50
+ import capo_lambda.types.vpc_config
51
+ import capo_lambda.types.vpc_config_response
52
+ from capo_lambda._protocol.errors import parse_error_metadata_json
53
+ from capo_lambda._rule_engine._endpoint_rule_set import EndpointParams, resolve
54
+ from capo_lambda._services._pipeline import AsyncOperationOptions, OperationOptions
55
+ from capo_lambda.errors import UnknownServiceError
56
+
57
+
58
+ def handle_error(response: zapros.Response) -> Never:
59
+ data = json.loads(response.read())
60
+ code, message = parse_error_metadata_json(response, data)
61
+ match code:
62
+ case "CodeSigningConfigNotFoundException":
63
+ raise capo_lambda.errors.code_signing_config_not_found_exception.CodeSigningConfigNotFoundException.from_json(
64
+ data
65
+ )
66
+ case "CodeVerificationFailedException":
67
+ raise capo_lambda.errors.code_verification_failed_exception.CodeVerificationFailedException.from_json(
68
+ data
69
+ )
70
+ case "InvalidCodeSignatureException":
71
+ raise capo_lambda.errors.invalid_code_signature_exception.InvalidCodeSignatureException.from_json(
72
+ data
73
+ )
74
+ case "InvalidParameterValueException":
75
+ raise capo_lambda.errors.invalid_parameter_value_exception.InvalidParameterValueException.from_json(
76
+ data
77
+ )
78
+ case "PreconditionFailedException":
79
+ raise capo_lambda.errors.precondition_failed_exception.PreconditionFailedException.from_json(
80
+ data
81
+ )
82
+ case "ResourceConflictException":
83
+ raise capo_lambda.errors.resource_conflict_exception.ResourceConflictException.from_json(
84
+ data
85
+ )
86
+ case "ResourceNotFoundException":
87
+ raise capo_lambda.errors.resource_not_found_exception.ResourceNotFoundException.from_json(
88
+ data
89
+ )
90
+ case "ServiceException":
91
+ raise capo_lambda.errors.service_exception.ServiceException.from_json(data)
92
+ case "TooManyRequestsException":
93
+ raise capo_lambda.errors.too_many_requests_exception.TooManyRequestsException.from_json(
94
+ data
95
+ )
96
+ case _:
97
+ raise UnknownServiceError(code=code, message=message, response=response)
98
+
99
+
100
+ def handle_response(
101
+ response: zapros.Response,
102
+ ) -> capo_lambda.types.function_configuration.FunctionConfiguration:
103
+ out: capo_lambda.types.function_configuration.FunctionConfiguration = (
104
+ capo_lambda.types.function_configuration.deserialize_json(
105
+ json.loads(response.read())
106
+ )
107
+ )
108
+ return out
109
+
110
+
111
+ async def async_handle_response(
112
+ response: zapros.Response,
113
+ ) -> capo_lambda.types.function_configuration.FunctionConfiguration:
114
+ out: capo_lambda.types.function_configuration.FunctionConfiguration = (
115
+ capo_lambda.types.function_configuration.deserialize_json(
116
+ json.loads(await response.aread())
117
+ )
118
+ )
119
+ return out
120
+
121
+
122
+ def get_signer(
123
+ options: AsyncOperationOptions | OperationOptions,
124
+ auth_schemes: list[dict[str, Any]] | None = None,
125
+ ) -> capo_lambda._auth._signers.Signer | None:
126
+ name_to_schema = {s["name"]: s for s in (auth_schemes or [])} # noqa: F841
127
+ if options.credentials_provider is not None:
128
+ sigv4_config = (
129
+ name_to_schema.get("sigv4")
130
+ or name_to_schema.get("sigv4a")
131
+ or name_to_schema.get("sigv4-s3express")
132
+ or capo_lambda._auth._sigv4.build_sigv4_auth_scheme(
133
+ "lambda", options.region
134
+ )
135
+ )
136
+ if sigv4_config is not None:
137
+ return capo_lambda._auth._signers.SigV4Signer(
138
+ options.credentials_provider, auth_scheme=sigv4_config
139
+ )
140
+ raise RuntimeError("Auth was not resolved")
141
+
142
+
143
+ def build_request(
144
+ options: OperationOptions | AsyncOperationOptions,
145
+ input_: capo_lambda.types.update_function_configuration_request.UpdateFunctionConfigurationRequest,
146
+ ) -> zapros.Request:
147
+ endpoint = resolve(
148
+ EndpointParams(
149
+ Region=options.region,
150
+ UseDualStack=options.use_dual_stack,
151
+ UseFIPS=options.use_fips,
152
+ Endpoint=options.endpoint,
153
+ )
154
+ ) # noqa: F841
155
+ url = (
156
+ endpoint.url.rstrip("/") + "/2015-03-31/functions/{FunctionName}/configuration"
157
+ )
158
+ url = url.replace("{FunctionName}", quote(str(input_["function_name"]), safe=""))
159
+ params: dict[str, str] = {}
160
+ headers: dict[str, str] = {k: ", ".join(v) for k, v in endpoint.headers.items()}
161
+ body: bytes | None = json.dumps(
162
+ capo_lambda.types.update_function_configuration_request.serialize_json(input_)
163
+ ).encode()
164
+ headers["content-type"] = "application/json"
165
+ signer = get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
166
+ normalized_url = zapros.URL(url)
167
+ normalized_url.search_params.update(params)
168
+ return zapros.Request(
169
+ normalized_url, "PUT", headers=headers, body=body, context={"signer": signer}
170
+ )
171
+
172
+
173
+ def update_function_configuration(
174
+ options: OperationOptions,
175
+ input_: capo_lambda.types.update_function_configuration_request.UpdateFunctionConfigurationRequest,
176
+ ) -> tuple[
177
+ capo_lambda.types.function_configuration.FunctionConfiguration, zapros.Response
178
+ ]:
179
+ response = options.client.handler.handle(build_request(options, input_))
180
+ try:
181
+ if response.status >= 400:
182
+ response.read()
183
+ handle_error(response)
184
+ return handle_response(response), response
185
+ except BaseException:
186
+ response.close()
187
+ raise
188
+
189
+
190
+ async def async_update_function_configuration(
191
+ options: AsyncOperationOptions,
192
+ input_: capo_lambda.types.update_function_configuration_request.UpdateFunctionConfigurationRequest,
193
+ ) -> tuple[
194
+ capo_lambda.types.function_configuration.FunctionConfiguration, zapros.Response
195
+ ]:
196
+ response = await options.client.handler.ahandle(build_request(options, input_))
197
+ try:
198
+ if response.status >= 400:
199
+ await response.aread()
200
+ handle_error(response)
201
+ return await async_handle_response(response), response
202
+ except BaseException:
203
+ await response.aclose()
204
+ raise
@@ -0,0 +1,166 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambda#UpdateFunctionEventInvokeConfig``."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import json
6
+ from typing import Any
7
+ from urllib.parse import quote
8
+
9
+ import zapros
10
+ from typing_extensions import Never
11
+
12
+ import capo_lambda._auth._signers
13
+ import capo_lambda._auth._sigv4
14
+ import capo_lambda.errors.invalid_parameter_value_exception
15
+ import capo_lambda.errors.resource_conflict_exception
16
+ import capo_lambda.errors.resource_not_found_exception
17
+ import capo_lambda.errors.service_exception
18
+ import capo_lambda.errors.too_many_requests_exception
19
+ import capo_lambda.types.date
20
+ import capo_lambda.types.destination_config
21
+ import capo_lambda.types.function_event_invoke_config
22
+ import capo_lambda.types.update_function_event_invoke_config_request
23
+ from capo_lambda._protocol.errors import parse_error_metadata_json
24
+ from capo_lambda._rule_engine._endpoint_rule_set import EndpointParams, resolve
25
+ from capo_lambda._services._pipeline import AsyncOperationOptions, OperationOptions
26
+ from capo_lambda.errors import UnknownServiceError
27
+
28
+
29
+ def handle_error(response: zapros.Response) -> Never:
30
+ data = json.loads(response.read())
31
+ code, message = parse_error_metadata_json(response, data)
32
+ match code:
33
+ case "InvalidParameterValueException":
34
+ raise capo_lambda.errors.invalid_parameter_value_exception.InvalidParameterValueException.from_json(
35
+ data
36
+ )
37
+ case "ResourceConflictException":
38
+ raise capo_lambda.errors.resource_conflict_exception.ResourceConflictException.from_json(
39
+ data
40
+ )
41
+ case "ResourceNotFoundException":
42
+ raise capo_lambda.errors.resource_not_found_exception.ResourceNotFoundException.from_json(
43
+ data
44
+ )
45
+ case "ServiceException":
46
+ raise capo_lambda.errors.service_exception.ServiceException.from_json(data)
47
+ case "TooManyRequestsException":
48
+ raise capo_lambda.errors.too_many_requests_exception.TooManyRequestsException.from_json(
49
+ data
50
+ )
51
+ case _:
52
+ raise UnknownServiceError(code=code, message=message, response=response)
53
+
54
+
55
+ def handle_response(
56
+ response: zapros.Response,
57
+ ) -> capo_lambda.types.function_event_invoke_config.FunctionEventInvokeConfig:
58
+ out: capo_lambda.types.function_event_invoke_config.FunctionEventInvokeConfig = (
59
+ capo_lambda.types.function_event_invoke_config.deserialize_json(
60
+ json.loads(response.read())
61
+ )
62
+ )
63
+ return out
64
+
65
+
66
+ async def async_handle_response(
67
+ response: zapros.Response,
68
+ ) -> capo_lambda.types.function_event_invoke_config.FunctionEventInvokeConfig:
69
+ out: capo_lambda.types.function_event_invoke_config.FunctionEventInvokeConfig = (
70
+ capo_lambda.types.function_event_invoke_config.deserialize_json(
71
+ json.loads(await response.aread())
72
+ )
73
+ )
74
+ return out
75
+
76
+
77
+ def get_signer(
78
+ options: AsyncOperationOptions | OperationOptions,
79
+ auth_schemes: list[dict[str, Any]] | None = None,
80
+ ) -> capo_lambda._auth._signers.Signer | None:
81
+ name_to_schema = {s["name"]: s for s in (auth_schemes or [])} # noqa: F841
82
+ if options.credentials_provider is not None:
83
+ sigv4_config = (
84
+ name_to_schema.get("sigv4")
85
+ or name_to_schema.get("sigv4a")
86
+ or name_to_schema.get("sigv4-s3express")
87
+ or capo_lambda._auth._sigv4.build_sigv4_auth_scheme(
88
+ "lambda", options.region
89
+ )
90
+ )
91
+ if sigv4_config is not None:
92
+ return capo_lambda._auth._signers.SigV4Signer(
93
+ options.credentials_provider, auth_scheme=sigv4_config
94
+ )
95
+ raise RuntimeError("Auth was not resolved")
96
+
97
+
98
+ def build_request(
99
+ options: OperationOptions | AsyncOperationOptions,
100
+ input_: capo_lambda.types.update_function_event_invoke_config_request.UpdateFunctionEventInvokeConfigRequest,
101
+ ) -> zapros.Request:
102
+ endpoint = resolve(
103
+ EndpointParams(
104
+ Region=options.region,
105
+ UseDualStack=options.use_dual_stack,
106
+ UseFIPS=options.use_fips,
107
+ Endpoint=options.endpoint,
108
+ )
109
+ ) # noqa: F841
110
+ url = (
111
+ endpoint.url.rstrip("/")
112
+ + "/2019-09-25/functions/{FunctionName}/event-invoke-config"
113
+ )
114
+ url = url.replace("{FunctionName}", quote(str(input_["function_name"]), safe=""))
115
+ params: dict[str, str] = {}
116
+ if "qualifier" in input_:
117
+ params["Qualifier"] = str(input_["qualifier"])
118
+ headers: dict[str, str] = {k: ", ".join(v) for k, v in endpoint.headers.items()}
119
+ body: bytes | None = json.dumps(
120
+ capo_lambda.types.update_function_event_invoke_config_request.serialize_json(
121
+ input_
122
+ )
123
+ ).encode()
124
+ headers["content-type"] = "application/json"
125
+ signer = get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
126
+ normalized_url = zapros.URL(url)
127
+ normalized_url.search_params.update(params)
128
+ return zapros.Request(
129
+ normalized_url, "POST", headers=headers, body=body, context={"signer": signer}
130
+ )
131
+
132
+
133
+ def update_function_event_invoke_config(
134
+ options: OperationOptions,
135
+ input_: capo_lambda.types.update_function_event_invoke_config_request.UpdateFunctionEventInvokeConfigRequest,
136
+ ) -> tuple[
137
+ capo_lambda.types.function_event_invoke_config.FunctionEventInvokeConfig,
138
+ zapros.Response,
139
+ ]:
140
+ response = options.client.handler.handle(build_request(options, input_))
141
+ try:
142
+ if response.status >= 400:
143
+ response.read()
144
+ handle_error(response)
145
+ return handle_response(response), response
146
+ except BaseException:
147
+ response.close()
148
+ raise
149
+
150
+
151
+ async def async_update_function_event_invoke_config(
152
+ options: AsyncOperationOptions,
153
+ input_: capo_lambda.types.update_function_event_invoke_config_request.UpdateFunctionEventInvokeConfigRequest,
154
+ ) -> tuple[
155
+ capo_lambda.types.function_event_invoke_config.FunctionEventInvokeConfig,
156
+ zapros.Response,
157
+ ]:
158
+ response = await options.client.handler.ahandle(build_request(options, input_))
159
+ try:
160
+ if response.status >= 400:
161
+ await response.aread()
162
+ handle_error(response)
163
+ return await async_handle_response(response), response
164
+ except BaseException:
165
+ await response.aclose()
166
+ raise
@@ -0,0 +1,158 @@
1
+ """Generated from Smithy shape ``com.amazonaws.lambda#UpdateFunctionUrlConfig``."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import json
6
+ from typing import Any
7
+ from urllib.parse import quote
8
+
9
+ import zapros
10
+ from typing_extensions import Never
11
+
12
+ import capo_lambda._auth._signers
13
+ import capo_lambda._auth._sigv4
14
+ import capo_lambda.errors.invalid_parameter_value_exception
15
+ import capo_lambda.errors.resource_conflict_exception
16
+ import capo_lambda.errors.resource_not_found_exception
17
+ import capo_lambda.errors.service_exception
18
+ import capo_lambda.errors.too_many_requests_exception
19
+ import capo_lambda.types.cors
20
+ import capo_lambda.types.function_url_auth_type
21
+ import capo_lambda.types.invoke_mode
22
+ import capo_lambda.types.update_function_url_config_request
23
+ import capo_lambda.types.update_function_url_config_response
24
+ from capo_lambda._protocol.errors import parse_error_metadata_json
25
+ from capo_lambda._rule_engine._endpoint_rule_set import EndpointParams, resolve
26
+ from capo_lambda._services._pipeline import AsyncOperationOptions, OperationOptions
27
+ from capo_lambda.errors import UnknownServiceError
28
+
29
+
30
+ def handle_error(response: zapros.Response) -> Never:
31
+ data = json.loads(response.read())
32
+ code, message = parse_error_metadata_json(response, data)
33
+ match code:
34
+ case "InvalidParameterValueException":
35
+ raise capo_lambda.errors.invalid_parameter_value_exception.InvalidParameterValueException.from_json(
36
+ data
37
+ )
38
+ case "ResourceConflictException":
39
+ raise capo_lambda.errors.resource_conflict_exception.ResourceConflictException.from_json(
40
+ data
41
+ )
42
+ case "ResourceNotFoundException":
43
+ raise capo_lambda.errors.resource_not_found_exception.ResourceNotFoundException.from_json(
44
+ data
45
+ )
46
+ case "ServiceException":
47
+ raise capo_lambda.errors.service_exception.ServiceException.from_json(data)
48
+ case "TooManyRequestsException":
49
+ raise capo_lambda.errors.too_many_requests_exception.TooManyRequestsException.from_json(
50
+ data
51
+ )
52
+ case _:
53
+ raise UnknownServiceError(code=code, message=message, response=response)
54
+
55
+
56
+ def handle_response(
57
+ response: zapros.Response,
58
+ ) -> capo_lambda.types.update_function_url_config_response.UpdateFunctionUrlConfigResponse:
59
+ out: capo_lambda.types.update_function_url_config_response.UpdateFunctionUrlConfigResponse = capo_lambda.types.update_function_url_config_response.deserialize_json(
60
+ json.loads(response.read())
61
+ )
62
+ return out
63
+
64
+
65
+ async def async_handle_response(
66
+ response: zapros.Response,
67
+ ) -> capo_lambda.types.update_function_url_config_response.UpdateFunctionUrlConfigResponse:
68
+ out: capo_lambda.types.update_function_url_config_response.UpdateFunctionUrlConfigResponse = capo_lambda.types.update_function_url_config_response.deserialize_json(
69
+ json.loads(await response.aread())
70
+ )
71
+ return out
72
+
73
+
74
+ def get_signer(
75
+ options: AsyncOperationOptions | OperationOptions,
76
+ auth_schemes: list[dict[str, Any]] | None = None,
77
+ ) -> capo_lambda._auth._signers.Signer | None:
78
+ name_to_schema = {s["name"]: s for s in (auth_schemes or [])} # noqa: F841
79
+ if options.credentials_provider is not None:
80
+ sigv4_config = (
81
+ name_to_schema.get("sigv4")
82
+ or name_to_schema.get("sigv4a")
83
+ or name_to_schema.get("sigv4-s3express")
84
+ or capo_lambda._auth._sigv4.build_sigv4_auth_scheme(
85
+ "lambda", options.region
86
+ )
87
+ )
88
+ if sigv4_config is not None:
89
+ return capo_lambda._auth._signers.SigV4Signer(
90
+ options.credentials_provider, auth_scheme=sigv4_config
91
+ )
92
+ raise RuntimeError("Auth was not resolved")
93
+
94
+
95
+ def build_request(
96
+ options: OperationOptions | AsyncOperationOptions,
97
+ input_: capo_lambda.types.update_function_url_config_request.UpdateFunctionUrlConfigRequest,
98
+ ) -> zapros.Request:
99
+ endpoint = resolve(
100
+ EndpointParams(
101
+ Region=options.region,
102
+ UseDualStack=options.use_dual_stack,
103
+ UseFIPS=options.use_fips,
104
+ Endpoint=options.endpoint,
105
+ )
106
+ ) # noqa: F841
107
+ url = endpoint.url.rstrip("/") + "/2021-10-31/functions/{FunctionName}/url"
108
+ url = url.replace("{FunctionName}", quote(str(input_["function_name"]), safe=""))
109
+ params: dict[str, str] = {}
110
+ if "qualifier" in input_:
111
+ params["Qualifier"] = str(input_["qualifier"])
112
+ headers: dict[str, str] = {k: ", ".join(v) for k, v in endpoint.headers.items()}
113
+ body: bytes | None = json.dumps(
114
+ capo_lambda.types.update_function_url_config_request.serialize_json(input_)
115
+ ).encode()
116
+ headers["content-type"] = "application/json"
117
+ signer = get_signer(options, auth_schemes=endpoint.properties.get("authSchemes"))
118
+ normalized_url = zapros.URL(url)
119
+ normalized_url.search_params.update(params)
120
+ return zapros.Request(
121
+ normalized_url, "PUT", headers=headers, body=body, context={"signer": signer}
122
+ )
123
+
124
+
125
+ def update_function_url_config(
126
+ options: OperationOptions,
127
+ input_: capo_lambda.types.update_function_url_config_request.UpdateFunctionUrlConfigRequest,
128
+ ) -> tuple[
129
+ capo_lambda.types.update_function_url_config_response.UpdateFunctionUrlConfigResponse,
130
+ zapros.Response,
131
+ ]:
132
+ response = options.client.handler.handle(build_request(options, input_))
133
+ try:
134
+ if response.status >= 400:
135
+ response.read()
136
+ handle_error(response)
137
+ return handle_response(response), response
138
+ except BaseException:
139
+ response.close()
140
+ raise
141
+
142
+
143
+ async def async_update_function_url_config(
144
+ options: AsyncOperationOptions,
145
+ input_: capo_lambda.types.update_function_url_config_request.UpdateFunctionUrlConfigRequest,
146
+ ) -> tuple[
147
+ capo_lambda.types.update_function_url_config_response.UpdateFunctionUrlConfigResponse,
148
+ zapros.Response,
149
+ ]:
150
+ response = await options.client.handler.ahandle(build_request(options, input_))
151
+ try:
152
+ if response.status >= 400:
153
+ await response.aread()
154
+ handle_error(response)
155
+ return await async_handle_response(response), response
156
+ except BaseException:
157
+ await response.aclose()
158
+ raise
@@ -0,0 +1,21 @@
1
+ """Runtime helpers for generated paginated ``iter_*`` operation methods."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Any
6
+
7
+
8
+ def resolve_path(obj: Any, path: tuple[str, ...]) -> Any:
9
+ """Walk ``path`` segments on a nested ``dict`` (TypedDict at runtime).
10
+
11
+ Returns ``None`` as soon as any intermediate value is missing or non-dict —
12
+ the generated iter loop uses a falsy token as the terminate signal, so this
13
+ short-circuit gives the same semantics for dotted paths as for top-level ones.
14
+ """
15
+ for key in path:
16
+ if not isinstance(obj, dict):
17
+ return None
18
+ obj = obj.get(key)
19
+ if obj is None:
20
+ return None
21
+ return obj
@@ -0,0 +1 @@
1
+ """Protocol runtime modules. Hand-written; not generated."""
@@ -0,0 +1,59 @@
1
+ """Shared service-error runtime.
2
+
3
+ Hand-written, not regenerated. Helpers for extracting error metadata
4
+ from HTTP error responses.
5
+ """
6
+
7
+ from __future__ import annotations
8
+
9
+ from typing import TYPE_CHECKING
10
+
11
+ from zapros import Response
12
+
13
+ if TYPE_CHECKING:
14
+ from xml.etree.ElementTree import Element
15
+
16
+
17
+ def parse_error_metadata(root: Element) -> tuple[str | None, str | None]:
18
+ """Return ``(code, message)`` from a restXml error envelope.
19
+
20
+ Accepts either an ``<Error>`` element directly or an
21
+ ``<ErrorResponse>`` wrapper whose first ``<Error>`` child holds the
22
+ metadata. Missing children yield ``None``.
23
+ """
24
+ err = root if root.tag.endswith("Error") else root.find("Error")
25
+ if err is None:
26
+ return None, None
27
+ code_el = err.find("Code")
28
+ msg_el = err.find("Message")
29
+ code = code_el.text if code_el is not None else None
30
+ message = msg_el.text if msg_el is not None else None
31
+ return code, message
32
+
33
+
34
+ def parse_error_metadata_json(
35
+ response: Response, data: dict
36
+ ) -> tuple[str | None, str | None]:
37
+ """Return ``(code, message)`` from a restJson1 error response.
38
+
39
+ Code precedence: the ``X-Amzn-Errortype`` response header, then the
40
+ ``__type`` body field, then ``code``. The raw value is normalized by
41
+ dropping a ``prefix#`` namespace and a trailing ``:uri`` suffix.
42
+ Message comes from ``message`` or ``Message``. Missing values yield
43
+ ``None``.
44
+ """
45
+ code = (
46
+ response.headers.get("X-Amzn-Errortype")
47
+ or data.get("__type")
48
+ or data.get("code")
49
+ )
50
+ if code is not None:
51
+ code = code.rsplit("#", 1)[-1].split(":", 1)[0]
52
+ message = data.get("message") or data.get("Message")
53
+ return code, message
54
+
55
+
56
+ __all__ = [
57
+ "parse_error_metadata",
58
+ "parse_error_metadata_json",
59
+ ]