aws-lambda-powertools 3.29.0__tar.gz → 3.30.0__tar.gz
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.
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/PKG-INFO +1 -1
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/__init__.py +2 -1
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/appsync.py +2 -2
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/bedrock_agent.py +7 -2
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/graphql_appsync/_registry.py +1 -1
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/graphql_appsync/base.py +3 -9
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/http_resolver.py +12 -124
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/middlewares/openapi_validation.py +5 -5
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/openapi/models.py +169 -169
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/openapi/swagger_ui/oauth2.py +8 -6
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/util.py +2 -2
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/shared/version.py +1 -1
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/batch/base.py +19 -3
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/batch/sqs_fifo_partial_processor.py +9 -2
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/common.py +2 -2
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_masking/provider/base.py +1 -1
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/idempotency/persistence/redis.py +14 -11
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parameters/ssm.py +1 -1
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/pyproject.toml +7 -6
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/setup.py +1 -1
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/LICENSE +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/README.md +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/THIRD-PARTY-LICENSES +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/__init__.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/api_gateway.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/bedrock_agent_function.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/content_types.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/depends.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/events_appsync/__init__.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/events_appsync/_registry.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/events_appsync/appsync_events.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/events_appsync/base.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/events_appsync/exceptions.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/events_appsync/functions.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/events_appsync/router.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/events_appsync/types.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/exception_handling.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/exceptions.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/graphql_appsync/__init__.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/graphql_appsync/exceptions.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/graphql_appsync/router.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/lambda_function_url.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/middlewares/__init__.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/middlewares/async_utils.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/middlewares/base.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/middlewares/schema_validation.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/openapi/__init__.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/openapi/compat.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/openapi/config.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/openapi/constants.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/openapi/dependant.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/openapi/encoders.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/openapi/exceptions.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/openapi/merge.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/openapi/params.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/openapi/pydantic_loader.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/openapi/schema_generator.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/openapi/swagger_ui/__init__.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/openapi/swagger_ui/html.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/openapi/swagger_ui/swagger-ui-bundle.min.js +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/openapi/swagger_ui/swagger-ui.min.css +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/openapi/types.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/request.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/router.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/types.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/event_handler/vpc_lattice.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/exceptions/__init__.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/logging/__init__.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/logging/buffer/__init__.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/logging/buffer/cache.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/logging/buffer/config.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/logging/buffer/functions.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/logging/buffer/handler.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/logging/constants.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/logging/correlation_paths.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/logging/exceptions.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/logging/filters.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/logging/formatter.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/logging/formatters/__init__.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/logging/formatters/datadog.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/logging/lambda_context.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/logging/logger.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/logging/types.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/logging/utils.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/metrics/__init__.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/metrics/base.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/metrics/exceptions.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/metrics/functions.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/metrics/metric.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/metrics/metrics.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/metrics/provider/__init__.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/metrics/provider/base.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/__init__.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/cloudwatch.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/constants.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/exceptions.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/metric_properties.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/types.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/metrics/provider/cold_start.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/metrics/provider/datadog/__init__.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/metrics/provider/datadog/datadog.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/metrics/provider/datadog/metrics.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/metrics/provider/datadog/warnings.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/metrics/types.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/middleware_factory/__init__.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/middleware_factory/exceptions.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/middleware_factory/factory.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/package_logger.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/py.typed +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/shared/__init__.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/shared/cache_dict.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/shared/constants.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/shared/cookies.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/shared/dynamodb_deserializer.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/shared/functions.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/shared/headers_serializer.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/shared/json_encoder.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/shared/lazy_import.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/shared/types.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/shared/user_agent.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/tracing/__init__.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/tracing/base.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/tracing/extensions.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/tracing/tracer.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/__init__.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/batch/__init__.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/batch/decorators.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/batch/exceptions.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/batch/types.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/__init__.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/active_mq_event.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/alb_event.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/api_gateway_authorizer_event.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/api_gateway_proxy_event.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/api_gateway_websocket_event.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/appsync/__init__.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/appsync/scalar_types_utils.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/appsync_authorizer_event.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/appsync_resolver_event.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/appsync_resolver_events_event.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/aws_config_rule_event.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/bedrock_agent_event.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/bedrock_agent_function_event.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/cloud_watch_alarm_event.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/cloud_watch_custom_widget_event.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/cloud_watch_logs_event.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/cloudformation_custom_resource_event.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/code_deploy_lifecycle_hook_event.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/code_pipeline_job_event.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/cognito_user_pool_event.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/connect_contact_flow_event.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/dynamo_db_stream_event.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/event_bridge_event.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/event_source.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/iot_registry_event.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/kafka_event.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/kinesis_firehose_event.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/kinesis_stream_event.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/lambda_function_url_event.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/rabbit_mq_event.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/s3_batch_operation_event.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/s3_event.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/s3_object_event.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/secrets_manager_event.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/ses_event.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/shared_functions.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/sns_event.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/sqs_event.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/transfer_family_event.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_classes/vpc_lattice.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_masking/__init__.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_masking/base.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_masking/constants.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_masking/exceptions.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_masking/provider/__init__.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_masking/provider/kms/__init__.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/data_masking/provider/kms/aws_encryption_sdk.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/feature_flags/__init__.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/feature_flags/appconfig.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/feature_flags/base.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/feature_flags/comparators.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/feature_flags/constants.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/feature_flags/exceptions.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/feature_flags/feature_flags.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/feature_flags/schema.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/feature_flags/types.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/idempotency/__init__.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/idempotency/base.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/idempotency/config.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/idempotency/exceptions.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/idempotency/hook.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/idempotency/idempotency.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/idempotency/persistence/__init__.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/idempotency/persistence/base.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/idempotency/persistence/cache.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/idempotency/persistence/datarecord.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/idempotency/persistence/dynamodb.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/idempotency/serialization/__init__.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/idempotency/serialization/base.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/idempotency/serialization/custom_dict.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/idempotency/serialization/dataclass.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/idempotency/serialization/functions.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/idempotency/serialization/no_op.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/idempotency/serialization/pydantic.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/jmespath_utils/__init__.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/jmespath_utils/envelopes.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/kafka/__init__.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/kafka/consumer_records.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/kafka/deserializer/__init__.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/kafka/deserializer/avro.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/kafka/deserializer/base.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/kafka/deserializer/default.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/kafka/deserializer/deserializer.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/kafka/deserializer/json.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/kafka/deserializer/protobuf.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/kafka/exceptions.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/kafka/kafka_consumer.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/kafka/schema_config.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/kafka/serialization/__init__.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/kafka/serialization/base.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/kafka/serialization/custom_dict.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/kafka/serialization/dataclass.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/kafka/serialization/pydantic.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/kafka/serialization/serialization.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/kafka/serialization/types.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/metadata/__init__.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/metadata/exceptions.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/metadata/lambda_metadata.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parameters/__init__.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parameters/appconfig.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parameters/base.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parameters/constants.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parameters/dynamodb.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parameters/exceptions.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parameters/secrets.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parameters/types.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/__init__.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/envelopes/__init__.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/envelopes/apigw.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/envelopes/apigw_websocket.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/envelopes/apigwv2.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/envelopes/base.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/envelopes/bedrock_agent.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/envelopes/cloudwatch.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/envelopes/dynamodb.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/envelopes/event_bridge.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/envelopes/kafka.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/envelopes/kinesis.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/envelopes/kinesis_firehose.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/envelopes/lambda_function_url.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/envelopes/sns.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/envelopes/sqs.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/envelopes/vpc_lattice.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/envelopes/vpc_latticev2.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/exceptions.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/functions.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/__init__.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/alb.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/apigw.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/apigw_websocket.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/apigwv2.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/appsync.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/appsync_events.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/bedrock_agent.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/cloudformation_custom_resource.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/cloudwatch.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/cognito.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/dynamodb.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/event_bridge.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/iot_registry_events.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/kafka.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/kinesis.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/kinesis_firehose.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/kinesis_firehose_sqs.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/lambda_function_url.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/s3.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/s3_batch_operation.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/s3_event_notification.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/s3_object_event.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/ses.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/sns.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/sqs.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/transfer_family.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/vpc_lattice.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/models/vpc_latticev2.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/parser.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/parser/types.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/serialization.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/streaming/__init__.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/streaming/_s3_seekable_io.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/streaming/compat.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/streaming/constants.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/streaming/s3_object.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/streaming/transformations/__init__.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/streaming/transformations/base.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/streaming/transformations/csv.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/streaming/transformations/gzip.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/streaming/transformations/zip.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/streaming/types.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/typing/__init__.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/typing/lambda_client_context.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/typing/lambda_client_context_mobile_client.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/typing/lambda_cognito_identity.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/typing/lambda_context.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/validation/__init__.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/validation/base.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/validation/envelopes.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/validation/exceptions.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/utilities/validation/validator.py +0 -0
- {aws_lambda_powertools-3.29.0 → aws_lambda_powertools-3.30.0}/aws_lambda_powertools/warnings/__init__.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: aws_lambda_powertools
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.30.0
|
|
4
4
|
Summary: Powertools for AWS Lambda (Python) is a developer toolkit to implement Serverless best practices and increase developer velocity.
|
|
5
5
|
License: MIT
|
|
6
6
|
Keywords: aws_lambda_powertools,aws,tracing,logging,lambda,powertools,feature_flags,idempotency,middleware
|
|
@@ -18,7 +18,7 @@ from aws_lambda_powertools.event_handler.bedrock_agent_function import (
|
|
|
18
18
|
)
|
|
19
19
|
from aws_lambda_powertools.event_handler.depends import DependencyResolutionError, Depends
|
|
20
20
|
from aws_lambda_powertools.event_handler.events_appsync.appsync_events import AppSyncEventsResolver
|
|
21
|
-
from aws_lambda_powertools.event_handler.http_resolver import HttpResolverLocal
|
|
21
|
+
from aws_lambda_powertools.event_handler.http_resolver import HttpResolver, HttpResolverLocal
|
|
22
22
|
from aws_lambda_powertools.event_handler.lambda_function_url import (
|
|
23
23
|
LambdaFunctionUrlResolver,
|
|
24
24
|
)
|
|
@@ -39,6 +39,7 @@ __all__ = [
|
|
|
39
39
|
"CORSConfig",
|
|
40
40
|
"Depends",
|
|
41
41
|
"DependencyResolutionError",
|
|
42
|
+
"HttpResolver",
|
|
42
43
|
"HttpResolverLocal",
|
|
43
44
|
"LambdaFunctionUrlResolver",
|
|
44
45
|
"Request",
|
|
@@ -392,7 +392,7 @@ class AppSyncResolver(Router):
|
|
|
392
392
|
----------
|
|
393
393
|
type_name : str, optional
|
|
394
394
|
GraphQL type e.g., Query, Mutation, by default "*" meaning any
|
|
395
|
-
field_name :
|
|
395
|
+
field_name : str | None, optional
|
|
396
396
|
GraphQL field e.g., getTodo, createTodo, by default None
|
|
397
397
|
|
|
398
398
|
Returns
|
|
@@ -447,7 +447,7 @@ class AppSyncResolver(Router):
|
|
|
447
447
|
----------
|
|
448
448
|
type_name : str, optional
|
|
449
449
|
GraphQL type e.g., Query, Mutation, by default "*" meaning any
|
|
450
|
-
field_name :
|
|
450
|
+
field_name : str | None, optional
|
|
451
451
|
GraphQL field e.g., getTodo, createTodo, by default None
|
|
452
452
|
raise_on_error : bool, optional
|
|
453
453
|
Whether to fail entire batch upon error, or handle errors gracefully (None), by default False
|
|
@@ -99,12 +99,17 @@ class BedrockAgentResolver(ApiGatewayResolver):
|
|
|
99
99
|
|
|
100
100
|
current_event: BedrockAgentEvent
|
|
101
101
|
|
|
102
|
-
def __init__(
|
|
102
|
+
def __init__(
|
|
103
|
+
self,
|
|
104
|
+
debug: bool = False,
|
|
105
|
+
enable_validation: bool = True,
|
|
106
|
+
serializer: Callable[[dict], str] | None = None,
|
|
107
|
+
):
|
|
103
108
|
super().__init__(
|
|
104
109
|
proxy_type=ProxyEventType.BedrockAgentEvent,
|
|
105
110
|
cors=None,
|
|
106
111
|
debug=debug,
|
|
107
|
-
serializer=
|
|
112
|
+
serializer=serializer,
|
|
108
113
|
strip_prefixes=None,
|
|
109
114
|
enable_validation=enable_validation,
|
|
110
115
|
json_body_deserializer=None,
|
|
@@ -25,8 +25,6 @@ class BaseRouter(ABC):
|
|
|
25
25
|
Examples
|
|
26
26
|
--------
|
|
27
27
|
```python
|
|
28
|
-
from typing import Optional
|
|
29
|
-
|
|
30
28
|
from aws_lambda_powertools.event_handler import AppSyncResolver
|
|
31
29
|
from aws_lambda_powertools.utilities.data_classes import AppSyncResolverEvent
|
|
32
30
|
from aws_lambda_powertools.utilities.typing import LambdaContext
|
|
@@ -34,7 +32,7 @@ class BaseRouter(ABC):
|
|
|
34
32
|
app = AppSyncResolver()
|
|
35
33
|
|
|
36
34
|
@app.resolver(type_name="Query", field_name="getPost")
|
|
37
|
-
def related_posts(event: AppSyncResolverEvent) ->
|
|
35
|
+
def related_posts(event: AppSyncResolverEvent) -> list | None:
|
|
38
36
|
return {"success": "ok"}
|
|
39
37
|
|
|
40
38
|
def lambda_handler(event, context: LambdaContext) -> dict:
|
|
@@ -76,8 +74,6 @@ class BaseRouter(ABC):
|
|
|
76
74
|
Examples
|
|
77
75
|
--------
|
|
78
76
|
```python
|
|
79
|
-
from typing import Optional
|
|
80
|
-
|
|
81
77
|
from aws_lambda_powertools.event_handler import AppSyncResolver
|
|
82
78
|
from aws_lambda_powertools.utilities.data_classes import AppSyncResolverEvent
|
|
83
79
|
from aws_lambda_powertools.utilities.typing import LambdaContext
|
|
@@ -85,7 +81,7 @@ class BaseRouter(ABC):
|
|
|
85
81
|
app = AppSyncResolver()
|
|
86
82
|
|
|
87
83
|
@app.batch_resolver(type_name="Query", field_name="getPost")
|
|
88
|
-
def related_posts(event: AppSyncResolverEvent, id) ->
|
|
84
|
+
def related_posts(event: AppSyncResolverEvent, id) -> list | None:
|
|
89
85
|
return {"post_id": id}
|
|
90
86
|
|
|
91
87
|
def lambda_handler(event, context: LambdaContext) -> dict:
|
|
@@ -127,8 +123,6 @@ class BaseRouter(ABC):
|
|
|
127
123
|
Examples
|
|
128
124
|
--------
|
|
129
125
|
```python
|
|
130
|
-
from typing import Optional
|
|
131
|
-
|
|
132
126
|
from aws_lambda_powertools.event_handler import AppSyncResolver
|
|
133
127
|
from aws_lambda_powertools.utilities.data_classes import AppSyncResolverEvent
|
|
134
128
|
from aws_lambda_powertools.utilities.typing import LambdaContext
|
|
@@ -136,7 +130,7 @@ class BaseRouter(ABC):
|
|
|
136
130
|
app = AppSyncResolver()
|
|
137
131
|
|
|
138
132
|
@app.async_batch_resolver(type_name="Query", field_name="getPost")
|
|
139
|
-
async def related_posts(event: AppSyncResolverEvent, id) ->
|
|
133
|
+
async def related_posts(event: AppSyncResolverEvent, id) -> list | None:
|
|
140
134
|
return {"post_id": id}
|
|
141
135
|
|
|
142
136
|
def lambda_handler(event, context: LambdaContext) -> dict:
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
3
|
import base64
|
|
4
|
-
import inspect
|
|
5
|
-
import warnings
|
|
6
4
|
from typing import TYPE_CHECKING, Any, Callable
|
|
7
5
|
from urllib.parse import parse_qs
|
|
8
6
|
|
|
@@ -10,10 +8,7 @@ from aws_lambda_powertools.event_handler.api_gateway import (
|
|
|
10
8
|
ApiGatewayResolver,
|
|
11
9
|
BaseRouter,
|
|
12
10
|
ProxyEventType,
|
|
13
|
-
Response,
|
|
14
|
-
Route,
|
|
15
11
|
)
|
|
16
|
-
from aws_lambda_powertools.event_handler.middlewares.async_utils import wrap_middleware_async
|
|
17
12
|
from aws_lambda_powertools.shared.headers_serializer import BaseHeadersSerializer
|
|
18
13
|
from aws_lambda_powertools.utilities.data_classes.common import BaseProxyEvent
|
|
19
14
|
|
|
@@ -166,21 +161,16 @@ class MockLambdaContext:
|
|
|
166
161
|
|
|
167
162
|
class HttpResolverLocal(ApiGatewayResolver):
|
|
168
163
|
"""
|
|
169
|
-
ASGI-compatible HTTP resolver
|
|
164
|
+
ASGI-compatible HTTP resolver.
|
|
170
165
|
|
|
171
|
-
|
|
172
|
-
It allows you to run your Powertools application locally with any ASGI server
|
|
166
|
+
It allows you to run your Powertools application with any ASGI server
|
|
173
167
|
(uvicorn, hypercorn, daphne, etc.) while maintaining full compatibility with Lambda.
|
|
174
168
|
|
|
175
169
|
The same code works in both environments - locally via ASGI and in Lambda via the handler.
|
|
170
|
+
If your Lambda is behind Lambda Web Adapter or any other HTTP proxy, it works seamlessly.
|
|
176
171
|
|
|
177
172
|
Supports both sync and async route handlers.
|
|
178
173
|
|
|
179
|
-
WARNING
|
|
180
|
-
-------
|
|
181
|
-
This is intended for local development and testing only.
|
|
182
|
-
The API may change in future releases. Do not use in production environments.
|
|
183
|
-
|
|
184
174
|
Example
|
|
185
175
|
-------
|
|
186
176
|
```python
|
|
@@ -214,11 +204,6 @@ class HttpResolverLocal(ApiGatewayResolver):
|
|
|
214
204
|
strip_prefixes: list[str | Any] | None = None,
|
|
215
205
|
enable_validation: bool = False,
|
|
216
206
|
):
|
|
217
|
-
warnings.warn(
|
|
218
|
-
"HttpResolverLocal is intended for local development and testing only. "
|
|
219
|
-
"The API may change in future releases. Do not use in production environments.",
|
|
220
|
-
stacklevel=2,
|
|
221
|
-
)
|
|
222
207
|
super().__init__(
|
|
223
208
|
proxy_type=ProxyEventType.APIGatewayProxyEvent, # Use REST API format internally
|
|
224
209
|
cors=cors,
|
|
@@ -240,113 +225,13 @@ class HttpResolverLocal(ApiGatewayResolver):
|
|
|
240
225
|
return ""
|
|
241
226
|
|
|
242
227
|
async def _resolve_async(self) -> dict: # type: ignore[override]
|
|
243
|
-
"""
|
|
244
|
-
method = self.current_event.http_method.upper()
|
|
245
|
-
path = self._remove_prefix(self.current_event.path)
|
|
246
|
-
|
|
247
|
-
registered_routes = self._static_routes + self._dynamic_routes
|
|
248
|
-
|
|
249
|
-
for route in registered_routes:
|
|
250
|
-
if method != route.method:
|
|
251
|
-
continue
|
|
252
|
-
match_results = route.rule.match(path)
|
|
253
|
-
if match_results:
|
|
254
|
-
self.append_context(_route=route, _path=path)
|
|
255
|
-
route_keys = self._convert_matches_into_route_keys(match_results)
|
|
256
|
-
return await self._call_route_async(route, route_keys)
|
|
257
|
-
|
|
258
|
-
# Handle not found
|
|
259
|
-
return await self._handle_not_found_async()
|
|
260
|
-
|
|
261
|
-
async def _call_route_async(self, route: Route, route_arguments: dict[str, str]) -> dict: # type: ignore[override]
|
|
262
|
-
"""Call route handler, supporting both sync and async handlers."""
|
|
263
|
-
from aws_lambda_powertools.event_handler.api_gateway import ResponseBuilder
|
|
264
|
-
|
|
265
|
-
try:
|
|
266
|
-
self._reset_processed_stack()
|
|
267
|
-
|
|
268
|
-
# Get the route args (may be modified by validation middleware)
|
|
269
|
-
self.append_context(_route_args=route_arguments)
|
|
270
|
-
|
|
271
|
-
# Run middleware chain (sync for now, handlers can be async)
|
|
272
|
-
response = await self._run_middleware_chain_async(route)
|
|
273
|
-
|
|
274
|
-
response_builder: ResponseBuilder = ResponseBuilder(
|
|
275
|
-
response=response,
|
|
276
|
-
serializer=self._serializer,
|
|
277
|
-
route=route,
|
|
278
|
-
)
|
|
279
|
-
|
|
280
|
-
return response_builder.build(self.current_event, self._cors)
|
|
281
|
-
|
|
282
|
-
except Exception as exc:
|
|
283
|
-
exc_response_builder = self._call_exception_handler(exc, route)
|
|
284
|
-
if exc_response_builder:
|
|
285
|
-
return exc_response_builder.build(self.current_event, self._cors)
|
|
286
|
-
raise
|
|
287
|
-
|
|
288
|
-
async def _run_middleware_chain_async(self, route: Route) -> Response:
|
|
289
|
-
"""Run the middleware chain, awaiting async handlers."""
|
|
290
|
-
# Build middleware list
|
|
291
|
-
all_middlewares: list[Callable[..., Any]] = []
|
|
292
|
-
|
|
293
|
-
# Determine if validation should be enabled for this route
|
|
294
|
-
# If route has explicit enable_validation setting, use it; otherwise, use resolver's global setting
|
|
295
|
-
route_validation_enabled = (
|
|
296
|
-
route.enable_validation if route.enable_validation is not None else self._enable_validation
|
|
297
|
-
)
|
|
298
|
-
|
|
299
|
-
if route_validation_enabled and hasattr(self, "_request_validation_middleware"):
|
|
300
|
-
all_middlewares.append(self._request_validation_middleware)
|
|
301
|
-
|
|
302
|
-
all_middlewares.extend(self._router_middlewares + route.middlewares)
|
|
303
|
-
|
|
304
|
-
if route_validation_enabled and hasattr(self, "_response_validation_middleware"):
|
|
305
|
-
all_middlewares.append(self._response_validation_middleware)
|
|
306
|
-
|
|
307
|
-
# Create the final handler that calls the route function
|
|
308
|
-
async def final_handler(app):
|
|
309
|
-
route_args = app.context.get("_route_args", {})
|
|
310
|
-
result = route.func(**route_args)
|
|
311
|
-
|
|
312
|
-
# Await if coroutine
|
|
313
|
-
if inspect.iscoroutine(result):
|
|
314
|
-
result = await result
|
|
315
|
-
|
|
316
|
-
return self._to_response(result)
|
|
317
|
-
|
|
318
|
-
# Build middleware chain from end to start
|
|
319
|
-
next_handler = final_handler
|
|
320
|
-
|
|
321
|
-
for middleware in reversed(all_middlewares):
|
|
322
|
-
next_handler = wrap_middleware_async(middleware, next_handler)
|
|
323
|
-
|
|
324
|
-
return await next_handler(self)
|
|
325
|
-
|
|
326
|
-
async def _handle_not_found_async(self, method: str = "", path: str = "") -> dict: # type: ignore[override]
|
|
327
|
-
"""Handle 404 responses, using custom not_found handler if registered."""
|
|
328
|
-
from http import HTTPStatus
|
|
329
|
-
|
|
330
|
-
from aws_lambda_powertools.event_handler.api_gateway import ResponseBuilder
|
|
331
|
-
from aws_lambda_powertools.event_handler.exceptions import NotFoundError
|
|
332
|
-
|
|
333
|
-
# Check for custom not_found handler
|
|
334
|
-
custom_not_found_handler = self.exception_handler_manager.lookup_exception_handler(NotFoundError)
|
|
335
|
-
if custom_not_found_handler:
|
|
336
|
-
response = custom_not_found_handler(NotFoundError())
|
|
337
|
-
else:
|
|
338
|
-
response = Response(
|
|
339
|
-
status_code=HTTPStatus.NOT_FOUND.value,
|
|
340
|
-
content_type="application/json",
|
|
341
|
-
body={"statusCode": HTTPStatus.NOT_FOUND.value, "message": "Not found"},
|
|
342
|
-
)
|
|
343
|
-
|
|
344
|
-
response_builder: ResponseBuilder = ResponseBuilder(
|
|
345
|
-
response=response,
|
|
346
|
-
serializer=self._serializer,
|
|
347
|
-
route=None,
|
|
348
|
-
)
|
|
228
|
+
"""Thin async resolver: delegates entirely to the parent and serializes to dict.
|
|
349
229
|
|
|
230
|
+
The parent's _resolve_async handles route matching, CORS preflight, not-found
|
|
231
|
+
logic, and exception handling. The only adaptation needed here is converting
|
|
232
|
+
the returned ResponseBuilder into the dict format that asgi_handler expects.
|
|
233
|
+
"""
|
|
234
|
+
response_builder = await super()._resolve_async()
|
|
350
235
|
return response_builder.build(self.current_event, self._cors)
|
|
351
236
|
|
|
352
237
|
async def asgi_handler(self, scope: dict, receive: Callable, send: Callable) -> None:
|
|
@@ -455,3 +340,6 @@ class HttpResolverLocal(ApiGatewayResolver):
|
|
|
455
340
|
"body": body_bytes,
|
|
456
341
|
},
|
|
457
342
|
)
|
|
343
|
+
|
|
344
|
+
|
|
345
|
+
HttpResolver = HttpResolverLocal
|
|
@@ -505,11 +505,11 @@ def _is_or_contains_sequence(annotation: Any) -> bool:
|
|
|
505
505
|
|
|
506
506
|
This function handles complex type annotations like:
|
|
507
507
|
- List[Model] - direct sequence
|
|
508
|
-
- Union[Model,
|
|
509
|
-
-
|
|
510
|
-
- RootModel[
|
|
511
|
-
-
|
|
512
|
-
- RootModel[Union[Model,
|
|
508
|
+
- Union[Model, list[Model]] - checks if any Union member is a sequence
|
|
509
|
+
- list[Model] | None - Union[list[Model], None]
|
|
510
|
+
- RootModel[list[Model]] - checks if the RootModel wraps a sequence
|
|
511
|
+
- RootModel[list[Model]] | None - Union member that is a RootModel
|
|
512
|
+
- RootModel[Union[Model, list[Model]]] - RootModel wrapping a Union with a sequence
|
|
513
513
|
"""
|
|
514
514
|
# Direct sequence check
|
|
515
515
|
if field_annotation_is_sequence(annotation):
|