aws-lambda-powertools 3.8.1a6__tar.gz → 3.8.1a8__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.
Files changed (265) hide show
  1. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/PKG-INFO +2 -2
  2. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/metrics/provider/datadog/datadog.py +4 -1
  3. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/shared/version.py +1 -1
  4. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_classes/__init__.py +2 -0
  5. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_classes/alb_event.py +2 -6
  6. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_classes/api_gateway_authorizer_event.py +2 -2
  7. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_classes/api_gateway_proxy_event.py +12 -21
  8. aws_lambda_powertools-3.8.1a8/aws_lambda_powertools/utilities/data_classes/api_gateway_websocket_event.py +128 -0
  9. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_classes/appsync_authorizer_event.py +7 -7
  10. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_classes/bedrock_agent_event.py +2 -4
  11. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_classes/cognito_user_pool_event.py +116 -169
  12. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_classes/common.py +46 -47
  13. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_classes/kinesis_firehose_event.py +7 -11
  14. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_classes/kinesis_stream_event.py +6 -6
  15. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_classes/s3_event.py +20 -20
  16. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_classes/ses_event.py +3 -3
  17. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_classes/vpc_lattice.py +2 -10
  18. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/pyproject.toml +4 -3
  19. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/setup.py +2 -2
  20. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/LICENSE +0 -0
  21. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/README.md +0 -0
  22. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/THIRD-PARTY-LICENSES +0 -0
  23. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/__init__.py +0 -0
  24. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/event_handler/__init__.py +0 -0
  25. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/event_handler/api_gateway.py +0 -0
  26. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/event_handler/appsync.py +0 -0
  27. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/event_handler/bedrock_agent.py +0 -0
  28. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/event_handler/content_types.py +0 -0
  29. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/event_handler/exceptions.py +0 -0
  30. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/event_handler/graphql_appsync/__init__.py +0 -0
  31. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/event_handler/graphql_appsync/_registry.py +0 -0
  32. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/event_handler/graphql_appsync/base.py +0 -0
  33. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/event_handler/graphql_appsync/exceptions.py +0 -0
  34. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/event_handler/graphql_appsync/router.py +0 -0
  35. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/event_handler/lambda_function_url.py +0 -0
  36. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/event_handler/middlewares/__init__.py +0 -0
  37. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/event_handler/middlewares/base.py +0 -0
  38. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/event_handler/middlewares/openapi_validation.py +0 -0
  39. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/event_handler/middlewares/schema_validation.py +0 -0
  40. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/event_handler/openapi/__init__.py +0 -0
  41. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/event_handler/openapi/compat.py +0 -0
  42. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/event_handler/openapi/config.py +0 -0
  43. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/event_handler/openapi/constants.py +0 -0
  44. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/event_handler/openapi/dependant.py +0 -0
  45. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/event_handler/openapi/encoders.py +0 -0
  46. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/event_handler/openapi/exceptions.py +0 -0
  47. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/event_handler/openapi/models.py +0 -0
  48. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/event_handler/openapi/params.py +0 -0
  49. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/event_handler/openapi/pydantic_loader.py +0 -0
  50. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/event_handler/openapi/swagger_ui/__init__.py +0 -0
  51. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/event_handler/openapi/swagger_ui/html.py +0 -0
  52. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/event_handler/openapi/swagger_ui/oauth2.py +0 -0
  53. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/event_handler/openapi/swagger_ui/swagger-ui-bundle.min.js +0 -0
  54. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/event_handler/openapi/swagger_ui/swagger-ui.min.css +0 -0
  55. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/event_handler/openapi/types.py +0 -0
  56. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/event_handler/router.py +0 -0
  57. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/event_handler/types.py +0 -0
  58. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/event_handler/util.py +0 -0
  59. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/event_handler/vpc_lattice.py +0 -0
  60. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/exceptions/__init__.py +0 -0
  61. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/logging/__init__.py +0 -0
  62. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/logging/buffer/__init__.py +0 -0
  63. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/logging/buffer/cache.py +0 -0
  64. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/logging/buffer/config.py +0 -0
  65. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/logging/buffer/functions.py +0 -0
  66. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/logging/constants.py +0 -0
  67. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/logging/correlation_paths.py +0 -0
  68. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/logging/exceptions.py +0 -0
  69. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/logging/filters.py +0 -0
  70. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/logging/formatter.py +0 -0
  71. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/logging/formatters/__init__.py +0 -0
  72. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/logging/formatters/datadog.py +0 -0
  73. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/logging/lambda_context.py +0 -0
  74. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/logging/logger.py +0 -0
  75. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/logging/types.py +0 -0
  76. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/logging/utils.py +0 -0
  77. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/metrics/__init__.py +0 -0
  78. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/metrics/base.py +0 -0
  79. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/metrics/exceptions.py +0 -0
  80. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/metrics/functions.py +0 -0
  81. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/metrics/metric.py +0 -0
  82. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/metrics/metrics.py +0 -0
  83. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/metrics/provider/__init__.py +0 -0
  84. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/metrics/provider/base.py +0 -0
  85. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/__init__.py +0 -0
  86. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/cloudwatch.py +0 -0
  87. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/constants.py +0 -0
  88. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/exceptions.py +0 -0
  89. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/metric_properties.py +0 -0
  90. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/types.py +0 -0
  91. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/metrics/provider/cold_start.py +0 -0
  92. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/metrics/provider/datadog/__init__.py +0 -0
  93. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/metrics/provider/datadog/metrics.py +0 -0
  94. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/metrics/provider/datadog/warnings.py +0 -0
  95. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/metrics/types.py +0 -0
  96. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/middleware_factory/__init__.py +0 -0
  97. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/middleware_factory/exceptions.py +0 -0
  98. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/middleware_factory/factory.py +0 -0
  99. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/package_logger.py +0 -0
  100. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/py.typed +0 -0
  101. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/shared/__init__.py +0 -0
  102. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/shared/cache_dict.py +0 -0
  103. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/shared/constants.py +0 -0
  104. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/shared/cookies.py +0 -0
  105. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/shared/dynamodb_deserializer.py +0 -0
  106. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/shared/functions.py +0 -0
  107. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/shared/headers_serializer.py +0 -0
  108. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/shared/json_encoder.py +0 -0
  109. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/shared/lazy_import.py +0 -0
  110. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/shared/types.py +0 -0
  111. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/shared/user_agent.py +0 -0
  112. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/tracing/__init__.py +0 -0
  113. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/tracing/base.py +0 -0
  114. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/tracing/extensions.py +0 -0
  115. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/tracing/tracer.py +0 -0
  116. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/__init__.py +0 -0
  117. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/batch/__init__.py +0 -0
  118. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/batch/base.py +0 -0
  119. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/batch/decorators.py +0 -0
  120. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/batch/exceptions.py +0 -0
  121. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/batch/sqs_fifo_partial_processor.py +0 -0
  122. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/batch/types.py +0 -0
  123. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_classes/active_mq_event.py +0 -0
  124. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_classes/appsync/__init__.py +0 -0
  125. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_classes/appsync/scalar_types_utils.py +0 -0
  126. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_classes/appsync_resolver_event.py +0 -0
  127. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_classes/aws_config_rule_event.py +0 -0
  128. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_classes/cloud_watch_alarm_event.py +0 -0
  129. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_classes/cloud_watch_custom_widget_event.py +0 -0
  130. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_classes/cloud_watch_logs_event.py +0 -0
  131. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_classes/cloudformation_custom_resource_event.py +0 -0
  132. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_classes/code_deploy_lifecycle_hook_event.py +0 -0
  133. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_classes/code_pipeline_job_event.py +0 -0
  134. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_classes/connect_contact_flow_event.py +0 -0
  135. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_classes/dynamo_db_stream_event.py +0 -0
  136. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_classes/event_bridge_event.py +0 -0
  137. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_classes/event_source.py +0 -0
  138. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_classes/iot_registry_event.py +0 -0
  139. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_classes/kafka_event.py +0 -0
  140. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_classes/lambda_function_url_event.py +0 -0
  141. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_classes/rabbit_mq_event.py +0 -0
  142. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_classes/s3_batch_operation_event.py +0 -0
  143. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_classes/s3_object_event.py +0 -0
  144. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_classes/secrets_manager_event.py +0 -0
  145. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_classes/shared_functions.py +0 -0
  146. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_classes/sns_event.py +0 -0
  147. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_classes/sqs_event.py +0 -0
  148. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_classes/transfer_family_event.py +0 -0
  149. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_masking/__init__.py +0 -0
  150. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_masking/base.py +0 -0
  151. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_masking/constants.py +0 -0
  152. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_masking/exceptions.py +0 -0
  153. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_masking/provider/__init__.py +0 -0
  154. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_masking/provider/base.py +0 -0
  155. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_masking/provider/kms/__init__.py +0 -0
  156. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/data_masking/provider/kms/aws_encryption_sdk.py +0 -0
  157. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/feature_flags/__init__.py +0 -0
  158. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/feature_flags/appconfig.py +0 -0
  159. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/feature_flags/base.py +0 -0
  160. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/feature_flags/comparators.py +0 -0
  161. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/feature_flags/constants.py +0 -0
  162. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/feature_flags/exceptions.py +0 -0
  163. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/feature_flags/feature_flags.py +0 -0
  164. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/feature_flags/schema.py +0 -0
  165. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/feature_flags/types.py +0 -0
  166. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/idempotency/__init__.py +0 -0
  167. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/idempotency/base.py +0 -0
  168. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/idempotency/config.py +0 -0
  169. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/idempotency/exceptions.py +0 -0
  170. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/idempotency/hook.py +0 -0
  171. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/idempotency/idempotency.py +0 -0
  172. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/idempotency/persistence/__init__.py +0 -0
  173. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/idempotency/persistence/base.py +0 -0
  174. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/idempotency/persistence/datarecord.py +0 -0
  175. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/idempotency/persistence/dynamodb.py +0 -0
  176. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/idempotency/persistence/redis.py +0 -0
  177. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/idempotency/serialization/__init__.py +0 -0
  178. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/idempotency/serialization/base.py +0 -0
  179. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/idempotency/serialization/custom_dict.py +0 -0
  180. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/idempotency/serialization/dataclass.py +0 -0
  181. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/idempotency/serialization/functions.py +0 -0
  182. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/idempotency/serialization/no_op.py +0 -0
  183. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/idempotency/serialization/pydantic.py +0 -0
  184. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/jmespath_utils/__init__.py +0 -0
  185. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/jmespath_utils/envelopes.py +0 -0
  186. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parameters/__init__.py +0 -0
  187. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parameters/appconfig.py +0 -0
  188. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parameters/base.py +0 -0
  189. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parameters/constants.py +0 -0
  190. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parameters/dynamodb.py +0 -0
  191. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parameters/exceptions.py +0 -0
  192. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parameters/secrets.py +0 -0
  193. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parameters/ssm.py +0 -0
  194. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parameters/types.py +0 -0
  195. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/__init__.py +0 -0
  196. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/envelopes/__init__.py +0 -0
  197. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/envelopes/apigw.py +0 -0
  198. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/envelopes/apigw_websocket.py +0 -0
  199. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/envelopes/apigwv2.py +0 -0
  200. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/envelopes/base.py +0 -0
  201. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/envelopes/bedrock_agent.py +0 -0
  202. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/envelopes/cloudwatch.py +0 -0
  203. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/envelopes/dynamodb.py +0 -0
  204. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/envelopes/event_bridge.py +0 -0
  205. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/envelopes/kafka.py +0 -0
  206. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/envelopes/kinesis.py +0 -0
  207. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/envelopes/kinesis_firehose.py +0 -0
  208. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/envelopes/lambda_function_url.py +0 -0
  209. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/envelopes/sns.py +0 -0
  210. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/envelopes/sqs.py +0 -0
  211. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/envelopes/vpc_lattice.py +0 -0
  212. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/envelopes/vpc_latticev2.py +0 -0
  213. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/exceptions.py +0 -0
  214. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/functions.py +0 -0
  215. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/models/__init__.py +0 -0
  216. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/models/alb.py +0 -0
  217. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/models/apigw.py +0 -0
  218. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/models/apigw_websocket.py +0 -0
  219. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/models/apigwv2.py +0 -0
  220. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/models/bedrock_agent.py +0 -0
  221. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/models/cloudformation_custom_resource.py +0 -0
  222. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/models/cloudwatch.py +0 -0
  223. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/models/dynamodb.py +0 -0
  224. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/models/event_bridge.py +0 -0
  225. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/models/iot_registry_events.py +0 -0
  226. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/models/kafka.py +0 -0
  227. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/models/kinesis.py +0 -0
  228. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/models/kinesis_firehose.py +0 -0
  229. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/models/kinesis_firehose_sqs.py +0 -0
  230. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/models/lambda_function_url.py +0 -0
  231. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/models/s3.py +0 -0
  232. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/models/s3_batch_operation.py +0 -0
  233. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/models/s3_event_notification.py +0 -0
  234. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/models/s3_object_event.py +0 -0
  235. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/models/ses.py +0 -0
  236. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/models/sns.py +0 -0
  237. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/models/sqs.py +0 -0
  238. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/models/transfer_family.py +0 -0
  239. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/models/vpc_lattice.py +0 -0
  240. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/models/vpc_latticev2.py +0 -0
  241. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/parser.py +0 -0
  242. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/parser/types.py +0 -0
  243. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/serialization.py +0 -0
  244. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/streaming/__init__.py +0 -0
  245. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/streaming/_s3_seekable_io.py +0 -0
  246. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/streaming/compat.py +0 -0
  247. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/streaming/constants.py +0 -0
  248. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/streaming/s3_object.py +0 -0
  249. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/streaming/transformations/__init__.py +0 -0
  250. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/streaming/transformations/base.py +0 -0
  251. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/streaming/transformations/csv.py +0 -0
  252. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/streaming/transformations/gzip.py +0 -0
  253. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/streaming/transformations/zip.py +0 -0
  254. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/streaming/types.py +0 -0
  255. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/typing/__init__.py +0 -0
  256. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/typing/lambda_client_context.py +0 -0
  257. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/typing/lambda_client_context_mobile_client.py +0 -0
  258. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/typing/lambda_cognito_identity.py +0 -0
  259. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/typing/lambda_context.py +0 -0
  260. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/validation/__init__.py +0 -0
  261. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/validation/base.py +0 -0
  262. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/validation/envelopes.py +0 -0
  263. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/validation/exceptions.py +0 -0
  264. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/aws_lambda_powertools/utilities/validation/validator.py +0 -0
  265. {aws_lambda_powertools-3.8.1a6 → aws_lambda_powertools-3.8.1a8}/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.8.1a6
