aws-lambda-powertools 3.0.2.dev1__py3-none-any.whl → 3.1.1a0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- aws_lambda_powertools/event_handler/openapi/models.py +1 -1
- aws_lambda_powertools/shared/version.py +1 -1
- aws_lambda_powertools/utilities/data_classes/__init__.py +4 -0
- aws_lambda_powertools/utilities/data_classes/code_deploy_lifecycle_hook_event.py +13 -0
- aws_lambda_powertools/utilities/idempotency/base.py +8 -11
- aws_lambda_powertools/utilities/parser/envelopes/base.py +5 -6
- aws_lambda_powertools/utilities/parser/functions.py +40 -1
- aws_lambda_powertools/utilities/parser/models/s3.py +4 -2
- aws_lambda_powertools/utilities/parser/parser.py +8 -8
- {aws_lambda_powertools-3.0.2.dev1.dist-info → aws_lambda_powertools-3.1.1a0.dist-info}/METADATA +2 -1
- {aws_lambda_powertools-3.0.2.dev1.dist-info → aws_lambda_powertools-3.1.1a0.dist-info}/RECORD +13 -12
- {aws_lambda_powertools-3.0.2.dev1.dist-info → aws_lambda_powertools-3.1.1a0.dist-info}/LICENSE +0 -0
- {aws_lambda_powertools-3.0.2.dev1.dist-info → aws_lambda_powertools-3.1.1a0.dist-info}/WHEEL +0 -0
|
@@ -201,7 +201,7 @@ class Schema(BaseModel):
|
|
|
201
201
|
deprecated: Optional[bool] = None
|
|
202
202
|
readOnly: Optional[bool] = None
|
|
203
203
|
writeOnly: Optional[bool] = None
|
|
204
|
-
examples: Optional[List["Example"]] = None
|
|
204
|
+
examples: Optional[Union[List["Example"], List[str]]] = None
|
|
205
205
|
# Ref: OpenAPI 3.0.0: https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.0.md#schema-object
|
|
206
206
|
# Schema Object
|
|
207
207
|
discriminator: Optional[Discriminator] = None
|
|
@@ -18,6 +18,9 @@ from .cloud_watch_alarm_event import (
|
|
|
18
18
|
from .cloud_watch_custom_widget_event import CloudWatchDashboardCustomWidgetEvent
|
|
19
19
|
from .cloud_watch_logs_event import CloudWatchLogsEvent
|
|
20
20
|
from .cloudformation_custom_resource_event import CloudFormationCustomResourceEvent
|
|
21
|
+
from .code_deploy_lifecycle_hook_event import (
|
|
22
|
+
CodeDeployLifecycleHookEvent,
|
|
23
|
+
)
|
|
21
24
|
from .code_pipeline_job_event import CodePipelineJobEvent
|
|
22
25
|
from .connect_contact_flow_event import ConnectContactFlowEvent
|
|
23
26
|
from .dynamo_db_stream_event import DynamoDBStreamEvent
|
|
@@ -59,6 +62,7 @@ __all__ = [
|
|
|
59
62
|
"CloudWatchAlarmMetricStat",
|
|
60
63
|
"CloudWatchDashboardCustomWidgetEvent",
|
|
61
64
|
"CloudWatchLogsEvent",
|
|
65
|
+
"CodeDeployLifecycleHookEvent",
|
|
62
66
|
"CodePipelineJobEvent",
|
|
63
67
|
"ConnectContactFlowEvent",
|
|
64
68
|
"DynamoDBStreamEvent",
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
from aws_lambda_powertools.utilities.data_classes.common import DictWrapper
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class CodeDeployLifecycleHookEvent(DictWrapper):
|
|
5
|
+
@property
|
|
6
|
+
def deployment_id(self) -> str:
|
|
7
|
+
"""The unique ID of the calling CodeDeploy Deployment."""
|
|
8
|
+
return self["DeploymentId"]
|
|
9
|
+
|
|
10
|
+
@property
|
|
11
|
+
def lifecycle_event_hook_execution_id(self) -> str:
|
|
12
|
+
"""The unique ID of a deployments lifecycle hook."""
|
|
13
|
+
return self["LifecycleEventHookExecutionId"]
|
|
@@ -239,18 +239,15 @@ class IdempotencyHandler:
|
|
|
239
239
|
f"Execution already in progress with idempotency key: "
|
|
240
240
|
f"{self.persistence_store.event_key_jmespath}={data_record.idempotency_key}",
|
|
241
241
|
)
|
|
242
|
-
response_dict: dict | None = data_record.response_json_as_dict()
|
|
243
|
-
if response_dict is not None:
|
|
244
|
-
serialized_response = self.output_serializer.from_dict(response_dict)
|
|
245
|
-
if self.config.response_hook is not None:
|
|
246
|
-
logger.debug("Response hook configured, invoking function")
|
|
247
|
-
return self.config.response_hook(
|
|
248
|
-
serialized_response,
|
|
249
|
-
data_record,
|
|
250
|
-
)
|
|
251
|
-
return serialized_response
|
|
252
242
|
|
|
253
|
-
|
|
243
|
+
response_dict = data_record.response_json_as_dict()
|
|
244
|
+
serialized_response = self.output_serializer.from_dict(response_dict) if response_dict else None
|
|
245
|
+
|
|
246
|
+
if self.config.response_hook:
|
|
247
|
+
logger.debug("Response hook configured, invoking function")
|
|
248
|
+
return self.config.response_hook(serialized_response, data_record)
|
|
249
|
+
|
|
250
|
+
return serialized_response
|
|
254
251
|
|
|
255
252
|
def _get_function_response(self):
|
|
256
253
|
try:
|
|
@@ -4,7 +4,10 @@ import logging
|
|
|
4
4
|
from abc import ABC, abstractmethod
|
|
5
5
|
from typing import TYPE_CHECKING, Any, TypeVar
|
|
6
6
|
|
|
7
|
-
from aws_lambda_powertools.utilities.parser.functions import
|
|
7
|
+
from aws_lambda_powertools.utilities.parser.functions import (
|
|
8
|
+
_parse_and_validate_event,
|
|
9
|
+
_retrieve_or_set_model_from_cache,
|
|
10
|
+
)
|
|
8
11
|
|
|
9
12
|
if TYPE_CHECKING:
|
|
10
13
|
from aws_lambda_powertools.utilities.parser.types import T
|
|
@@ -38,11 +41,7 @@ class BaseEnvelope(ABC):
|
|
|
38
41
|
adapter = _retrieve_or_set_model_from_cache(model=model)
|
|
39
42
|
|
|
40
43
|
logger.debug("parsing event against model")
|
|
41
|
-
|
|
42
|
-
logger.debug("parsing event as string")
|
|
43
|
-
return adapter.validate_json(data)
|
|
44
|
-
|
|
45
|
-
return adapter.validate_python(data)
|
|
44
|
+
return _parse_and_validate_event(data=data, adapter=adapter)
|
|
46
45
|
|
|
47
46
|
@abstractmethod
|
|
48
47
|
def parse(self, data: dict[str, Any] | Any | None, model: type[T]):
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
import json
|
|
4
|
+
import logging
|
|
5
|
+
from typing import TYPE_CHECKING, Any
|
|
4
6
|
|
|
5
7
|
from pydantic import TypeAdapter
|
|
6
8
|
|
|
@@ -11,6 +13,8 @@ if TYPE_CHECKING:
|
|
|
11
13
|
|
|
12
14
|
CACHE_TYPE_ADAPTER = LRUDict(max_items=1024)
|
|
13
15
|
|
|
16
|
+
logger = logging.getLogger(__name__)
|
|
17
|
+
|
|
14
18
|
|
|
15
19
|
def _retrieve_or_set_model_from_cache(model: type[T]) -> TypeAdapter:
|
|
16
20
|
"""
|
|
@@ -38,3 +42,38 @@ def _retrieve_or_set_model_from_cache(model: type[T]) -> TypeAdapter:
|
|
|
38
42
|
|
|
39
43
|
CACHE_TYPE_ADAPTER[id_model] = TypeAdapter(model)
|
|
40
44
|
return CACHE_TYPE_ADAPTER[id_model]
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
def _parse_and_validate_event(data: dict[str, Any] | Any, adapter: TypeAdapter):
|
|
48
|
+
"""
|
|
49
|
+
Parse and validate the event data using the provided adapter.
|
|
50
|
+
|
|
51
|
+
Params
|
|
52
|
+
------
|
|
53
|
+
data: dict | Any
|
|
54
|
+
The event data to be parsed and validated.
|
|
55
|
+
adapter: TypeAdapter
|
|
56
|
+
The adapter object used for validation.
|
|
57
|
+
|
|
58
|
+
Returns:
|
|
59
|
+
dict: The validated event data.
|
|
60
|
+
|
|
61
|
+
Raises:
|
|
62
|
+
ValidationError: If the data is invalid or cannot be parsed.
|
|
63
|
+
"""
|
|
64
|
+
logger.debug("Parsing event against model")
|
|
65
|
+
|
|
66
|
+
if isinstance(data, str):
|
|
67
|
+
logger.debug("Parsing event as string")
|
|
68
|
+
try:
|
|
69
|
+
return adapter.validate_json(data)
|
|
70
|
+
except NotImplementedError:
|
|
71
|
+
# See: https://github.com/aws-powertools/powertools-lambda-python/issues/5303
|
|
72
|
+
# See: https://github.com/pydantic/pydantic/issues/8890
|
|
73
|
+
logger.debug(
|
|
74
|
+
"Falling back to Python validation due to Pydantic implementation."
|
|
75
|
+
"See issue: https://github.com/aws-powertools/powertools-lambda-python/issues/5303",
|
|
76
|
+
)
|
|
77
|
+
data = json.loads(data)
|
|
78
|
+
|
|
79
|
+
return adapter.validate_python(data)
|
|
@@ -103,8 +103,10 @@ class S3RecordModel(BaseModel):
|
|
|
103
103
|
def validate_s3_object(cls, values):
|
|
104
104
|
event_name = values.get("eventName")
|
|
105
105
|
s3_object = values.get("s3").get("object")
|
|
106
|
-
if "
|
|
107
|
-
raise ValueError(
|
|
106
|
+
if ":Delete" not in event_name and (s3_object.get("size") is None or s3_object.get("eTag") is None):
|
|
107
|
+
raise ValueError(
|
|
108
|
+
"Size and eTag fields are required for all events except ObjectRemoved:* and LifecycleExpiration:*.",
|
|
109
|
+
)
|
|
108
110
|
return values
|
|
109
111
|
|
|
110
112
|
|
|
@@ -4,11 +4,14 @@ import logging
|
|
|
4
4
|
import typing
|
|
5
5
|
from typing import TYPE_CHECKING, Any, Callable, overload
|
|
6
6
|
|
|
7
|
-
from pydantic import PydanticSchemaGenerationError
|
|
7
|
+
from pydantic import PydanticSchemaGenerationError
|
|
8
8
|
|
|
9
9
|
from aws_lambda_powertools.middleware_factory import lambda_handler_decorator
|
|
10
10
|
from aws_lambda_powertools.utilities.parser.exceptions import InvalidEnvelopeError, InvalidModelTypeError
|
|
11
|
-
from aws_lambda_powertools.utilities.parser.functions import
|
|
11
|
+
from aws_lambda_powertools.utilities.parser.functions import (
|
|
12
|
+
_parse_and_validate_event,
|
|
13
|
+
_retrieve_or_set_model_from_cache,
|
|
14
|
+
)
|
|
12
15
|
|
|
13
16
|
if TYPE_CHECKING:
|
|
14
17
|
from aws_lambda_powertools.utilities.parser.envelopes.base import Envelope
|
|
@@ -108,7 +111,7 @@ def event_parser(
|
|
|
108
111
|
|
|
109
112
|
logger.debug(f"Calling handler {handler.__name__}")
|
|
110
113
|
return handler(parsed_event, context, **kwargs)
|
|
111
|
-
except
|
|
114
|
+
except AttributeError as exc:
|
|
112
115
|
raise InvalidModelTypeError(f"Error: {str(exc)}. Please ensure the type you're trying to parse into is correct")
|
|
113
116
|
|
|
114
117
|
|
|
@@ -189,17 +192,14 @@ def parse(event: dict[str, Any], model: type[T], envelope: type[Envelope] | None
|
|
|
189
192
|
adapter = _retrieve_or_set_model_from_cache(model=model)
|
|
190
193
|
|
|
191
194
|
logger.debug("Parsing and validating event model; no envelope used")
|
|
192
|
-
|
|
193
|
-
return adapter.validate_json(event)
|
|
194
|
-
|
|
195
|
-
return adapter.validate_python(event)
|
|
195
|
+
return _parse_and_validate_event(data=event, adapter=adapter)
|
|
196
196
|
|
|
197
197
|
# Pydantic raises PydanticSchemaGenerationError when the model is not a Pydantic model
|
|
198
198
|
# This is seen in the tests where we pass a non-Pydantic model type to the parser or
|
|
199
199
|
# when we pass a data structure that does not match the model (trying to parse a true/false/etc into a model)
|
|
200
200
|
except PydanticSchemaGenerationError as exc:
|
|
201
201
|
raise InvalidModelTypeError(f"The event supplied is unable to be validated into {type(model)}") from exc
|
|
202
|
-
except
|
|
202
|
+
except AttributeError as exc:
|
|
203
203
|
raise InvalidModelTypeError(
|
|
204
204
|
f"Error: {str(exc)}. Please ensure the Input model inherits from BaseModel,\n"
|
|
205
205
|
"and your payload adheres to the specified Input model structure.\n"
|
{aws_lambda_powertools-3.0.2.dev1.dist-info → aws_lambda_powertools-3.1.1a0.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: aws-lambda-powertools
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.1.1a0
|
|
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
|
|
@@ -107,6 +107,7 @@ The following companies, among others, use Powertools:
|
|
|
107
107
|
* [CPQi (Exadel Financial Services)](https://cpqi.com/)
|
|
108
108
|
* [CloudZero](https://www.cloudzero.com/)
|
|
109
109
|
* [CyberArk](https://www.cyberark.com/)
|
|
110
|
+
* [Flyweight](https://flyweight.io/)
|
|
110
111
|
* [globaldatanet](https://globaldatanet.com/)
|
|
111
112
|
* [IMS](https://ims.tech/)
|
|
112
113
|
* [Jit Security](https://www.jit.io/)
|
{aws_lambda_powertools-3.0.2.dev1.dist-info → aws_lambda_powertools-3.1.1a0.dist-info}/RECORD
RENAMED
|
@@ -22,7 +22,7 @@ aws_lambda_powertools/event_handler/openapi/constants.py,sha256=79IF4spKAHvMAO3b
|
|
|
22
22
|
aws_lambda_powertools/event_handler/openapi/dependant.py,sha256=RTYgsWmRyV5mOC5FedKbcInR4Q4n57nc7EdOsCn2nrk,12521
|
|
23
23
|
aws_lambda_powertools/event_handler/openapi/encoders.py,sha256=--AUeeqdtOdNZ4oYrzeQTXpuhES_hUeaPmvRuFOJn74,11700
|
|
24
24
|
aws_lambda_powertools/event_handler/openapi/exceptions.py,sha256=4iubuXydACTddytd3NMfqlwlS9aOXMSaROU7ev2Ojes,777
|
|
25
|
-
aws_lambda_powertools/event_handler/openapi/models.py,sha256=
|
|
25
|
+
aws_lambda_powertools/event_handler/openapi/models.py,sha256=mgiGig45gCMcBUprp7z8tqoQVE-46kOTOImCFuMr_xw,16937
|
|
26
26
|
aws_lambda_powertools/event_handler/openapi/params.py,sha256=b8V9D35VHH6MGzbMHcMZtPpegTrqSKohSBbvGn53Om4,41119
|
|
27
27
|
aws_lambda_powertools/event_handler/openapi/pydantic_loader.py,sha256=Bud_yzI_Cao7UN_9zx6NeP0H2rQOZJbdbDAjgtthB-g,217
|
|
28
28
|
aws_lambda_powertools/event_handler/openapi/swagger_ui/__init__.py,sha256=52wY3inOe1EPunrNl5cUqVQWHM6FsJHU5wpObSAX7-M,335
|
|
@@ -84,7 +84,7 @@ aws_lambda_powertools/shared/json_encoder.py,sha256=JQeWNu-4M7_xI_hqYExrxsb3OcEH
|
|
|
84
84
|
aws_lambda_powertools/shared/lazy_import.py,sha256=TbXQm2bcwXdZrYdBaJJXIswyLlumM85RJ_A_0w-h-GU,2019
|
|
85
85
|
aws_lambda_powertools/shared/types.py,sha256=APkI38HbiTpSF19NSNii8Ydx73vmVUVotgEQ9jHruEI,124
|
|
86
86
|
aws_lambda_powertools/shared/user_agent.py,sha256=DrCMFQuT4a4iIrpcWpAIjY37EFqR9-QxlxDGD-Nn9Gg,7081
|
|
87
|
-
aws_lambda_powertools/shared/version.py,sha256=
|
|
87
|
+
aws_lambda_powertools/shared/version.py,sha256=7dcP2-kn8yR-CUe_Ut9TGcZTwjPwcszpmg3jkINuEow,84
|
|
88
88
|
aws_lambda_powertools/tracing/__init__.py,sha256=Zdk7mE8lUMICbYOnx_1yFjvghzoPOpPmRv-Wkj-kzkU,142
|
|
89
89
|
aws_lambda_powertools/tracing/base.py,sha256=VNqc9CtywKJSuD1H0etuFVzUgpyfskQ9e1N2m_S28R0,4416
|
|
90
90
|
aws_lambda_powertools/tracing/extensions.py,sha256=APOfXOq-hRBKaK5WyfIyrd_6M1_9SWJZ3zxLA9jDZzU,492
|
|
@@ -96,7 +96,7 @@ aws_lambda_powertools/utilities/batch/decorators.py,sha256=6kfZ3lX-OFig4p-GJGTj3
|
|
|
96
96
|
aws_lambda_powertools/utilities/batch/exceptions.py,sha256=RTuhAlHF6ULgGirfTwijVZp2J8njAkCST0E56Zgj-sc,1585
|
|
97
97
|
aws_lambda_powertools/utilities/batch/sqs_fifo_partial_processor.py,sha256=sLJkYCritckbG5nMQiHU1uu1tMM2Iu6IZ3RKB1DwPyw,4236
|
|
98
98
|
aws_lambda_powertools/utilities/batch/types.py,sha256=XgUSbOIfzY4d2z3cFntQHAe6hcmxt6fbvSpa2KaMLeU,1112
|
|
99
|
-
aws_lambda_powertools/utilities/data_classes/__init__.py,sha256=
|
|
99
|
+
aws_lambda_powertools/utilities/data_classes/__init__.py,sha256=_VmD2C8w8f0IwWsn40Eq0ZIf9Mk1CrBiAyoWrz6kRi0,3081
|
|
100
100
|
aws_lambda_powertools/utilities/data_classes/active_mq_event.py,sha256=gJPzcSmw1JsPGKZHUkVGNjveuqQ6OpaibWy6WfJZyHQ,4373
|
|
101
101
|
aws_lambda_powertools/utilities/data_classes/alb_event.py,sha256=3WUxCa9tympp9isYD7-WylR93aD6gB4td0it4W99fH8,1997
|
|
102
102
|
aws_lambda_powertools/utilities/data_classes/api_gateway_authorizer_event.py,sha256=ntT2Wzb1KMsAfGbm3E67Nha5DwpBmv_zV13PYEdfU5U,21288
|
|
@@ -111,6 +111,7 @@ aws_lambda_powertools/utilities/data_classes/cloud_watch_alarm_event.py,sha256=_
|
|
|
111
111
|
aws_lambda_powertools/utilities/data_classes/cloud_watch_custom_widget_event.py,sha256=jOosilW8xBxD69LxssrYZhiUwqnTbtknJIVhg5FA9a8,4215
|
|
112
112
|
aws_lambda_powertools/utilities/data_classes/cloud_watch_logs_event.py,sha256=uuGqErwHw0gTyGKEV5Q92W4yGAEjzUULsb33Egd723M,3470
|
|
113
113
|
aws_lambda_powertools/utilities/data_classes/cloudformation_custom_resource_event.py,sha256=EextMoBG9v_e5bS9Q1DlzVvzljGtIL1ddBszt5fgTeY,1191
|
|
114
|
+
aws_lambda_powertools/utilities/data_classes/code_deploy_lifecycle_hook_event.py,sha256=chJSwmEj7GcKNlqY3HyWHOuhQIQSjqvA4fUxs-PxovA,464
|
|
114
115
|
aws_lambda_powertools/utilities/data_classes/code_pipeline_job_event.py,sha256=dj3RXkOnnIyIyxqoUcekeDN_5SJV_6-xgM-pJrDLyhs,8098
|
|
115
116
|
aws_lambda_powertools/utilities/data_classes/cognito_user_pool_event.py,sha256=VN9VdG05jewwxtDBNyKwFhR2QOrrs86PGd1F34hK744,44155
|
|
116
117
|
aws_lambda_powertools/utilities/data_classes/common.py,sha256=JbJBu_9ESITyLqDK3zPqV4A2EEWrLBQXz6V3xVbZ1p4,20374
|
|
@@ -150,7 +151,7 @@ aws_lambda_powertools/utilities/feature_flags/feature_flags.py,sha256=goie3JDRik
|
|
|
150
151
|
aws_lambda_powertools/utilities/feature_flags/schema.py,sha256=mOU8tr6iGtwY3QD5iorKC8OLwZ23VLKjHOapQp3C9o0,22682
|
|
151
152
|
aws_lambda_powertools/utilities/feature_flags/types.py,sha256=UBMywajJ_umny7GAd9vYDMxpGqRNrcyBzXtMrGdXtkU,261
|
|
152
153
|
aws_lambda_powertools/utilities/idempotency/__init__.py,sha256=9GEhuiB6lLalv37ynRxBVkpZ8kvtuPcQNRLrk9TkzF8,619
|
|
153
|
-
aws_lambda_powertools/utilities/idempotency/base.py,sha256=
|
|
154
|
+
aws_lambda_powertools/utilities/idempotency/base.py,sha256=kO0bN16q-GXiVL_MxYKd30u-9E83YqUvVM_-7tpfb_Y,10829
|
|
154
155
|
aws_lambda_powertools/utilities/idempotency/config.py,sha256=h8UraMbewI39KoIIh7FpB_fXtIv_v0WjN1URtvLfeJQ,2868
|
|
155
156
|
aws_lambda_powertools/utilities/idempotency/exceptions.py,sha256=HLQoBsxrmkkbQVxZ7CxKBwbVw5Tk9ko7VKbkh9qOJmc,2914
|
|
156
157
|
aws_lambda_powertools/utilities/idempotency/hook.py,sha256=XHj6q0dP65C8Cj-TPJ9a8OZB7LyISNJCuEHc8OzhLZg,450
|
|
@@ -181,7 +182,7 @@ aws_lambda_powertools/utilities/parser/__init__.py,sha256=IX6_UzdEMwg7u-bxCpyG3b
|
|
|
181
182
|
aws_lambda_powertools/utilities/parser/envelopes/__init__.py,sha256=w4IlyqzKfW0335Z39aOB6gh30Rw8TInFzEAFxZ2o8u0,1092
|
|
182
183
|
aws_lambda_powertools/utilities/parser/envelopes/apigw.py,sha256=RqOmf4FUKAEUK3boY3dSlHhgIHBv8WkrQ2nFeOyKqjo,1275
|
|
183
184
|
aws_lambda_powertools/utilities/parser/envelopes/apigwv2.py,sha256=E3Rc3ketdakcoQ8aeeHghETwhsDXvhS2s9h1vCpf-Ik,1291
|
|
184
|
-
aws_lambda_powertools/utilities/parser/envelopes/base.py,sha256=
|
|
185
|
+
aws_lambda_powertools/utilities/parser/envelopes/base.py,sha256=LmuRJB3Ydd0A6E_tOWvgqLCkDNhGVd45zzO5uZUfFMo,2072
|
|
185
186
|
aws_lambda_powertools/utilities/parser/envelopes/bedrock_agent.py,sha256=Q_MqowOTeduWS4v0P4hme-KLhOKVby3wjJYw6IofCfg,1294
|
|
186
187
|
aws_lambda_powertools/utilities/parser/envelopes/cloudwatch.py,sha256=xERcckRMA_7RaQS3bP-QSHqxmdU9Tr7o1fVPsbswbPg,1598
|
|
187
188
|
aws_lambda_powertools/utilities/parser/envelopes/dynamodb.py,sha256=fJyqT7i5dgzwuLkpK3tdvKPo_7g3VuVvKsqFYri3pJA,1731
|
|
@@ -195,7 +196,7 @@ aws_lambda_powertools/utilities/parser/envelopes/sqs.py,sha256=MXd9uf6fyP7Sf7ATC
|
|
|
195
196
|
aws_lambda_powertools/utilities/parser/envelopes/vpc_lattice.py,sha256=RIwj1CQJ_qZJVggYAJ4qlfv1T0etrgaODR7Pi51yI1Y,1251
|
|
196
197
|
aws_lambda_powertools/utilities/parser/envelopes/vpc_latticev2.py,sha256=DGLibAGblJPPe1wC-9gvNWR8LusAzTeTLxwc3cizHzY,1264
|
|
197
198
|
aws_lambda_powertools/utilities/parser/exceptions.py,sha256=y6DXKUg48xgvswqMAxOYaUGRAqJgg8sm_F8JORgCa1U,207
|
|
198
|
-
aws_lambda_powertools/utilities/parser/functions.py,sha256=
|
|
199
|
+
aws_lambda_powertools/utilities/parser/functions.py,sha256=DfCWMZ5SAwHdNkaSE4frjM_A6cb45fIE-GsOOjAFOvY,2397
|
|
199
200
|
aws_lambda_powertools/utilities/parser/models/__init__.py,sha256=t8xfWm0vIrKbmnH18yS8NywkbCKdKNa6EnDjdtPLRfg,5391
|
|
200
201
|
aws_lambda_powertools/utilities/parser/models/alb.py,sha256=lJPWPjz0_4Hz9Pkpap3NRvScSI3RWC7o4dFYt4F7LLM,439
|
|
201
202
|
aws_lambda_powertools/utilities/parser/models/apigw.py,sha256=_UbZXcfdcz7U-MrixXor4sc-VkNIuJAj9uwqjJTlhKg,3494
|
|
@@ -210,7 +211,7 @@ aws_lambda_powertools/utilities/parser/models/kinesis.py,sha256=-8zJh1GJd69QCo0t
|
|
|
210
211
|
aws_lambda_powertools/utilities/parser/models/kinesis_firehose.py,sha256=K1MbkoX9yZjMcZOJ7H7nek3OgVoBAjtqorKlcoWRlQ8,939
|
|
211
212
|
aws_lambda_powertools/utilities/parser/models/kinesis_firehose_sqs.py,sha256=VTXGKlo0aBpi8njpOOiTaNFncl0_vRRWmiI7Z6ngKPI,875
|
|
212
213
|
aws_lambda_powertools/utilities/parser/models/lambda_function_url.py,sha256=mV8Hg-KiUsNP9S8VqK9j0p9FN8U80i-rler3MVxacow,611
|
|
213
|
-
aws_lambda_powertools/utilities/parser/models/s3.py,sha256=
|
|
214
|
+
aws_lambda_powertools/utilities/parser/models/s3.py,sha256=YoUD_2p76UUZgd8MKnHUxBOd7uV2AL69iyU2JWy-ISw,3383
|
|
214
215
|
aws_lambda_powertools/utilities/parser/models/s3_batch_operation.py,sha256=pMLUCR-1RRw8IKoZDgdpE_8U_Sjw21_OiKb3rFJHq4g,866
|
|
215
216
|
aws_lambda_powertools/utilities/parser/models/s3_event_notification.py,sha256=3teMeZCi5wPgreXiBffC-5-T-9aF04jSE1Ak2vBrGYE,391
|
|
216
217
|
aws_lambda_powertools/utilities/parser/models/s3_object_event.py,sha256=o_wYIWZp5lZFDSOfor4_7PTx1ptGjKthASP9yyFjYxM,1280
|
|
@@ -219,7 +220,7 @@ aws_lambda_powertools/utilities/parser/models/sns.py,sha256=PV_hBCGl4k8WYsmW0SUH
|
|
|
219
220
|
aws_lambda_powertools/utilities/parser/models/sqs.py,sha256=vz9hOrSufi1axmKtr8dAuXharKCfoMYVwsLGrPVZwBo,2730
|
|
220
221
|
aws_lambda_powertools/utilities/parser/models/vpc_lattice.py,sha256=mgfNtM1lV2EDWlTSKzttO1Zm85lhOm3BadblSd8tR7E,277
|
|
221
222
|
aws_lambda_powertools/utilities/parser/models/vpc_latticev2.py,sha256=ISrqKuwBMduiHhwHNjkkPCX7_AteW8DHXWa5kLw9q8o,1853
|
|
222
|
-
aws_lambda_powertools/utilities/parser/parser.py,sha256
|
|
223
|
+
aws_lambda_powertools/utilities/parser/parser.py,sha256=aDvmtym20-3FcIcw3z3H_mYwhqOxm0TN1TWOx70f3l8,7380
|
|
223
224
|
aws_lambda_powertools/utilities/parser/types.py,sha256=jyubFUfm99CVOFoO7wWeZxiBhGM77IWl3wGqviS9pfM,457
|
|
224
225
|
aws_lambda_powertools/utilities/serialization.py,sha256=xxxgDPQUoIsyATHQ5MxeATqye_MKqMCGXv18TgulrFo,1412
|
|
225
226
|
aws_lambda_powertools/utilities/streaming/__init__.py,sha256=9XrhDFoHnPTzkrKoR3ER_hebDpZ6cV-j4Gj_jTJc5oI,97
|
|
@@ -244,7 +245,7 @@ aws_lambda_powertools/utilities/validation/envelopes.py,sha256=YD5HOFx6IClQgii0n
|
|
|
244
245
|
aws_lambda_powertools/utilities/validation/exceptions.py,sha256=F-Wpkb3yChHDLgDTKaQy4ngpaMXXH3NJxe27UHoM_dA,2043
|
|
245
246
|
aws_lambda_powertools/utilities/validation/validator.py,sha256=x_1qpuKJBuWpgNU-zCD3Di-vXrZfyUu7oA5RmjZjr84,10034
|
|
246
247
|
aws_lambda_powertools/warnings/__init__.py,sha256=vqDVeZz8wGtD8WGYNSkQE7AHwqtIrPGRxuoJR_BBnSs,1193
|
|
247
|
-
aws_lambda_powertools-3.
|
|
248
|
-
aws_lambda_powertools-3.
|
|
249
|
-
aws_lambda_powertools-3.
|
|
250
|
-
aws_lambda_powertools-3.
|
|
248
|
+
aws_lambda_powertools-3.1.1a0.dist-info/LICENSE,sha256=vMHS2eBgmwPUIMPb7LQ4p7ib_FPVQXarVjAasflrTwo,951
|
|
249
|
+
aws_lambda_powertools-3.1.1a0.dist-info/METADATA,sha256=sVoDf60dXq7GV6s3Fa4AoVH-ZLKd0CJ3B9PvwDeaViE,11152
|
|
250
|
+
aws_lambda_powertools-3.1.1a0.dist-info/WHEEL,sha256=WGfLGfLX43Ei_YORXSnT54hxFygu34kMpcQdmgmEwCQ,88
|
|
251
|
+
aws_lambda_powertools-3.1.1a0.dist-info/RECORD,,
|
{aws_lambda_powertools-3.0.2.dev1.dist-info → aws_lambda_powertools-3.1.1a0.dist-info}/LICENSE
RENAMED
|
File without changes
|
{aws_lambda_powertools-3.0.2.dev1.dist-info → aws_lambda_powertools-3.1.1a0.dist-info}/WHEEL
RENAMED
|
File without changes
|