aws-lambda-powertools 2.34.2__tar.gz → 2.35.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (238) hide show
  1. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/PKG-INFO +2 -1
  2. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/README.md +1 -0
  3. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/event_handler/api_gateway.py +15 -0
  4. aws_lambda_powertools-2.35.0/aws_lambda_powertools/event_handler/bedrock_agent.py +255 -0
  5. aws_lambda_powertools-2.35.0/aws_lambda_powertools/event_handler/openapi/constants.py +2 -0
  6. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/event_handler/openapi/models.py +3 -3
  7. aws_lambda_powertools-2.35.0/aws_lambda_powertools/event_handler/openapi/swagger_ui/swagger-ui-bundle.min.js +12 -0
  8. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/event_handler/openapi/swagger_ui/swagger-ui.min.css +1 -7
  9. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/logging/__init__.py +1 -0
  10. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/logging/logger.py +19 -21
  11. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/metrics/__init__.py +1 -0
  12. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/middleware_factory/__init__.py +1 -0
  13. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/shared/functions.py +3 -6
  14. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/shared/version.py +1 -1
  15. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/tracing/__init__.py +0 -1
  16. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/tracing/tracer.py +2 -4
  17. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/batch/base.py +7 -4
  18. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/batch/exceptions.py +1 -0
  19. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_classes/common.py +1 -1
  20. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_masking/base.py +4 -8
  21. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_masking/provider/kms/aws_encryption_sdk.py +0 -1
  22. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/idempotency/exceptions.py +0 -1
  23. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/idempotency/idempotency.py +1 -0
  24. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/idempotency/serialization/base.py +1 -0
  25. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parameters/appconfig.py +0 -1
  26. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parameters/base.py +3 -4
  27. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parameters/dynamodb.py +0 -1
  28. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parameters/secrets.py +0 -1
  29. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parameters/ssm.py +13 -24
  30. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/__init__.py +1 -0
  31. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/parser.py +2 -4
  32. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/serialization.py +1 -0
  33. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/pyproject.toml +8 -6
  34. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/setup.py +2 -2
  35. aws_lambda_powertools-2.34.2/aws_lambda_powertools/event_handler/bedrock_agent.py +0 -93
  36. aws_lambda_powertools-2.34.2/aws_lambda_powertools/event_handler/openapi/constants.py +0 -2
  37. aws_lambda_powertools-2.34.2/aws_lambda_powertools/event_handler/openapi/swagger_ui/swagger-ui-bundle.min.js +0 -8
  38. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/LICENSE +0 -0
  39. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/THIRD-PARTY-LICENSES +0 -0
  40. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/__init__.py +0 -0
  41. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/event_handler/__init__.py +0 -0
  42. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/event_handler/appsync.py +0 -0
  43. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/event_handler/content_types.py +0 -0
  44. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/event_handler/exceptions.py +0 -0
  45. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/event_handler/lambda_function_url.py +0 -0
  46. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/event_handler/middlewares/__init__.py +0 -0
  47. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/event_handler/middlewares/base.py +0 -0
  48. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/event_handler/middlewares/openapi_validation.py +0 -0
  49. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/event_handler/middlewares/schema_validation.py +0 -0
  50. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/event_handler/openapi/__init__.py +0 -0
  51. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/event_handler/openapi/compat.py +0 -0
  52. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/event_handler/openapi/dependant.py +0 -0
  53. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/event_handler/openapi/encoders.py +0 -0
  54. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/event_handler/openapi/exceptions.py +0 -0
  55. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/event_handler/openapi/params.py +0 -0
  56. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/event_handler/openapi/pydantic_loader.py +0 -0
  57. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/event_handler/openapi/swagger_ui/__init__.py +0 -0
  58. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/event_handler/openapi/swagger_ui/html.py +0 -0
  59. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/event_handler/openapi/types.py +0 -0
  60. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/event_handler/router.py +0 -0
  61. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/event_handler/types.py +0 -0
  62. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/event_handler/util.py +0 -0
  63. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/event_handler/vpc_lattice.py +0 -0
  64. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/exceptions/__init__.py +0 -0
  65. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/logging/correlation_paths.py +0 -0
  66. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/logging/exceptions.py +0 -0
  67. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/logging/filters.py +0 -0
  68. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/logging/formatter.py +0 -0
  69. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/logging/formatters/__init__.py +0 -0
  70. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/logging/formatters/datadog.py +0 -0
  71. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/logging/lambda_context.py +0 -0
  72. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/logging/types.py +0 -0
  73. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/logging/utils.py +0 -0
  74. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/metrics/base.py +0 -0
  75. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/metrics/exceptions.py +0 -0
  76. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/metrics/functions.py +0 -0
  77. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/metrics/metric.py +0 -0
  78. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/metrics/metrics.py +0 -0
  79. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/metrics/provider/__init__.py +0 -0
  80. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/metrics/provider/base.py +0 -0
  81. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/__init__.py +0 -0
  82. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/cloudwatch.py +0 -0
  83. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/constants.py +0 -0
  84. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/exceptions.py +0 -0
  85. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/metric_properties.py +0 -0
  86. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/metrics/provider/cloudwatch_emf/types.py +0 -0
  87. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/metrics/provider/cold_start.py +0 -0
  88. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/metrics/provider/datadog/__init__.py +0 -0
  89. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/metrics/provider/datadog/datadog.py +0 -0
  90. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/metrics/provider/datadog/metrics.py +0 -0
  91. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/metrics/provider/datadog/warnings.py +0 -0
  92. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/metrics/types.py +0 -0
  93. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/middleware_factory/exceptions.py +0 -0
  94. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/middleware_factory/factory.py +0 -0
  95. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/package_logger.py +0 -0
  96. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/py.typed +0 -0
  97. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/shared/__init__.py +0 -0
  98. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/shared/cache_dict.py +0 -0
  99. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/shared/constants.py +0 -0
  100. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/shared/cookies.py +0 -0
  101. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/shared/headers_serializer.py +0 -0
  102. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/shared/json_encoder.py +0 -0
  103. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/shared/lazy_import.py +0 -0
  104. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/shared/types.py +0 -0
  105. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/shared/user_agent.py +0 -0
  106. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/tracing/base.py +0 -0
  107. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/tracing/extensions.py +0 -0
  108. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/__init__.py +0 -0
  109. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/batch/__init__.py +0 -0
  110. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/batch/decorators.py +0 -0
  111. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/batch/sqs_fifo_partial_processor.py +0 -0
  112. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/batch/types.py +0 -0
  113. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_classes/__init__.py +0 -0
  114. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_classes/active_mq_event.py +0 -0
  115. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_classes/alb_event.py +0 -0
  116. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_classes/api_gateway_authorizer_event.py +0 -0
  117. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_classes/api_gateway_proxy_event.py +0 -0
  118. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_classes/appsync/__init__.py +0 -0
  119. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_classes/appsync/scalar_types_utils.py +0 -0
  120. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_classes/appsync_authorizer_event.py +0 -0
  121. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_classes/appsync_resolver_event.py +0 -0
  122. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_classes/aws_config_rule_event.py +0 -0
  123. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_classes/bedrock_agent_event.py +0 -0
  124. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_classes/cloud_watch_custom_widget_event.py +0 -0
  125. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_classes/cloud_watch_logs_event.py +0 -0
  126. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_classes/code_pipeline_job_event.py +0 -0
  127. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_classes/cognito_user_pool_event.py +0 -0
  128. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_classes/connect_contact_flow_event.py +0 -0
  129. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_classes/dynamo_db_stream_event.py +0 -0
  130. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_classes/event_bridge_event.py +0 -0
  131. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_classes/event_source.py +0 -0
  132. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_classes/kafka_event.py +0 -0
  133. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_classes/kinesis_firehose_event.py +0 -0
  134. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_classes/kinesis_stream_event.py +0 -0
  135. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_classes/lambda_function_url_event.py +0 -0
  136. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_classes/rabbit_mq_event.py +0 -0
  137. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_classes/s3_batch_operation_event.py +0 -0
  138. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_classes/s3_event.py +0 -0
  139. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_classes/s3_object_event.py +0 -0
  140. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_classes/secrets_manager_event.py +0 -0
  141. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_classes/ses_event.py +0 -0
  142. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_classes/shared_functions.py +0 -0
  143. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_classes/sns_event.py +0 -0
  144. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_classes/sqs_event.py +0 -0
  145. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_classes/vpc_lattice.py +0 -0
  146. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_masking/__init__.py +0 -0
  147. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_masking/constants.py +0 -0
  148. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_masking/exceptions.py +0 -0
  149. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_masking/provider/__init__.py +0 -0
  150. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_masking/provider/base.py +0 -0
  151. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/data_masking/provider/kms/__init__.py +0 -0
  152. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/feature_flags/__init__.py +0 -0
  153. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/feature_flags/appconfig.py +0 -0
  154. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/feature_flags/base.py +0 -0
  155. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/feature_flags/comparators.py +0 -0
  156. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/feature_flags/exceptions.py +0 -0
  157. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/feature_flags/feature_flags.py +0 -0
  158. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/feature_flags/schema.py +0 -0
  159. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/idempotency/__init__.py +0 -0
  160. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/idempotency/base.py +0 -0
  161. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/idempotency/config.py +0 -0
  162. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/idempotency/persistence/__init__.py +0 -0
  163. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/idempotency/persistence/base.py +0 -0
  164. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/idempotency/persistence/datarecord.py +0 -0
  165. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/idempotency/persistence/dynamodb.py +0 -0
  166. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/idempotency/persistence/redis.py +0 -0
  167. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/idempotency/serialization/__init__.py +0 -0
  168. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/idempotency/serialization/custom_dict.py +0 -0
  169. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/idempotency/serialization/dataclass.py +0 -0
  170. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/idempotency/serialization/no_op.py +0 -0
  171. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/idempotency/serialization/pydantic.py +0 -0
  172. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/jmespath_utils/__init__.py +0 -0
  173. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/jmespath_utils/envelopes.py +0 -0
  174. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parameters/__init__.py +0 -0
  175. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parameters/exceptions.py +0 -0
  176. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parameters/types.py +0 -0
  177. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/compat.py +0 -0
  178. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/envelopes/__init__.py +0 -0
  179. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/envelopes/apigw.py +0 -0
  180. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/envelopes/apigwv2.py +0 -0
  181. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/envelopes/base.py +0 -0
  182. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/envelopes/bedrock_agent.py +0 -0
  183. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/envelopes/cloudwatch.py +0 -0
  184. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/envelopes/dynamodb.py +0 -0
  185. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/envelopes/event_bridge.py +0 -0
  186. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/envelopes/kafka.py +0 -0
  187. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/envelopes/kinesis.py +0 -0
  188. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/envelopes/kinesis_firehose.py +0 -0
  189. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/envelopes/lambda_function_url.py +0 -0
  190. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/envelopes/sns.py +0 -0
  191. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/envelopes/sqs.py +0 -0
  192. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/envelopes/vpc_lattice.py +0 -0
  193. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/envelopes/vpc_latticev2.py +0 -0
  194. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/exceptions.py +0 -0
  195. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/models/__init__.py +0 -0
  196. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/models/alb.py +0 -0
  197. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/models/apigw.py +0 -0
  198. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/models/apigwv2.py +0 -0
  199. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/models/bedrock_agent.py +0 -0
  200. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/models/cloudformation_custom_resource.py +0 -0
  201. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/models/cloudwatch.py +0 -0
  202. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/models/dynamodb.py +0 -0
  203. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/models/event_bridge.py +0 -0
  204. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/models/kafka.py +0 -0
  205. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/models/kinesis.py +0 -0
  206. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/models/kinesis_firehose.py +0 -0
  207. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/models/kinesis_firehose_sqs.py +0 -0
  208. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/models/lambda_function_url.py +0 -0
  209. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/models/s3.py +0 -0
  210. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/models/s3_batch_operation.py +0 -0
  211. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/models/s3_event_notification.py +0 -0
  212. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/models/s3_object_event.py +0 -0
  213. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/models/ses.py +0 -0
  214. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/models/sns.py +0 -0
  215. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/models/sqs.py +0 -0
  216. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/models/vpc_lattice.py +0 -0
  217. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/models/vpc_latticev2.py +0 -0
  218. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/pydantic.py +0 -0
  219. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/parser/types.py +0 -0
  220. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/streaming/__init__.py +0 -0
  221. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/streaming/_s3_seekable_io.py +0 -0
  222. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/streaming/compat.py +0 -0
  223. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/streaming/s3_object.py +0 -0
  224. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/streaming/transformations/__init__.py +0 -0
  225. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/streaming/transformations/base.py +0 -0
  226. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/streaming/transformations/csv.py +0 -0
  227. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/streaming/transformations/gzip.py +0 -0
  228. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/streaming/transformations/zip.py +0 -0
  229. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/typing/__init__.py +0 -0
  230. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/typing/lambda_client_context.py +0 -0
  231. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/typing/lambda_client_context_mobile_client.py +0 -0
  232. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/typing/lambda_cognito_identity.py +0 -0
  233. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/typing/lambda_context.py +0 -0
  234. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/validation/__init__.py +0 -0
  235. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/validation/base.py +0 -0
  236. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/validation/envelopes.py +0 -0
  237. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/validation/exceptions.py +0 -0
  238. {aws_lambda_powertools-2.34.2 → aws_lambda_powertools-2.35.0}/aws_lambda_powertools/utilities/validation/validator.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: aws-lambda-powertools
