aws-lambda-powertools 3.0.0.dev9__tar.gz → 3.0.0.dev11__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.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/PKG-INFO +1 -1
- aws_lambda_powertools-3.0.0.dev11/aws_lambda_powertools/event_handler/openapi/constants.py +2 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/event_handler/openapi/models.py +4 -5
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/event_handler/openapi/swagger_ui/oauth2.py +1 -1
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/event_handler/openapi/types.py +2 -3
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/shared/version.py +1 -1
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_classes/api_gateway_authorizer_event.py +101 -1
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_classes/appsync_resolver_event.py +57 -1
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_classes/common.py +114 -1
- aws_lambda_powertools-3.0.0.dev11/aws_lambda_powertools/utilities/data_classes/shared_functions.py +159 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_classes/vpc_lattice.py +1 -3
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/idempotency/persistence/datarecord.py +21 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/pyproject.toml +1 -1
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/setup.py +1 -1
- aws_lambda_powertools-3.0.0.dev9/aws_lambda_powertools/event_handler/openapi/constants.py +0 -6
- aws_lambda_powertools-3.0.0.dev9/aws_lambda_powertools/utilities/data_classes/shared_functions.py +0 -18
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/LICENSE +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/README.md +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/THIRD-PARTY-LICENSES +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/__init__.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/event_handler/__init__.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/event_handler/api_gateway.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/event_handler/appsync.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/event_handler/bedrock_agent.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/event_handler/content_types.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/event_handler/exceptions.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/event_handler/lambda_function_url.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/event_handler/middlewares/__init__.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/event_handler/middlewares/base.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/event_handler/middlewares/openapi_validation.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/event_handler/middlewares/schema_validation.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/event_handler/openapi/__init__.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/event_handler/openapi/compat.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/event_handler/openapi/dependant.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/event_handler/openapi/encoders.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/event_handler/openapi/exceptions.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/event_handler/openapi/params.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/event_handler/openapi/pydantic_loader.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/event_handler/openapi/swagger_ui/__init__.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/event_handler/openapi/swagger_ui/html.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/event_handler/openapi/swagger_ui/swagger-ui-bundle.min.js +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/event_handler/openapi/swagger_ui/swagger-ui.min.css +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/event_handler/router.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/event_handler/types.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/event_handler/util.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/event_handler/vpc_lattice.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/exceptions/__init__.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/logging/__init__.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/logging/constants.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/logging/correlation_paths.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/logging/exceptions.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/logging/filters.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/logging/formatter.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/logging/formatters/__init__.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/logging/formatters/datadog.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/logging/lambda_context.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/logging/logger.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/logging/types.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/logging/utils.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/metrics/__init__.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/metrics/base.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/metrics/exceptions.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/metrics/functions.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/metrics/metric.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/metrics/metrics.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/metrics/provider/__init__.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/metrics/provider/base.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/__init__.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/cloudwatch.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/constants.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/exceptions.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/metric_properties.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/types.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/metrics/provider/cold_start.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/metrics/provider/datadog/__init__.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/metrics/provider/datadog/datadog.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/metrics/provider/datadog/metrics.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/metrics/provider/datadog/warnings.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/metrics/types.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/middleware_factory/__init__.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/middleware_factory/exceptions.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/middleware_factory/factory.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/package_logger.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/py.typed +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/shared/__init__.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/shared/cache_dict.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/shared/constants.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/shared/cookies.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/shared/dynamodb_deserializer.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/shared/functions.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/shared/headers_serializer.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/shared/json_encoder.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/shared/lazy_import.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/shared/types.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/shared/user_agent.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/tracing/__init__.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/tracing/base.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/tracing/extensions.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/tracing/tracer.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/__init__.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/batch/__init__.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/batch/base.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/batch/decorators.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/batch/exceptions.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/batch/sqs_fifo_partial_processor.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/batch/types.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_classes/__init__.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_classes/active_mq_event.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_classes/alb_event.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_classes/api_gateway_proxy_event.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_classes/appsync/__init__.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_classes/appsync/scalar_types_utils.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_classes/appsync_authorizer_event.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_classes/aws_config_rule_event.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_classes/bedrock_agent_event.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_classes/cloud_watch_alarm_event.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_classes/cloud_watch_custom_widget_event.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_classes/cloud_watch_logs_event.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_classes/cloudformation_custom_resource_event.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_classes/code_pipeline_job_event.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_classes/cognito_user_pool_event.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_classes/connect_contact_flow_event.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_classes/dynamo_db_stream_event.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_classes/event_bridge_event.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_classes/event_source.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_classes/kafka_event.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_classes/kinesis_firehose_event.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_classes/kinesis_stream_event.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_classes/lambda_function_url_event.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_classes/rabbit_mq_event.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_classes/s3_batch_operation_event.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_classes/s3_event.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_classes/s3_object_event.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_classes/secrets_manager_event.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_classes/ses_event.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_classes/sns_event.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_classes/sqs_event.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_masking/__init__.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_masking/base.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_masking/constants.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_masking/exceptions.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_masking/provider/__init__.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_masking/provider/base.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_masking/provider/kms/__init__.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/data_masking/provider/kms/aws_encryption_sdk.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/feature_flags/__init__.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/feature_flags/appconfig.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/feature_flags/base.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/feature_flags/comparators.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/feature_flags/constants.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/feature_flags/exceptions.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/feature_flags/feature_flags.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/feature_flags/schema.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/feature_flags/types.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/idempotency/__init__.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/idempotency/base.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/idempotency/config.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/idempotency/exceptions.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/idempotency/hook.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/idempotency/idempotency.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/idempotency/persistence/__init__.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/idempotency/persistence/base.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/idempotency/persistence/dynamodb.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/idempotency/persistence/redis.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/idempotency/serialization/__init__.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/idempotency/serialization/base.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/idempotency/serialization/custom_dict.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/idempotency/serialization/dataclass.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/idempotency/serialization/no_op.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/idempotency/serialization/pydantic.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/jmespath_utils/__init__.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/jmespath_utils/envelopes.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parameters/__init__.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parameters/appconfig.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parameters/base.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parameters/constants.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parameters/dynamodb.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parameters/exceptions.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parameters/secrets.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parameters/ssm.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parameters/types.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/__init__.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/envelopes/__init__.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/envelopes/apigw.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/envelopes/apigwv2.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/envelopes/base.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/envelopes/bedrock_agent.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/envelopes/cloudwatch.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/envelopes/dynamodb.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/envelopes/event_bridge.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/envelopes/kafka.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/envelopes/kinesis.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/envelopes/kinesis_firehose.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/envelopes/lambda_function_url.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/envelopes/sns.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/envelopes/sqs.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/envelopes/vpc_lattice.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/envelopes/vpc_latticev2.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/exceptions.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/functions.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/models/__init__.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/models/alb.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/models/apigw.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/models/apigwv2.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/models/bedrock_agent.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/models/cloudformation_custom_resource.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/models/cloudwatch.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/models/dynamodb.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/models/event_bridge.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/models/kafka.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/models/kinesis.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/models/kinesis_firehose.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/models/kinesis_firehose_sqs.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/models/lambda_function_url.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/models/s3.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/models/s3_batch_operation.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/models/s3_event_notification.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/models/s3_object_event.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/models/ses.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/models/sns.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/models/sqs.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/models/vpc_lattice.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/models/vpc_latticev2.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/parser.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/parser/types.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/serialization.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/streaming/__init__.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/streaming/_s3_seekable_io.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/streaming/compat.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/streaming/constants.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/streaming/s3_object.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/streaming/transformations/__init__.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/streaming/transformations/base.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/streaming/transformations/csv.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/streaming/transformations/gzip.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/streaming/transformations/zip.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/streaming/types.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/typing/__init__.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/typing/lambda_client_context.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/typing/lambda_client_context_mobile_client.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/typing/lambda_cognito_identity.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/typing/lambda_context.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/validation/__init__.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/validation/base.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/validation/envelopes.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/validation/exceptions.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/utilities/validation/validator.py +0 -0
- {aws_lambda_powertools-3.0.0.dev9 → aws_lambda_powertools-3.0.0.dev11}/aws_lambda_powertools/warnings/__init__.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: aws-lambda-powertools
|
|
3
|
-
Version: 3.0.0.
|
|
3
|
+
Version: 3.0.0.dev11
|
|
4
4
|
Summary: Powertools for AWS Lambda (Python) is a developer toolkit to implement Serverless best practices and increase developer velocity.
|
|
5
5
|
Home-page: https://github.com/aws-powertools/powertools-lambda-python
|
|
6
6
|
License: MIT
|
|
@@ -2,14 +2,13 @@
|
|
|
2
2
|
from enum import Enum
|
|
3
3
|
from typing import Any, Dict, List, Literal, Optional, Set, Union
|
|
4
4
|
|
|
5
|
-
from pydantic import AnyUrl, BaseModel, Field
|
|
5
|
+
from pydantic import AnyUrl, BaseModel, ConfigDict, Field
|
|
6
6
|
from typing_extensions import Annotated
|
|
7
7
|
|
|
8
8
|
from aws_lambda_powertools.event_handler.openapi.compat import model_rebuild
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
)
|
|
9
|
+
|
|
10
|
+
MODEL_CONFIG_ALLOW = ConfigDict(extra="allow")
|
|
11
|
+
MODEL_CONFIG_IGNORE = ConfigDict(extra="ignore")
|
|
13
12
|
|
|
14
13
|
"""
|
|
15
14
|
The code defines Pydantic models for the various OpenAPI objects like OpenAPI, PathItem, Operation, Parameter etc.
|
|
@@ -4,7 +4,7 @@ from typing import Dict, Optional, Sequence
|
|
|
4
4
|
|
|
5
5
|
from pydantic import BaseModel, Field, field_validator
|
|
6
6
|
|
|
7
|
-
from aws_lambda_powertools.event_handler.openapi.
|
|
7
|
+
from aws_lambda_powertools.event_handler.openapi.models import (
|
|
8
8
|
MODEL_CONFIG_ALLOW,
|
|
9
9
|
)
|
|
10
10
|
from aws_lambda_powertools.shared.functions import powertools_dev_is_set
|
|
@@ -4,14 +4,13 @@ import types
|
|
|
4
4
|
from enum import Enum
|
|
5
5
|
from typing import TYPE_CHECKING, Any, Callable, Dict, Set, Type, TypedDict, Union
|
|
6
6
|
|
|
7
|
-
from pydantic import BaseModel
|
|
8
|
-
|
|
9
7
|
if TYPE_CHECKING:
|
|
8
|
+
from pydantic import BaseModel # noqa: F401
|
|
10
9
|
from typing_extensions import NotRequired
|
|
11
10
|
|
|
12
11
|
CacheKey = Union[Callable[..., Any], None]
|
|
13
12
|
IncEx = Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any]]
|
|
14
|
-
TypeModelOrEnum = Union[Type[BaseModel], Type[Enum]]
|
|
13
|
+
TypeModelOrEnum = Union[Type["BaseModel"], Type[Enum]]
|
|
15
14
|
ModelNameMap = Dict[TypeModelOrEnum, str]
|
|
16
15
|
UnionType = getattr(types, "UnionType", Union)
|
|
17
16
|
|
|
@@ -2,7 +2,10 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
import enum
|
|
4
4
|
import re
|
|
5
|
-
|
|
5
|
+
import warnings
|
|
6
|
+
from typing import Any, overload
|
|
7
|
+
|
|
8
|
+
from typing_extensions import deprecated
|
|
6
9
|
|
|
7
10
|
from aws_lambda_powertools.utilities.data_classes.common import (
|
|
8
11
|
BaseRequestContext,
|
|
@@ -10,6 +13,10 @@ from aws_lambda_powertools.utilities.data_classes.common import (
|
|
|
10
13
|
CaseInsensitiveDict,
|
|
11
14
|
DictWrapper,
|
|
12
15
|
)
|
|
16
|
+
from aws_lambda_powertools.utilities.data_classes.shared_functions import (
|
|
17
|
+
get_header_value,
|
|
18
|
+
)
|
|
19
|
+
from aws_lambda_powertools.warnings import PowertoolsDeprecationWarning
|
|
13
20
|
|
|
14
21
|
|
|
15
22
|
class APIGatewayRouteArn:
|
|
@@ -162,6 +169,55 @@ class APIGatewayAuthorizerRequestEvent(DictWrapper):
|
|
|
162
169
|
def request_context(self) -> BaseRequestContext:
|
|
163
170
|
return BaseRequestContext(self._data)
|
|
164
171
|
|
|
172
|
+
@overload
|
|
173
|
+
def get_header_value(
|
|
174
|
+
self,
|
|
175
|
+
name: str,
|
|
176
|
+
default_value: str,
|
|
177
|
+
case_sensitive: bool = False,
|
|
178
|
+
) -> str: ...
|
|
179
|
+
|
|
180
|
+
@overload
|
|
181
|
+
def get_header_value(
|
|
182
|
+
self,
|
|
183
|
+
name: str,
|
|
184
|
+
default_value: str | None = None,
|
|
185
|
+
case_sensitive: bool = False,
|
|
186
|
+
) -> str | None: ...
|
|
187
|
+
|
|
188
|
+
@deprecated(
|
|
189
|
+
"`get_header_value` function is deprecated; Access headers directly using event.headers.get('HeaderName')",
|
|
190
|
+
category=None,
|
|
191
|
+
)
|
|
192
|
+
def get_header_value(
|
|
193
|
+
self,
|
|
194
|
+
name: str,
|
|
195
|
+
default_value: str | None = None,
|
|
196
|
+
case_sensitive: bool = False,
|
|
197
|
+
) -> str | None:
|
|
198
|
+
"""Get header value by name
|
|
199
|
+
Parameters
|
|
200
|
+
----------
|
|
201
|
+
name: str
|
|
202
|
+
Header name
|
|
203
|
+
default_value: str, optional
|
|
204
|
+
Default value if no value was found by name
|
|
205
|
+
case_sensitive: bool
|
|
206
|
+
Whether to use a case-sensitive look up
|
|
207
|
+
Returns
|
|
208
|
+
-------
|
|
209
|
+
str, optional
|
|
210
|
+
Header value
|
|
211
|
+
"""
|
|
212
|
+
warnings.warn(
|
|
213
|
+
"The `get_header_value` function is deprecated in V3 and the `case_sensitive` parameter "
|
|
214
|
+
"no longer has any effect. This function will be removed in the next major version. "
|
|
215
|
+
"Instead, access headers directly using event.headers.get('HeaderName'), which is case insensitive.",
|
|
216
|
+
category=PowertoolsDeprecationWarning,
|
|
217
|
+
stacklevel=2,
|
|
218
|
+
)
|
|
219
|
+
return get_header_value(self.headers, name, default_value, case_sensitive)
|
|
220
|
+
|
|
165
221
|
|
|
166
222
|
class APIGatewayAuthorizerEventV2(DictWrapper):
|
|
167
223
|
"""API Gateway Authorizer Event Format 2.0
|
|
@@ -244,6 +300,50 @@ class APIGatewayAuthorizerEventV2(DictWrapper):
|
|
|
244
300
|
def stage_variables(self) -> dict[str, str]:
|
|
245
301
|
return self.get("stageVariables") or {}
|
|
246
302
|
|
|
303
|
+
@overload
|
|
304
|
+
def get_header_value(self, name: str, default_value: str, case_sensitive: bool = False) -> str: ...
|
|
305
|
+
|
|
306
|
+
@overload
|
|
307
|
+
def get_header_value(
|
|
308
|
+
self,
|
|
309
|
+
name: str,
|
|
310
|
+
default_value: str | None = None,
|
|
311
|
+
case_sensitive: bool = False,
|
|
312
|
+
) -> str | None: ...
|
|
313
|
+
|
|
314
|
+
@deprecated(
|
|
315
|
+
"`get_header_value` function is deprecated; Access headers directly using event.headers.get('HeaderName')",
|
|
316
|
+
category=None,
|
|
317
|
+
)
|
|
318
|
+
def get_header_value(
|
|
319
|
+
self,
|
|
320
|
+
name: str,
|
|
321
|
+
default_value: str | None = None,
|
|
322
|
+
case_sensitive: bool = False,
|
|
323
|
+
) -> str | None:
|
|
324
|
+
"""Get header value by name
|
|
325
|
+
Parameters
|
|
326
|
+
----------
|
|
327
|
+
name: str
|
|
328
|
+
Header name
|
|
329
|
+
default_value: str, optional
|
|
330
|
+
Default value if no value was found by name
|
|
331
|
+
case_sensitive: bool
|
|
332
|
+
Whether to use a case-sensitive look up
|
|
333
|
+
Returns
|
|
334
|
+
-------
|
|
335
|
+
str, optional
|
|
336
|
+
Header value
|
|
337
|
+
"""
|
|
338
|
+
warnings.warn(
|
|
339
|
+
"The `get_header_value` function is deprecated in V3 and the `case_sensitive` parameter "
|
|
340
|
+
"no longer has any effect. This function will be removed in the next major version. "
|
|
341
|
+
"Instead, access headers directly using event.headers.get('HeaderName'), which is case insensitive.",
|
|
342
|
+
category=PowertoolsDeprecationWarning,
|
|
343
|
+
stacklevel=2,
|
|
344
|
+
)
|
|
345
|
+
return get_header_value(self.headers, name, default_value, case_sensitive)
|
|
346
|
+
|
|
247
347
|
|
|
248
348
|
class APIGatewayAuthorizerResponseV2:
|
|
249
349
|
"""Api Gateway HTTP API V2 payload authorizer simple response helper
|
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
import warnings
|
|
4
|
+
from typing import Any, overload
|
|
5
|
+
|
|
6
|
+
from typing_extensions import deprecated
|
|
4
7
|
|
|
5
8
|
from aws_lambda_powertools.utilities.data_classes.common import CaseInsensitiveDict, DictWrapper
|
|
9
|
+
from aws_lambda_powertools.utilities.data_classes.shared_functions import (
|
|
10
|
+
get_header_value,
|
|
11
|
+
)
|
|
12
|
+
from aws_lambda_powertools.warnings import PowertoolsDeprecationWarning
|
|
6
13
|
|
|
7
14
|
|
|
8
15
|
def get_identity_object(identity: dict | None) -> Any:
|
|
@@ -212,3 +219,52 @@ class AppSyncResolverEvent(DictWrapper):
|
|
|
212
219
|
stash to pass arbitrary data across request and response mapping templates, and across functions in
|
|
213
220
|
a pipeline resolver."""
|
|
214
221
|
return self.get("stash") or {}
|
|
222
|
+
|
|
223
|
+
@overload
|
|
224
|
+
def get_header_value(
|
|
225
|
+
self,
|
|
226
|
+
name: str,
|
|
227
|
+
default_value: str,
|
|
228
|
+
case_sensitive: bool = False,
|
|
229
|
+
) -> str: ...
|
|
230
|
+
|
|
231
|
+
@overload
|
|
232
|
+
def get_header_value(
|
|
233
|
+
self,
|
|
234
|
+
name: str,
|
|
235
|
+
default_value: str | None = None,
|
|
236
|
+
case_sensitive: bool = False,
|
|
237
|
+
) -> str | None: ...
|
|
238
|
+
|
|
239
|
+
@deprecated(
|
|
240
|
+
"`get_header_value` function is deprecated; Access headers directly using event.headers.get('HeaderName')",
|
|
241
|
+
category=None,
|
|
242
|
+
)
|
|
243
|
+
def get_header_value(
|
|
244
|
+
self,
|
|
245
|
+
name: str,
|
|
246
|
+
default_value: str | None = None,
|
|
247
|
+
case_sensitive: bool = False,
|
|
248
|
+
) -> str | None:
|
|
249
|
+
"""Get header value by name
|
|
250
|
+
Parameters
|
|
251
|
+
----------
|
|
252
|
+
name: str
|
|
253
|
+
Header name
|
|
254
|
+
default_value: str, optional
|
|
255
|
+
Default value if no value was found by name
|
|
256
|
+
case_sensitive: bool
|
|
257
|
+
Whether to use a case-sensitive look up
|
|
258
|
+
Returns
|
|
259
|
+
-------
|
|
260
|
+
str, optional
|
|
261
|
+
Header value
|
|
262
|
+
"""
|
|
263
|
+
warnings.warn(
|
|
264
|
+
"The `get_header_value` function is deprecated in V3 and the `case_sensitive` parameter "
|
|
265
|
+
"no longer has any effect. This function will be removed in the next major version. "
|
|
266
|
+
"Instead, access headers directly using event.headers.get('HeaderName'), which is case insensitive.",
|
|
267
|
+
category=PowertoolsDeprecationWarning,
|
|
268
|
+
stacklevel=2,
|
|
269
|
+
)
|
|
270
|
+
return get_header_value(self.request_headers, name, default_value, case_sensitive)
|
|
@@ -2,12 +2,23 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
import base64
|
|
4
4
|
import json
|
|
5
|
+
import warnings
|
|
5
6
|
from functools import cached_property
|
|
6
|
-
from typing import TYPE_CHECKING, Any, Callable, Iterator, Mapping
|
|
7
|
+
from typing import TYPE_CHECKING, Any, Callable, Iterator, Mapping, overload
|
|
8
|
+
|
|
9
|
+
from typing_extensions import deprecated
|
|
10
|
+
|
|
11
|
+
from aws_lambda_powertools.warnings import PowertoolsDeprecationWarning
|
|
7
12
|
|
|
8
13
|
if TYPE_CHECKING:
|
|
9
14
|
from aws_lambda_powertools.shared.headers_serializer import BaseHeadersSerializer
|
|
10
15
|
|
|
16
|
+
from aws_lambda_powertools.utilities.data_classes.shared_functions import (
|
|
17
|
+
get_header_value,
|
|
18
|
+
get_multi_value_query_string_values,
|
|
19
|
+
get_query_string_value,
|
|
20
|
+
)
|
|
21
|
+
|
|
11
22
|
|
|
12
23
|
class CaseInsensitiveDict(dict):
|
|
13
24
|
"""Case insensitive dict implementation. Assumes string keys only."""
|
|
@@ -208,6 +219,108 @@ class BaseProxyEvent(DictWrapper):
|
|
|
208
219
|
"""The HTTP method used. Valid values include: DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT."""
|
|
209
220
|
return self["httpMethod"]
|
|
210
221
|
|
|
222
|
+
@overload
|
|
223
|
+
def get_query_string_value(self, name: str, default_value: str) -> str: ...
|
|
224
|
+
|
|
225
|
+
@overload
|
|
226
|
+
def get_query_string_value(self, name: str, default_value: str | None = None) -> str | None: ...
|
|
227
|
+
|
|
228
|
+
def get_query_string_value(self, name: str, default_value: str | None = None) -> str | None:
|
|
229
|
+
"""Get query string value by name
|
|
230
|
+
Parameters
|
|
231
|
+
----------
|
|
232
|
+
name: str
|
|
233
|
+
Query string parameter name
|
|
234
|
+
default_value: str, optional
|
|
235
|
+
Default value if no value was found by name
|
|
236
|
+
Returns
|
|
237
|
+
-------
|
|
238
|
+
str, optional
|
|
239
|
+
Query string parameter value
|
|
240
|
+
"""
|
|
241
|
+
return get_query_string_value(
|
|
242
|
+
query_string_parameters=self.query_string_parameters,
|
|
243
|
+
name=name,
|
|
244
|
+
default_value=default_value,
|
|
245
|
+
)
|
|
246
|
+
|
|
247
|
+
def get_multi_value_query_string_values(
|
|
248
|
+
self,
|
|
249
|
+
name: str,
|
|
250
|
+
default_values: list[str] | None = None,
|
|
251
|
+
) -> list[str]:
|
|
252
|
+
"""Get multi-value query string parameter values by name
|
|
253
|
+
Parameters
|
|
254
|
+
----------
|
|
255
|
+
name: str
|
|
256
|
+
Multi-Value query string parameter name
|
|
257
|
+
default_values: List[str], optional
|
|
258
|
+
Default values is no values are found by name
|
|
259
|
+
Returns
|
|
260
|
+
-------
|
|
261
|
+
List[str], optional
|
|
262
|
+
List of query string values
|
|
263
|
+
"""
|
|
264
|
+
return get_multi_value_query_string_values(
|
|
265
|
+
multi_value_query_string_parameters=self.multi_value_query_string_parameters,
|
|
266
|
+
name=name,
|
|
267
|
+
default_values=default_values,
|
|
268
|
+
)
|
|
269
|
+
|
|
270
|
+
@overload
|
|
271
|
+
def get_header_value(
|
|
272
|
+
self,
|
|
273
|
+
name: str,
|
|
274
|
+
default_value: str,
|
|
275
|
+
case_sensitive: bool = False,
|
|
276
|
+
) -> str: ...
|
|
277
|
+
|
|
278
|
+
@overload
|
|
279
|
+
def get_header_value(
|
|
280
|
+
self,
|
|
281
|
+
name: str,
|
|
282
|
+
default_value: str | None = None,
|
|
283
|
+
case_sensitive: bool = False,
|
|
284
|
+
) -> str | None: ...
|
|
285
|
+
|
|
286
|
+
@deprecated(
|
|
287
|
+
"`get_header_value` function is deprecated; Access headers directly using event.headers.get('HeaderName')",
|
|
288
|
+
category=None,
|
|
289
|
+
)
|
|
290
|
+
def get_header_value(
|
|
291
|
+
self,
|
|
292
|
+
name: str,
|
|
293
|
+
default_value: str | None = None,
|
|
294
|
+
case_sensitive: bool = False,
|
|
295
|
+
) -> str | None:
|
|
296
|
+
"""Get header value by name
|
|
297
|
+
Parameters
|
|
298
|
+
----------
|
|
299
|
+
name: str
|
|
300
|
+
Header name
|
|
301
|
+
default_value: str, optional
|
|
302
|
+
Default value if no value was found by name
|
|
303
|
+
case_sensitive: bool
|
|
304
|
+
Whether to use a case-sensitive look up. By default we make a case-insensitive lookup.
|
|
305
|
+
Returns
|
|
306
|
+
-------
|
|
307
|
+
str, optional
|
|
308
|
+
Header value
|
|
309
|
+
"""
|
|
310
|
+
warnings.warn(
|
|
311
|
+
"The `get_header_value` function is deprecated in V3 and the `case_sensitive` parameter "
|
|
312
|
+
"no longer has any effect. This function will be removed in the next major version. "
|
|
313
|
+
"Instead, access headers directly using event.headers.get('HeaderName'), which is case insensitive.",
|
|
314
|
+
category=PowertoolsDeprecationWarning,
|
|
315
|
+
stacklevel=2,
|
|
316
|
+
)
|
|
317
|
+
return get_header_value(
|
|
318
|
+
headers=self.headers,
|
|
319
|
+
name=name,
|
|
320
|
+
default_value=default_value,
|
|
321
|
+
case_sensitive=case_sensitive,
|
|
322
|
+
)
|
|
323
|
+
|
|
211
324
|
def header_serializer(self) -> BaseHeadersSerializer:
|
|
212
325
|
raise NotImplementedError()
|
|
213
326
|
|
aws_lambda_powertools-3.0.0.dev11/aws_lambda_powertools/utilities/data_classes/shared_functions.py
ADDED
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import base64
|
|
4
|
+
import warnings
|
|
5
|
+
from typing import Any, overload
|
|
6
|
+
|
|
7
|
+
from typing_extensions import deprecated
|
|
8
|
+
|
|
9
|
+
from aws_lambda_powertools.warnings import PowertoolsDeprecationWarning
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def base64_decode(value: str) -> str:
|
|
13
|
+
"""
|
|
14
|
+
Decodes a Base64-encoded string and returns the decoded value.
|
|
15
|
+
|
|
16
|
+
Parameters
|
|
17
|
+
----------
|
|
18
|
+
value: str
|
|
19
|
+
The Base64-encoded string to decode.
|
|
20
|
+
|
|
21
|
+
Returns
|
|
22
|
+
-------
|
|
23
|
+
str
|
|
24
|
+
The decoded string value.
|
|
25
|
+
"""
|
|
26
|
+
return base64.b64decode(value).decode("UTF-8")
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
@overload
|
|
30
|
+
def get_header_value(
|
|
31
|
+
headers: dict[str, Any],
|
|
32
|
+
name: str,
|
|
33
|
+
default_value: str,
|
|
34
|
+
case_sensitive: bool = False,
|
|
35
|
+
) -> str: ...
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
@overload
|
|
39
|
+
def get_header_value(
|
|
40
|
+
headers: dict[str, Any],
|
|
41
|
+
name: str,
|
|
42
|
+
default_value: str | None = None,
|
|
43
|
+
case_sensitive: bool = False,
|
|
44
|
+
) -> str | None: ...
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
@deprecated(
|
|
48
|
+
"`get_header_value` function is deprecated; Access headers directly using event.headers.get('HeaderName')",
|
|
49
|
+
category=None,
|
|
50
|
+
)
|
|
51
|
+
def get_header_value(
|
|
52
|
+
headers: dict[str, Any],
|
|
53
|
+
name: str,
|
|
54
|
+
default_value: str | None = None,
|
|
55
|
+
case_sensitive: bool = False,
|
|
56
|
+
) -> str | None:
|
|
57
|
+
"""
|
|
58
|
+
Get the value of a header by its name.
|
|
59
|
+
Parameters
|
|
60
|
+
----------
|
|
61
|
+
headers: Dict[str, str]
|
|
62
|
+
The dictionary of headers.
|
|
63
|
+
name: str
|
|
64
|
+
The name of the header to retrieve.
|
|
65
|
+
default_value: str, optional
|
|
66
|
+
The default value to return if the header is not found. Default is None.
|
|
67
|
+
case_sensitive: bool, optional
|
|
68
|
+
Indicates whether the header name should be case-sensitive. Default is False.
|
|
69
|
+
Returns
|
|
70
|
+
-------
|
|
71
|
+
str, optional
|
|
72
|
+
The value of the header if found, otherwise the default value or None.
|
|
73
|
+
"""
|
|
74
|
+
|
|
75
|
+
warnings.warn(
|
|
76
|
+
"The `get_header_value` function is deprecated in V3 and the `case_sensitive` parameter "
|
|
77
|
+
"no longer has any effect. This function will be removed in the next major version. "
|
|
78
|
+
"Instead, access headers directly using event.headers.get('HeaderName'), which is case insensitive.",
|
|
79
|
+
category=PowertoolsDeprecationWarning,
|
|
80
|
+
stacklevel=2,
|
|
81
|
+
)
|
|
82
|
+
|
|
83
|
+
# If headers is NoneType, return default value
|
|
84
|
+
if not headers:
|
|
85
|
+
return default_value
|
|
86
|
+
|
|
87
|
+
if case_sensitive:
|
|
88
|
+
return headers.get(name, default_value)
|
|
89
|
+
name_lower = name.lower()
|
|
90
|
+
|
|
91
|
+
return next(
|
|
92
|
+
# Iterate over the dict and do a case-insensitive key comparison
|
|
93
|
+
(value for key, value in headers.items() if key.lower() == name_lower),
|
|
94
|
+
# Default value is returned if no matches was found
|
|
95
|
+
default_value,
|
|
96
|
+
)
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
@overload
|
|
100
|
+
def get_query_string_value(
|
|
101
|
+
query_string_parameters: dict[str, str] | None,
|
|
102
|
+
name: str,
|
|
103
|
+
default_value: str,
|
|
104
|
+
) -> str: ...
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
@overload
|
|
108
|
+
def get_query_string_value(
|
|
109
|
+
query_string_parameters: dict[str, str] | None,
|
|
110
|
+
name: str,
|
|
111
|
+
default_value: str | None = None,
|
|
112
|
+
) -> str | None: ...
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
def get_query_string_value(
|
|
116
|
+
query_string_parameters: dict[str, str] | None,
|
|
117
|
+
name: str,
|
|
118
|
+
default_value: str | None = None,
|
|
119
|
+
) -> str | None:
|
|
120
|
+
"""
|
|
121
|
+
Retrieves the value of a query string parameter specified by the given name.
|
|
122
|
+
Parameters
|
|
123
|
+
----------
|
|
124
|
+
name: str
|
|
125
|
+
The name of the query string parameter to retrieve.
|
|
126
|
+
default_value: str, optional
|
|
127
|
+
The default value to return if the parameter is not found. Defaults to None.
|
|
128
|
+
Returns
|
|
129
|
+
-------
|
|
130
|
+
str. optional
|
|
131
|
+
The value of the query string parameter if found, or the default value if not found.
|
|
132
|
+
"""
|
|
133
|
+
params = query_string_parameters
|
|
134
|
+
return default_value if params is None else params.get(name, default_value)
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
def get_multi_value_query_string_values(
|
|
138
|
+
multi_value_query_string_parameters: dict[str, list[str]] | None,
|
|
139
|
+
name: str,
|
|
140
|
+
default_values: list[str] | None = None,
|
|
141
|
+
) -> list[str]:
|
|
142
|
+
"""
|
|
143
|
+
Retrieves the values of a multi-value string parameters specified by the given name.
|
|
144
|
+
Parameters
|
|
145
|
+
----------
|
|
146
|
+
name: str
|
|
147
|
+
The name of the query string parameter to retrieve.
|
|
148
|
+
default_value: list[str], optional
|
|
149
|
+
The default value to return if the parameter is not found. Defaults to None.
|
|
150
|
+
Returns
|
|
151
|
+
-------
|
|
152
|
+
List[str]. optional
|
|
153
|
+
The values of the query string parameter if found, or the default values if not found.
|
|
154
|
+
"""
|
|
155
|
+
|
|
156
|
+
default = default_values or []
|
|
157
|
+
params = multi_value_query_string_parameters or {}
|
|
158
|
+
|
|
159
|
+
return params.get(name) or default
|
|
@@ -35,9 +35,7 @@ class VPCLatticeEventBase(BaseProxyEvent):
|
|
|
35
35
|
def decoded_body(self) -> str:
|
|
36
36
|
"""Dynamically base64 decode body as a str"""
|
|
37
37
|
body: str = self["body"]
|
|
38
|
-
if self.is_base64_encoded
|
|
39
|
-
return base64_decode(body)
|
|
40
|
-
return body
|
|
38
|
+
return base64_decode(body) if self.is_base64_encoded else body
|
|
41
39
|
|
|
42
40
|
@property
|
|
43
41
|
def method(self) -> str:
|
|
@@ -92,3 +92,24 @@ class DataRecord:
|
|
|
92
92
|
previous response data deserialized
|
|
93
93
|
"""
|
|
94
94
|
return json.loads(self.response_data) if self.response_data else None
|
|
95
|
+
|
|
96
|
+
def get_expiration_datetime(self) -> datetime.datetime | None:
|
|
97
|
+
"""
|
|
98
|
+
Converts the expiry timestamp to a datetime object.
|
|
99
|
+
|
|
100
|
+
This method checks if an expiry timestamp exists and converts it to a
|
|
101
|
+
datetime object. If no timestamp is present, it returns None.
|
|
102
|
+
|
|
103
|
+
Returns:
|
|
104
|
+
-------
|
|
105
|
+
datetime.datetime | None
|
|
106
|
+
A datetime object representing the expiration time, or None if no expiry timestamp is set.
|
|
107
|
+
|
|
108
|
+
Note:
|
|
109
|
+
----
|
|
110
|
+
The returned datetime object is timezone-naive and assumes the timestamp
|
|
111
|
+
is in the system's local timezone. Lambda default timezone is UTC.
|
|
112
|
+
"""
|
|
113
|
+
if self.expiry_timestamp:
|
|
114
|
+
return datetime.datetime.fromtimestamp(int(self.expiry_timestamp))
|
|
115
|
+
return None
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "aws_lambda_powertools"
|
|
3
|
-
version = "3.0.0.
|
|
3
|
+
version = "3.0.0.dev11"
|
|
4
4
|
description = "Powertools for AWS Lambda (Python) is a developer toolkit to implement Serverless best practices and increase developer velocity."
|
|
5
5
|
authors = ["Amazon Web Services"]
|
|
6
6
|
include = ["aws_lambda_powertools/py.typed", "THIRD-PARTY-LICENSES"]
|
|
@@ -62,7 +62,7 @@ extras_require = \
|
|
|
62
62
|
|
|
63
63
|
setup_kwargs = {
|
|
64
64
|
'name': 'aws-lambda-powertools',
|
|
65
|
-
'version': '3.0.0.
|
|
65
|
+
'version': '3.0.0.dev11',
|
|
66
66
|
'description': 'Powertools for AWS Lambda (Python) is a developer toolkit to implement Serverless best practices and increase developer velocity.',
|
|
67
67
|
'long_description': '<!-- markdownlint-disable MD013 MD041 MD043 -->\n# Powertools for AWS Lambda (Python)\n\n[](https://github.com/aws-powertools/powertools-lambda-python/actions/workflows/python_build.yml)\n[](https://app.codecov.io/gh/aws-powertools/powertools-lambda-python)\n   [](https://api.securityscorecards.dev/projects/github.com/aws-powertools/powertools-lambda-python) [](https://discord.gg/B8zZKbbyET)\n\nPowertools for AWS Lambda (Python) is a developer toolkit to implement Serverless [best practices and increase developer velocity](https://docs.powertools.aws.dev/lambda/python/latest/#features).\n\n> Also available in [Java](https://github.com/aws-powertools/powertools-lambda-java), [Typescript](https://github.com/aws-powertools/powertools-lambda-typescript), and [.NET](https://github.com/aws-powertools/powertools-lambda-dotnet).\n\n**[📜Documentation](https://docs.powertools.aws.dev/lambda/python/)** | **[🐍PyPi](https://pypi.org/project/aws-lambda-powertools/)** | **[Roadmap](https://docs.powertools.aws.dev/lambda/python/latest/roadmap/)** | **[Detailed blog post](https://aws.amazon.com/blogs/opensource/simplifying-serverless-best-practices-with-lambda-powertools/)**\n\n\n\n## Features\n\n* **[Tracing](https://docs.powertools.aws.dev/lambda/python/latest/core/tracer/)** - Decorators and utilities to trace Lambda function handlers, and both synchronous and asynchronous functions\n* **[Logging](https://docs.powertools.aws.dev/lambda/python/latest/core/logger/)** - Structured logging made easier, and decorator to enrich structured logging with key Lambda context details\n* **[Metrics](https://docs.powertools.aws.dev/lambda/python/latest/core/metrics/)** - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF)\n* **[Event handler: AppSync](https://docs.powertools.aws.dev/lambda/python/latest/core/event_handler/appsync/)** - AWS AppSync event handler for Lambda Direct Resolver and Amplify GraphQL Transformer function\n* **[Event handler: API Gateway and ALB](https://docs.powertools.aws.dev/lambda/python/latest/core/event_handler/api_gateway/)** - Amazon API Gateway REST/HTTP API and ALB event handler for Lambda functions invoked using Proxy integration\n* **[Event handler: Agents for Amazon Bedrock](https://docs.powertools.aws.dev/lambda/python/latest/core/event_handler/bedrock_agents/)** - Create Agents for Amazon Bedrock, automatically generating OpenAPI schemas\n* **[Bring your own middleware](https://docs.powertools.aws.dev/lambda/python/latest/utilities/middleware_factory/)** - Decorator factory to create your own middleware to run logic before, and after each Lambda invocation\n* **[Parameters utility](https://docs.powertools.aws.dev/lambda/python/latest/utilities/parameters/)** - Retrieve and cache parameter values from Parameter Store, Secrets Manager, or DynamoDB\n* **[Batch processing](https://docs.powertools.aws.dev/lambda/python/latest/utilities/batch/)** - Handle partial failures for AWS SQS batch processing\n* **[Typing](https://docs.powertools.aws.dev/lambda/python/latest/utilities/typing/)** - Static typing classes to speedup development in your IDE\n* **[Validation](https://docs.powertools.aws.dev/lambda/python/latest/utilities/validation/)** - JSON Schema validator for inbound events and responses\n* **[Event source data classes](https://docs.powertools.aws.dev/lambda/python/latest/utilities/data_classes/)** - Data classes describing the schema of common Lambda event triggers\n* **[Parser](https://docs.powertools.aws.dev/lambda/python/latest/utilities/parser/)** - Data parsing and deep validation using Pydantic\n* **[Idempotency](https://docs.powertools.aws.dev/lambda/python/latest/utilities/idempotency/)** - Convert your Lambda functions into idempotent operations which are safe to retry\n* **[Data Masking](https://docs.powertools.aws.dev/lambda/python/latest/utilities/data_masking/)** - Protect confidential data with easy removal or encryption\n* **[Feature Flags](https://docs.powertools.aws.dev/lambda/python/latest/utilities/feature_flags/)** - A simple rule engine to evaluate when one or multiple features should be enabled depending on the input\n* **[Streaming](https://docs.powertools.aws.dev/lambda/python/latest/utilities/streaming/)** - Streams datasets larger than the available memory as streaming data.\n\n### Installation\n\nWith [pip](https://pip.pypa.io/en/latest/index.html) installed, run: ``pip install aws-lambda-powertools``\n\n## Tutorial and Examples\n\n* [Tutorial](https://docs.powertools.aws.dev/lambda/python/latest/tutorial)\n* [Serverless Shopping cart](https://github.com/aws-samples/aws-serverless-shopping-cart)\n* [Serverless Airline](https://github.com/aws-samples/aws-serverless-airline-booking)\n* [Serverless E-commerce platform](https://github.com/aws-samples/aws-serverless-ecommerce-platform)\n* [Serverless GraphQL Nanny Booking Api](https://github.com/trey-rosius/babysitter_api)\n\n## How to support Powertools for AWS Lambda (Python)?\n\n### Becoming a reference customer\n\nKnowing which companies are using this library is important to help prioritize the project internally. If your company is using Powertools for AWS Lambda (Python), you can request to have your name and logo added to the README file by raising a [Support Powertools for AWS Lambda (Python) (become a reference)](https://github.com/aws-powertools/powertools-lambda-python/issues/new?assignees=&labels=customer-reference&template=support_powertools.yml&title=%5BSupport+Lambda+Powertools%5D%3A+%3Cyour+organization+name%3E) issue.\n\nThe following companies, among others, use Powertools:\n\n* [Capital One](https://www.capitalone.com/)\n* [CPQi (Exadel Financial Services)](https://cpqi.com/)\n* [CloudZero](https://www.cloudzero.com/)\n* [CyberArk](https://www.cyberark.com/)\n* [globaldatanet](https://globaldatanet.com/)\n* [IMS](https://ims.tech/)\n* [Jit Security](https://www.jit.io/)\n* [Propellor.ai](https://www.propellor.ai/)\n* [TopSport](https://www.topsport.com.au/)\n* [Transformity](https://transformity.tech/)\n* [Trek10](https://www.trek10.com/)\n* [Vertex Pharmaceuticals](https://www.vrtx.com/)\n\n### Sharing your work\n\nShare what you did with Powertools for AWS Lambda (Python) 💞💞. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools for AWS Lambda (Python) [here](https://docs.powertools.aws.dev/lambda/python/latest/we_made_this/).\n\n### Using Lambda Layer or SAR\n\nThis helps us understand who uses Powertools for AWS Lambda (Python) in a non-intrusive way, and helps us gain future investments for other Powertools for AWS Lambda languages. When [using Layers](https://docs.powertools.aws.dev/lambda/python/latest/#lambda-layer), you can add Powertools for AWS Lambda (Python) as a dev dependency (or as part of your virtual env) to not impact the development process.\n\n## Credits\n\n* Structured logging initial implementation from [aws-lambda-logging](https://gitlab.com/hadrien/aws_lambda_logging)\n* Powertools for AWS Lambda (Python) idea [DAZN Powertools](https://github.com/getndazn/dazn-lambda-powertools/)\n\n## Connect\n\n* **Powertools for AWS Lambda on Discord**: `#python` - **[Invite link](https://discord.gg/B8zZKbbyET)**\n* **Email**: <aws-powertools-maintainers@amazon.com>\n\n## Security disclosures\n\nIf you think you’ve found a potential security issue, please do not post it in the Issues. Instead, please follow the instructions [here](https://aws.amazon.com/security/vulnerability-reporting/) or [email AWS security directly](mailto:aws-security@amazon.com).\n\n## License\n\nThis library is licensed under the MIT-0 License. See the LICENSE file.\n',
|
|
68
68
|
'author': 'Amazon Web Services',
|
aws_lambda_powertools-3.0.0.dev9/aws_lambda_powertools/utilities/data_classes/shared_functions.py
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import base64
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
def base64_decode(value: str) -> str:
|
|
5
|
-
"""
|
|
6
|
-
Decodes a Base64-encoded string and returns the decoded value.
|
|
7
|
-
|
|
8
|
-
Parameters
|
|
9
|
-
----------
|
|
10
|
-
value: str
|
|
11
|
-
The Base64-encoded string to decode.
|
|
12
|
-
|
|
13
|
-
Returns
|
|
14
|
-
-------
|
|
15
|
-
str
|
|
16
|
-
The decoded string value.
|
|
17
|
-
"""
|
|
18
|
-
return base64.b64decode(value).decode("UTF-8")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|