3
+ Version: 3.8.1a8
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
@@ -28,7 +28,7 @@ Provides-Extra: validation
28
28
  Requires-Dist: aws-encryption-sdk (>=3.1.1,<5.0.0) ; extra == "all" or extra == "datamasking"
29
29
  Requires-Dist: aws-xray-sdk (>=2.8.0,<3.0.0) ; extra == "tracer" or extra == "all"
30
30
  Requires-Dist: boto3 (>=1.34.32,<2.0.0) ; extra == "aws-sdk"
31
- Requires-Dist: datadog-lambda (>=4.77,<7.0) ; extra == "datadog"
31
+ Requires-Dist: datadog-lambda (>=6.106.0,<7.0.0) ; extra == "datadog"
32
32
  Requires-Dist: fastjsonschema (>=2.14.5,<3.0.0) ; extra == "validation" or extra == "all"
33
33
  Requires-Dist: jmespath (>=1.0.1,<2.0.0)
34
34
  Requires-Dist: jsonpath-ng (>=1.6.0,<2.0.0) ; extra == "all" or extra == "datamasking"
@@ -14,7 +14,7 @@ from aws_lambda_powertools.metrics.functions import is_metrics_disabled
14
14
  from aws_lambda_powertools.metrics.provider import BaseProvider