3
- Version: 2.34.2
3
+ Version: 2.35.0
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
@@ -63,6 +63,7 @@ Powertools for AWS Lambda (Python) is a developer toolkit to implement Serverles
63
63
  * **[Metrics](https://docs.powertools.aws.dev/lambda/python/latest/core/metrics/)** - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF)
64
64
  * **[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
65
65
  * **[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
66
+ * **[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
66
67
  * **[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
67
68
  * **[Parameters utility](https://docs.powertools.aws.dev/lambda/python/latest/utilities/parameters/)** - Retrieve and cache parameter values from Parameter Store, Secrets Manager, or DynamoDB
68
69
  * **[Batch processing](https://docs.powertools.aws.dev/lambda/python/latest/utilities/batch/)** - Handle partial failures for AWS SQS batch processing
@@ -20,6 +20,7 @@ Powertools for AWS Lambda (Python) is a developer toolkit to implement Serverles
20
20
  * **[Metrics](https://docs.powertools.aws.dev/lambda/python/latest/core/metrics/)** - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF)
21
21
  * **[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
22
22
  * **[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
23
+ * **[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
23
24
  * **[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
24
25
  * **[Parameters utility](https://docs.powertools.aws.dev/lambda/python/latest/utilities/parameters/)** - Retrieve and cache parameter values from Parameter Store, Secrets Manager, or DynamoDB
25
26
  * **[Batch processing](https://docs.powertools.aws.dev/lambda/python/latest/utilities/batch/)** - Handle partial failures for AWS SQS batch processing
@@ -1455,10 +1455,25 @@ class ApiGatewayResolver(BaseRouter):
1455
1455
  get_definitions,
1456
1456
  )
1457
1457
  from aws_lambda_powertools.event_handler.openapi.models import OpenAPI, PathItem, Server, Tag
1458
+ from aws_lambda_powertools.event_handler.openapi.pydantic_loader import PYDANTIC_V2
1458
1459
  from aws_lambda_powertools.event_handler.openapi.types import (
1459
1460
  COMPONENT_REF_TEMPLATE,
1460
1461
  )
1461
1462
 
1463
+ # Pydantic V2 has no support for OpenAPI schema 3.0
1464
+ if PYDANTIC_V2 and not openapi_version.startswith("3.1"):
1465
+ warnings.warn(
1466
+ "You are using Pydantic v2, which is incompatible with OpenAPI schema 3.0. Forcing OpenAPI 3.1",
1467
+ stacklevel=2,
1468
+ )
1469
+ openapi_version = "3.1.0"
1470
+ elif not PYDANTIC_V2 and not openapi_version.startswith("3.0"):
1471
+ warnings.warn(
1472
+ "You are using Pydantic v1, which is incompatible with OpenAPI schema 3.1. Forcing OpenAPI 3.0",
1473
+ stacklevel=2,
1474
+ )
1475
+ openapi_version = "3.0.3"
1476
+
1462
1477
  # Start with the bare minimum required for a valid OpenAPI schema
1463
1478
  info: Dict[str, Any] = {"title": title, "version": version}
1464
1479
 
@@ -0,0 +1,255 @@
1
+ from re import Match
2
+ from typing import Any, Callable, Dict, List, Optional
3
+
4
+ from typing_extensions import override
5
+
6
+ from aws_lambda_powertools.event_handler import ApiGatewayResolver
7
+ from aws_lambda_powertools.event_handler.api_gateway import (
8
+ _DEFAULT_OPENAPI_RESPONSE_DESCRIPTION,
9
+ ProxyEventType,
10
+ ResponseBuilder,
11
+ )
12
+ from aws_lambda_powertools.event_handler.openapi.types import OpenAPIResponse
13
+ from aws_lambda_powertools.utilities.data_classes import BedrockAgentEvent
14
+
15
+
16
+ class BedrockResponseBuilder(ResponseBuilder):
17
+ """
18
+ Bedrock Response Builder. This builds the response dict to be returned by Lambda when using Bedrock Agents.
19
+
20
+ Since the payload format is different from the standard API Gateway Proxy event, we override the build method.
21
+ """
22
+
23
+ @override
24
+ def build(self, event: BedrockAgentEvent, *args) -> Dict[str, Any]:
25
+ """Build the full response dict to be returned by the lambda"""
26
+ self._route(event, None)
27
+
28
+ body = self.response.body
29
+ if self.response.is_json() and not isinstance(self.response.body, str):
30
+ body = self.serializer(self.response.body)
31
+
32
+ return {
33
+ "messageVersion": "1.0",
34
+ "response": {
35
+ "actionGroup": event.action_group,
36
+ "apiPath": event.api_path,
37
+ "httpMethod": event.http_method,
38
+ "httpStatusCode": self.response.status_code,
39
+ "responseBody": {
40
+ self.response.content_type: {
41
+ "body": body,
42
+ },
43
+ },
44
+ },
45
+ }
46
+
47
+
48
+ class BedrockAgentResolver(ApiGatewayResolver):
49
+ """Bedrock Agent Resolver
50
+
51
+ See https://aws.amazon.com/bedrock/agents/ for more information.
52
+
53
+ Examples
54
+ --------
55
+ Simple example with a custom lambda handler using the Tracer capture_lambda_handler decorator
56
+
57
+ ```python
58
+ from aws_lambda_powertools import Tracer
59
+ from aws_lambda_powertools.event_handler import BedrockAgentResolver
60
+
61
+ tracer = Tracer()
62
+ app = BedrockAgentResolver()
63
+
64
+ @app.get("/claims")
65
+ def simple_get():
66
+ return "You have 3 claims"
67
+
68
+ @tracer.capture_lambda_handler
69
+ def lambda_handler(event, context):
70
+ return app.resolve(event, context)
71
+ ```
72
+
73
+ """
74
+
75
+ current_event: BedrockAgentEvent
76
+
77
+ def __init__(self, debug: bool = False, enable_validation: bool = True):
78
+ super().__init__(
79
+ proxy_type=ProxyEventType.BedrockAgentEvent,
80
+ cors=None,
81
+ debug=debug,
82
+ serializer=None,
83
+ strip_prefixes=None,
84
+ enable_validation=enable_validation,
85
+ )
86
+ self._response_builder_class = BedrockResponseBuilder
87
+
88
+ # Note: we need ignore[override] because we are making the optional `description` field required.
89
+ @override
90
+ def get( # type: ignore[override]
91
+ self,
92
+ rule: str,
93
+ description: str,
94
+ cors: Optional[bool] = None,
95
+ compress: bool = False,
96
+ cache_control: Optional[str] = None,
97
+ summary: Optional[str] = None,
98
+ responses: Optional[Dict[int, OpenAPIResponse]] = None,
99
+ response_description: str = _DEFAULT_OPENAPI_RESPONSE_DESCRIPTION,
100
+ tags: Optional[List[str]] = None,
101
+ operation_id: Optional[str] = None,
102
+ include_in_schema: bool = True,
103
+ middlewares: Optional[List[Callable[..., Any]]] = None,
104
+ ) -> Callable[[Callable[..., Any]], Callable[..., Any]]:
105
+ return super(BedrockAgentResolver, self).get(
106
+ rule,
107
+ cors,
108
+ compress,
109
+ cache_control,
110
+ summary,
111
+ description,
112
+ responses,
113
+ response_description,
114
+ tags,
115
+ operation_id,
116
+ include_in_schema,
117
+ middlewares,
118
+ )
119
+
120
+ # Note: we need ignore[override] because we are making the optional `description` field required.
121
+ @override
122
+ def post( # type: ignore[override]
123
+ self,
124
+ rule: str,
125
+ description: str,
126
+ cors: Optional[bool] = None,
127
+ compress: bool = False,
128
+ cache_control: Optional[str] = None,
129
+ summary: Optional[str] = None,
130
+ responses: Optional[Dict[int, OpenAPIResponse]] = None,
131
+ response_description: str = _DEFAULT_OPENAPI_RESPONSE_DESCRIPTION,
132
+ tags: Optional[List[str]] = None,
133
+ operation_id: Optional[str] = None,
134
+ include_in_schema: bool = True,
135
+ middlewares: Optional[List[Callable[..., Any]]] = None,
136
+ ):
137
+ return super().post(
138
+ rule,
139
+ cors,
140
+ compress,
141
+ cache_control,
142
+ summary,
143
+ description,
144
+ responses,
145
+ response_description,
146
+ tags,
147
+ operation_id,
148
+ include_in_schema,
149
+ middlewares,
150
+ )
151
+
152
+ # Note: we need ignore[override] because we are making the optional `description` field required.
153
+ @override
154
+ def put( # type: ignore[override]
155
+ self,
156
+ rule: str,
157
+ description: str,
158
+ cors: Optional[bool] = None,
159
+ compress: bool = False,
160
+ cache_control: Optional[str] = None,
161
+ summary: Optional[str] = None,
162
+ responses: Optional[Dict[int, OpenAPIResponse]] = None,
163
+ response_description: str = _DEFAULT_OPENAPI_RESPONSE_DESCRIPTION,
164
+ tags: Optional[List[str]] = None,
165
+ operation_id: Optional[str] = None,
166
+ include_in_schema: bool = True,
167
+ middlewares: Optional[List[Callable[..., Any]]] = None,
168
+ ):
169
+ return super().put(
170
+ rule,
171
+ cors,
172
+ compress,
173
+ cache_control,
174
+ summary,
175
+ description,
176
+ responses,
177
+ response_description,
178
+ tags,
179
+ operation_id,
180
+ include_in_schema,
181
+ middlewares,
182
+ )
183
+
184
+ # Note: we need ignore[override] because we are making the optional `description` field required.
185
+ @override
186
+ def patch( # type: ignore[override]
187
+ self,
188
+ rule: str,
189
+ description: str,
190
+ cors: Optional[bool] = None,
191
+ compress: bool = False,
192
+ cache_control: Optional[str] = None,
193
+ summary: Optional[str] = None,
194
+ responses: Optional[Dict[int, OpenAPIResponse]] = None,
195
+ response_description: str = _DEFAULT_OPENAPI_RESPONSE_DESCRIPTION,
196
+ tags: Optional[List[str]] = None,
197
+ operation_id: Optional[str] = None,
198
+ include_in_schema: bool = True,
199
+ middlewares: Optional[List[Callable]] = None,
200
+ ):
201
+ return super().patch(
202
+ rule,
203
+ cors,
204
+ compress,
205
+ cache_control,
206
+ summary,
207
+ description,
208
+ responses,
209
+ response_description,
210
+ tags,
211
+ operation_id,
212
+ include_in_schema,
213
+ middlewares,
214
+ )
215
+
216
+ # Note: we need ignore[override] because we are making the optional `description` field required.
217
+ @override
218
+ def delete( # type: ignore[override]
219
+ self,
220
+ rule: str,
221
+ description: str,
222
+ cors: Optional[bool] = None,
223
+ compress: bool = False,
224
+ cache_control: Optional[str] = None,
225
+ summary: Optional[str] = None,
226
+ responses: Optional[Dict[int, OpenAPIResponse]] = None,
227
+ response_description: str = _DEFAULT_OPENAPI_RESPONSE_DESCRIPTION,
228
+ tags: Optional[List[str]] = None,
229
+ operation_id: Optional[str] = None,
230
+ include_in_schema: bool = True,
231
+ middlewares: Optional[List[Callable[..., Any]]] = None,
232
+ ):
233
+ return super().delete(
234
+ rule,
235
+ cors,
236
+ compress,
237
+ cache_control,
238
+ summary,
239
+ description,
240
+ responses,
241
+ response_description,
242
+ tags,
243
+ operation_id,
244
+ include_in_schema,
245
+ middlewares,
246
+ )
247
+
248
+ @override
249
+ def _convert_matches_into_route_keys(self, match: Match) -> Dict[str, str]:
250
+ # In Bedrock Agents, all the parameters come inside the "parameters" key, not on the apiPath
251
+ # So we have to search for route parameters in the parameters key
252
+ parameters: Dict[str, str] = {}
253
+ if match.groupdict() and self.current_event.parameters:
254
+ parameters = {parameter["name"]: parameter["value"] for parameter in self.current_event.parameters}
255
+ return parameters
@@ -0,0 +1,2 @@
1
+ DEFAULT_API_VERSION = "1.0.0"
2
+ DEFAULT_OPENAPI_VERSION = "3.0.3"
@@ -45,7 +45,6 @@ class License(BaseModel):
45
45
  # https://swagger.io/specification/#info-object
46
46
  class Info(BaseModel):
47
47
  title: str
48
- summary: Optional[str] = None
49
48
  description: Optional[str] = None
50
49
  termsOfService: Optional[str] = None
51
50
  contact: Optional[Contact] = None
@@ -53,12 +52,13 @@ class Info(BaseModel):
53
52
  version: str
54
53
 
55
54
  if PYDANTIC_V2:
56
- model_config = {"extra": "allow"}
55
+ summary: Optional[str] = None
56
+ model_config = {"extra": "ignore"}
57
57
 
58
58
  else:
59
59
 
60
60
  class Config:
61
- extra = "allow"
61
+ extra = "ignore"
62
62
 
63
63
 
64
64
  # https://swagger.io/specification/#server-variable-object