15
15
  from aws_lambda_powertools.metrics.provider.datadog.warnings import DatadogDataValidationWarning
16
16
  from aws_lambda_powertools.shared import constants
17
- from aws_lambda_powertools.shared.functions import resolve_env_var_choice
17
+ from aws_lambda_powertools.shared.functions import resolve_env_var_choice, strtobool
18
18
 
19
19
  if TYPE_CHECKING:
20
20
  from aws_lambda_powertools.shared.types import AnyCallableT
@@ -66,6 +66,9 @@ class DatadogProvider(BaseProvider):
66
66
  )
67
67
  self.default_tags = default_tags or {}
68
68
  self.flush_to_log = resolve_env_var_choice(choice=flush_to_log, env=os.getenv(constants.DATADOG_FLUSH_TO_LOG))
69
+ # When set as env var, the value is a string
70
+ if isinstance(self.flush_to_log, str):
71
+ self.flush_to_log = strtobool(self.flush_to_log)
69
72
 
70
73
  # adding name,value,timestamp,tags
71
74
  def add_metric(
@@ -1,3 +1,3 @@
1
1
  """Exposes version constant to avoid circular dependencies."""
2
2
 
3
- VERSION = "3.8.1a6"
3
+ VERSION = "3.8.1a8"
@@ -4,6 +4,7 @@ Event Source Data Classes utility provides classes self-describing Lambda event
4
4
 
5
5
  from .alb_event import ALBEvent
6
6
  from .api_gateway_proxy_event import APIGatewayProxyEvent, APIGatewayProxyEventV2
7
+ from .api_gateway_websocket_event import APIGatewayWebSocketEvent
7
8
  from .appsync_resolver_event import AppSyncResolverEvent
8
9
  from .aws_config_rule_event import AWSConfigRuleEvent
9
10
  from .bedrock_agent_event import BedrockAgentEvent
@@ -51,6 +52,7 @@ from .vpc_lattice import VPCLatticeEvent, VPCLatticeEventV2
51
52
  __all__ = [
52
53
  "APIGatewayProxyEvent",
53
54
  "APIGatewayProxyEventV2",
55
+ "APIGatewayWebSocketEvent",
54
56
  "SecretsManagerEvent",
55
57
  "AppSyncResolverEvent",
56
58
  "ALBEvent",
@@ -18,7 +18,7 @@ class ALBEventRequestContext(DictWrapper):
18
18
  @property
19
19
  def elb_target_group_arn(self) -> str:
20
20
  """Target group arn for your Lambda function"""
21
- return self["requestContext"]["elb"]["targetGroupArn"]
21
+ return self["elb"]["targetGroupArn"]
22
22
 
23
23
 
24
24
  class ALBEvent(BaseProxyEvent):
@@ -32,11 +32,7 @@ class ALBEvent(BaseProxyEvent):
32
32
 
33
33
  @property
34
34
  def request_context(self) -> ALBEventRequestContext:
35
- return ALBEventRequestContext(self._data)
36
-
37
- @property
38
- def multi_value_query_string_parameters(self) -> dict[str, list[str]]:
39
- return self.get("multiValueQueryStringParameters") or {}
35
+ return ALBEventRequestContext(self["requestContext"])
40
36
 
41
37
  @property
42
38
  def resolved_query_string_parameters(self) -> dict[str, list[str]]:
@@ -183,7 +183,7 @@ class APIGatewayAuthorizerRequestEvent(DictWrapper):
183
183
 
184
184
  @property
185
185
  def request_context(self) -> BaseRequestContext:
186
- return BaseRequestContext(self._data)
186
+ return BaseRequestContext(self["requestContext"])
187
187
 
188
188
  @overload
189
189
  def get_header_value(
@@ -306,7 +306,7 @@ class APIGatewayAuthorizerEventV2(DictWrapper):
306
306
 
307
307
  @property
308
308
  def request_context(self) -> BaseRequestContextV2:
309
- return BaseRequestContextV2(self._data)
309
+ return BaseRequestContextV2(self["requestContext"])
310
310
 
311
311
  @property
312
312
  def path_parameters(self) -> dict[str, str]:
@@ -61,42 +61,41 @@ class APIGatewayEventRequestContext(BaseRequestContext):
61
61
  @property
62
62
  def connected_at(self) -> int | None:
63
63
  """The Epoch-formatted connection time. (WebSocket API)"""
64
- return self["requestContext"].get("connectedAt")
64
+ return self.get("connectedAt")
65
65
 
66
66
  @property
67
67
  def connection_id(self) -> str | None:
68
68
  """A unique ID for the connection that can be used to make a callback to the client. (WebSocket API)"""
69
- return self["requestContext"].get("connectionId")
69
+ return self.get("connectionId")
70
70
 
71
71
  @property
72
72
  def event_type(self) -> str | None:
73
73
  """The event type: `CONNECT`, `MESSAGE`, or `DISCONNECT`. (WebSocket API)"""
74
- return self["requestContext"].get("eventType")
74
+ return self.get("eventType")
75
75
 
76
76
  @property
77
77
  def message_direction(self) -> str | None:
78
78
  """Message direction (WebSocket API)"""
79
- return self["requestContext"].get("messageDirection")
79
+ return self.get("messageDirection")
80
80
 
81
81
  @property
82
82
  def message_id(self) -> str | None:
83
83
  """A unique server-side ID for a message. Available only when the `eventType` is `MESSAGE`."""
84
- return self["requestContext"].get("messageId")
84
+ return self.get("messageId")
85
85
 
86
86
  @property
87
87
  def operation_name(self) -> str | None:
88
88
  """The name of the operation being performed"""
89
- return self["requestContext"].get("operationName")
89
+ return self.get("operationName")
90
90
 
91
91
  @property
92
92
  def route_key(self) -> str | None:
93
93
  """The selected route key."""
94
- return self["requestContext"].get("routeKey")
94
+ return self.get("routeKey")
95
95
 
96
96
  @property
97
97
  def authorizer(self) -> APIGatewayEventAuthorizer:
98
- authz_data = self._data.get("requestContext", {}).get("authorizer", {})
99
- return APIGatewayEventAuthorizer(authz_data)
98
+ return APIGatewayEventAuthorizer(self.get("authorizer") or {})
100
99
 
101
100
 
102
101
  class APIGatewayProxyEvent(BaseProxyEvent):
@@ -119,16 +118,9 @@ class APIGatewayProxyEvent(BaseProxyEvent):
119
118
  def multi_value_headers(self) -> dict[str, list[str]]:
120
119
  return CaseInsensitiveDict(self.get("multiValueHeaders"))
121
120
 
122
- @property
123
- def multi_value_query_string_parameters(self) -> dict[str, list[str]]:
124
- return self.get("multiValueQueryStringParameters") or {} # key might exist but can be `null`
125
-
126
121
  @property
127
122
  def resolved_query_string_parameters(self) -> dict[str, list[str]]:
128
- if self.multi_value_query_string_parameters:
129
- return self.multi_value_query_string_parameters
130
-
131
- return super().resolved_query_string_parameters
123
+ return self.multi_value_query_string_parameters or super().resolved_query_string_parameters
132
124
 
133
125
  @property
134
126
  def resolved_headers_field(self) -> dict[str, Any]:
@@ -136,7 +128,7 @@ class APIGatewayProxyEvent(BaseProxyEvent):
136
128
 
137
129
  @property
138
130
  def request_context(self) -> APIGatewayEventRequestContext:
139
- return APIGatewayEventRequestContext(self._data)
131
+ return APIGatewayEventRequestContext(self["requestContext"])
140
132
 
141
133
  @property
142
134
  def path_parameters(self) -> dict[str, str]:
@@ -248,8 +240,7 @@ class RequestContextV2Authorizer(DictWrapper):
248
240
  class RequestContextV2(BaseRequestContextV2):
249
241
  @property
250
242
  def authorizer(self) -> RequestContextV2Authorizer:
251
- ctx = self.get("requestContext") or {} # key might exist but can be `null`
252
- return RequestContextV2Authorizer(ctx.get("authorizer", {}))
243
+ return RequestContextV2Authorizer(self.get("authorizer") or {})
253
244
 
254
245
 
255
246
  class APIGatewayProxyEventV2(BaseProxyEvent):
@@ -291,7 +282,7 @@ class APIGatewayProxyEventV2(BaseProxyEvent):
291
282
 
292
283
  @property
293
284
  def request_context(self) -> RequestContextV2:
294
- return RequestContextV2(self._data)
285
+ return RequestContextV2(self["requestContext"])
295
286
 
296
287
  @property
297
288
  def path_parameters(self) -> dict[str, str]:
@@ -0,0 +1,128 @@
1
+ from __future__ import annotations
2
+
3
+ import base64
4
+ from functools import cached_property
5
+ from typing import Any
6
+
7
+ from aws_lambda_powertools.utilities.data_classes.common import (
8
+ CaseInsensitiveDict,
9
+ DictWrapper,
10
+ )
11
+
12
+
13
+ class APIGatewayWebSocketEventIdentity(DictWrapper):
14
+ @property
15
+ def source_ip(self) -> str:
16
+ return self["sourceIp"]
17
+
18
+ @property
19
+ def user_agent(self) -> str | None:
20
+ return self.get("userAgent")
21
+
22
+
23
+ class APIGatewayWebSocketEventRequestContext(DictWrapper):
24
+ @property
25
+ def route_key(self) -> str:
26
+ return self["routeKey"]
27
+
28
+ @property
29
+ def disconnect_status_code(self) -> int | None:
30
+ return self.get("disconnectStatusCode")
31
+
32
+ @property
33
+ def message_id(self) -> str | None:
34
+ return self.get("messageId")
35
+
36
+ @property
37
+ def event_type(self) -> str:
38
+ return self["eventType"]
39
+
40
+ @property
41
+ def extended_request_id(self) -> str:
42
+ return self["extendedRequestId"]
43
+
44
+ @property
45
+ def request_time(self) -> str:
46
+ return self["requestTime"]
47
+
48
+ @property
49
+ def message_direction(self) -> str:
50
+ return self["messageDirection"]
51
+
52
+ @property
53
+ def disconnect_reason(self) -> str | None:
54
+ return self.get("disconnectReason")
55
+
56
+ @property
57
+ def stage(self) -> str:
58
+ return self["stage"]
59
+
60
+ @property
61
+ def connected_at(self) -> int:
62
+ return self["connectedAt"]
63
+
64
+ @property
65
+ def request_time_epoch(self) -> int:
66
+ return self["requestTimeEpoch"]
67
+
68
+ @property
69
+ def identity(self) -> APIGatewayWebSocketEventIdentity:
70
+ return APIGatewayWebSocketEventIdentity(self["identity"])
71
+
72
+ @property
73
+ def request_id(self) -> str:
74
+ return self["requestId"]
75
+
76
+ @property
77
+ def domain_name(self) -> str:
78
+ return self["domainName"]
79
+
80
+ @property
81
+ def connection_id(self) -> str:
82
+ return self["connectionId"]
83
+
84
+ @property
85
+ def api_id(self) -> str:
86
+ return self["apiId"]
87
+
88
+
89
+ class APIGatewayWebSocketEvent(DictWrapper):
90
+ """AWS proxy integration event for WebSocket API
91
+
92
+ Documentation:
93
+ --------------
94
+ - https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-integration-requests.html
95
+ """
96
+
97
+ @property
98
+ def is_base64_encoded(self) -> bool:
99
+ return self["isBase64Encoded"]
100
+
101
+ @property
102
+ def body(self) -> str | None:
103
+ return self.get("body")
104
+
105
+ @cached_property
106
+ def decoded_body(self) -> str | None:
107
+ body = self.body
108
+ if self.is_base64_encoded and body:
109
+ return base64.b64decode(body.encode()).decode()
110
+ return body
111
+
112
+ @cached_property
113
+ def json_body(self) -> Any:
114
+ if self.decoded_body:
115
+ return self._json_deserializer(self.decoded_body)
116
+ return None
117
+
118
+ @property
119
+ def headers(self) -> dict[str, str]:
120
+ return CaseInsensitiveDict(self.get("headers"))
121
+
122
+ @property
123
+ def multi_value_headers(self) -> dict[str, list[str]]:
124
+ return CaseInsensitiveDict(self.get("multiValueHeaders"))
125
+
126
+ @property
127
+ def request_context(self) -> APIGatewayWebSocketEventRequestContext:
128
+ return APIGatewayWebSocketEventRequestContext(self["requestContext"])
@@ -11,32 +11,32 @@ class AppSyncAuthorizerEventRequestContext(DictWrapper):
11
11
  @property
12
12
  def api_id(self) -> str:
13
13
  """AppSync API ID"""
14
- return self["requestContext"]["apiId"]
14
+ return self["apiId"]
15
15
 
16
16
  @property
17
17
  def account_id(self) -> str:
18
18
  """AWS Account ID"""
19
- return self["requestContext"]["accountId"]
19
+ return self["accountId"]
20
20
 
21
21
  @property
22
22
  def request_id(self) -> str:
23
23
  """Requestt ID"""
24
- return self["requestContext"]["requestId"]
24
+ return self["requestId"]
25
25
 
26
26
  @property
27
27
  def query_string(self) -> str:
28
28
  """GraphQL query string"""
29
- return self["requestContext"]["queryString"]
29
+ return self["queryString"]
30
30
 
31
31
  @property
32
32
  def operation_name(self) -> str | None:
33
33
  """GraphQL operation name, optional"""
34
- return self["requestContext"].get("operationName")
34
+ return self.get("operationName")
35
35
 
36
36
  @property
37
37
  def variables(self) -> dict:
38
38
  """GraphQL variables"""
39
- return self["requestContext"]["variables"]
39
+ return self["variables"]
40
40
 
41
41
 
42
42
  class AppSyncAuthorizerEvent(DictWrapper):
@@ -57,7 +57,7 @@ class AppSyncAuthorizerEvent(DictWrapper):
57
57
  @property
58
58
  def request_context(self) -> AppSyncAuthorizerEventRequestContext:
59
59
  """Request context"""
60
- return AppSyncAuthorizerEventRequestContext(self._data)
60
+ return AppSyncAuthorizerEventRequestContext(self["requestContext"])
61
61
 
62
62
 
63
63
  class AppSyncAuthorizerResponse:
@@ -57,6 +57,8 @@ class BedrockAgentEvent(BaseProxyEvent):
57
57
  See https://docs.aws.amazon.com/bedrock/latest/userguide/agents-create.html
58
58
  """
59
59
 
60
+ # httpMethod is inherited from BaseProxyEvent class.
61
+
60
62
  @property
61
63
  def message_version(self) -> str:
62
64
  return self["messageVersion"]
@@ -77,10 +79,6 @@ class BedrockAgentEvent(BaseProxyEvent):
77
79
  def api_path(self) -> str:
78
80
  return self["apiPath"]
79
81
 
80
- @property
81
- def http_method(self) -> str:
82
- return self["httpMethod"]
83
-
84
82
  @property
85
83
  def parameters(self) -> list[BedrockAgentProperty]:
86
84
  parameters = self.get("parameters") or []